glob-h: New module.
[gnulib.git] / ChangeLog
blob2873cd0fa8a50225f8ee5b8ff4b4c73c125330e1
1 2018-08-07  Bruno Haible  <bruno@clisp.org>
3         glob-h: New module.
4         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
5         replacements.
6         * lib/glob.c: Include <config.h>.
7         * m4/glob_h.m4: New file.
8         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
9         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
10         REPLACE_GLOB_PATTERN_P as appropriate.
11         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
12         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
13         * modules/glob-h: New file.
14         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
15         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
16         lstat, sys_stat. Change conditions.
17         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18         REPLACE_GLOB_PATTERN_P. Set module indicator.
19         (Makefile.am): Remove code that is moved to glob-h.
20         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
21         * modules/posixcheck (Depends-on): Add glob-h.
23 2018-08-06  Bruno Haible  <bruno@clisp.org>
25         Force generation of substitute .h file when C++ support is enabled.
26         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
27         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
28         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
29         FNMATCH_H to non-empty.
30         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
31         ICONV_H to non-empty.
32         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
33         MONETARY_H to non-empty.
34         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
35         non-empty.
37 2018-08-06  Bruno Haible  <bruno@clisp.org>
39         fnmatch-h: Fix test compilation error on mingw (regression from today).
40         * lib/fnmatch.in.h: Fix conditions.
42 2018-08-06  Bruno Haible  <bruno@clisp.org>
44         sys_resource: Relicense under LGPLv2+.
45         John Malmberg's approval is in
46         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
47         * modules/sys_resource (License): Change to LGPLv2+.
49 2018-08-06  Bruno Haible  <bruno@clisp.org>
51         fnmatch-h: Add tests.
52         * tests/test-fnmatch-h.c: New file.
53         * modules/fnmatch-h-tests: New file.
54         * tests/test-fnmatch-h-c++.cc: New file.
55         * modules/fnmatch-h-c++-tests: New file.
57 2018-08-06  Bruno Haible  <bruno@clisp.org>
59         fnmatch-h: New module.
60         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
61         replacements.
62         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
63         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
64         'posixcheck' warning.
65         * m4/fnmatch_h.m4: New file.
66         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
67         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
68         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
69         as appropriate.
70         * modules/fnmatch-h: New file.
71         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
72         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
73         conditions.
74         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
75         indicator.
76         (Makefile.am): Remove code that is moved to fnmatch-h.
77         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
78         REPLACE_FNMATCH.
79         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
80         * modules/posixcheck (Depends-on): Add fnmatch-h.
82 2018-08-06  Bruno Haible  <bruno@clisp.org>
84         Enable more C++ tests.
85         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
86         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
87         * modules/strings-tests (Depends-on): Add strings-c++-tests.
88         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
89         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
91 2018-08-06  Bruno Haible  <bruno@clisp.org>
93         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
94         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
95         getopt.h.
96         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
98 2018-08-05  Bruno Haible  <bruno@clisp.org>
100         utime-h: Generate header file when module 'posixcheck' is in use.
101         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
102         UTIME_H to non-empty.
104 2018-08-05  Bruno Haible  <bruno@clisp.org>
106         monetary: Generate header file when module 'posixcheck' is in use.
107         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
108         use, set MONETARY_H to non-empty.
110 2018-08-05  Bruno Haible  <bruno@clisp.org>
112         iconv-h: Generate header file when module 'posixcheck' is in use.
113         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
114         set ICONV_H to non-empty.
116 2018-08-05  Bruno Haible  <bruno@clisp.org>
118         Optimize the "checking whether ... is declared without a macro" checks.
119         Suggested by Paul Eggert in
120         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
121         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
122         Gnulib module 'posixcheck' is not in use.
124 2018-08-05  Bruno Haible  <bruno@clisp.org>
126         iconv-h: Enable 'posixcheck' warnings.
127         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
128         iconv_open.
129         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
131 2018-08-05  Bruno Haible  <bruno@clisp.org>
133         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
134         * m4/extern-inline.m4: Add more comments.
135         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
136         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
137         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
139 2018-08-04  Bruno Haible  <bruno@clisp.org>
141         New module 'posixcheck'.
142         * modules/posixcheck: New file.
143         * m4/posixcheck.m4: New file.
144         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
145         (Which modules?): Reference it.
147 2018-08-01  Assaf Gordon <assafgordon@gmail.com>
149         dfa: fix memory leak
150         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
152 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
154         ieee754-h: new module
155         It looks like Emacs can use this for some NaN processing.
156         Emacs uses it only on double NaNs so it should be safe.
157         * MODULES.html.sh (func_all_modules): Add ieee754-h.
158         * config/srclist.txt: Mention ieee754.h in a comment.
159         * doc/glibc-headers/ieee754.texi (ieee754.h):
160         Gnulib now has a substitute that should work
161         except for long double and for non-IEEE platforms.
162         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
163         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
165 2018-07-27  Bruno Haible  <bruno@clisp.org>
167         iswcntrl: Mention minor problem on macOS.
168         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
170 2018-07-26  Colin Watson  <cjwatson@debian.org>
172         bootstrap, gnulib-tool: fix translations rsync
173         Previously, we created files such as $pobase/Makefile.in.in and then the
174         subsequent rsync would immediately delete them.
175         * build-aux/bootstrap (po_download_command_format): Avoid deleting
176         non-.po files in target directory when rsyncing translations.
177         * gnulib-tool (func_import): Likewise.
178         * pygnulib/GLImport.py (GLImport.execute): Likewise.
180 2018-07-25  Jim Meyering  <meyering@fb.com>
182         bootstrap: reinstate definition fo gnulib_mk.
183         That variable is used at least by cppi.
184         * build-aux/bootstrap (gnulib_mk): Restore definition.
185         This reverts the deletion from v0.1-1844-gc66dba9ba.
187 2018-07-23  Bruno Haible  <bruno@clisp.org>
189         doc: For module names, use texinfo markup @code{} or @samp{}.
190         * doc/alloca.texi: Mark gnulib module names with @code.
191         * doc/alloca-opt.texi: Likewise.
192         * doc/quote.texi: Likewise.
193         * doc/posix-functions/freopen.texi: Likewise.
194         * doc/posix-functions/open.texi: Likewise.
195         * doc/posix-functions/readlink.texi: Likewise.
196         * doc/posix-functions/readlinkat.texi: Likewise.
197         * doc/posix-functions/stdout.texi: Likewise.
198         * doc/posix-functions/stderr.texi: Likewise.
199         * doc/posix-functions/unlink.texi: Likewise.
200         * doc/posix-functions/unlinkat.texi: Likewise.
201         * doc/posix-functions/utime.texi: Likewise.
202         * doc/posix-functions/utimensat.texi: Likewise.
203         * doc/posix-functions/utimes.texi: Likewise.
204         * doc/posix-headers/stdint.texi: Likewise.
205         * doc/glibc-functions/futimesat.texi: Likewise.
206         * doc/glibc-functions/lutimes.texi: Likewise.
207         * doc/glibc-functions/memmem.texi: Likewise.
209 2018-07-23  Werner LEMBERG  <wl@gnu.org>
211         doc: Avoid some overfull lines in the TeX output.
212         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
213         @example.
214         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
215         newline before the long URL.
216         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
217         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
218         Add line breaks in code snippets.
220 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
222         hard-locale: simplify by removing hard-locale.m4
223         * m4/hard-locale.m4: Remove.
224         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
225         (configure.ac): Do not call gl_HARD_LOCALE.
227         gnulib-tool: limit line length for git send-email
228         * gnulib-tool (func_import): Break actioncmd log line
229         into multiple lines.
231 2018-07-16  Bruno Haible  <bruno@clisp.org>
233         ffs: Ensure declaration on mingw.
234         Reported by Daniel P. Berrangé <berrange@redhat.com>
235         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
236         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
237         also declared.
239 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
241         regex-tests: add dependency
242         * modules/regex-tests (Depends-on): Add gettext-h.
243         This is needed given the recent changes to regex,
244         which no longer depends on gettext-h.
246 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
248         regex: now in sync with glibc
249         * config/srclist.txt: Gnulib and glibc regex code
250         are synchronized again.
252 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
254         renameatu: rename from renameat2
255         It's looking like Glibc will add a renameat2 function
256         that is incompatible with Gnulib renameat2; see:
257         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
258         To help avoid future confusion, rename renameat2 to something else.
259         Use the name 'renameatu', as the Gnulib function is close to the
260         Glibc function.  Perhaps someday there will also be a renameat2
261         Gnulib module, which mimicks the future glibc renameat2, but that
262         can wait as nobody seems to need such a module now.
263         * NEWS: Mention this.
264         * lib/renameatu.c: Rename from lib/renameat2.c.
265         * lib/renameatu.h: Rename from lib/renameat2.h.
266         * modules/renameatu: Rename from modules/renameat2.
267         * modules/renameatu-tests: Rename from modules/renameat2-tests.
268         All uses of "renameat2" in identifiers or file name
269         changed to "renameatu", except for two instances in
270         lib/renameatu.c that deal with the Linux kernel's
271         renameat2 syscall.
273 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
275         gnulib-tool: minor tweaks for --gnu-make
276         * gnulib-tool: Do not allow --gnu-make in test modes,
277         since they all require automake.
278         (func_emit_lib_Makefile_am): Don’t emit automake comment
279         if --gnu-make.
281         regex: work around conditional-dependencies glitch
282         * modules/regex (Depends-on): Add langinfo.
283         Without this change, I had problems building an experimental
284         version of GNU Emacs.  The symptom of the bug was a message
285         ‘./configure: line 12726: test: =: unary operator expected’.
286         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
287         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
288         was unset.  Although gl_FUNC_NL_LANGINFO has
289         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
290         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
291         --conditional-dependencies sometimes arranges for the
292         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
293         code.  Since the regex code includes <langinfo.h> it should be
294         depending on the langinfo module anyway, and this happens to work
295         around the bug, so install that as a workaround for now.  To
296         reproduce the original problem, run the following shell script on
297         the version of Gnulib just before this patch was installed.
298                 rm -fr foo
299                 mkdir foo
300                 cat >foo/configure.ac <<'EOF'
301                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
302                 gl_EARLY
303                 gl_INIT
304                 AC_OUTPUT
305                 EOF
306                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
307                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
308                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
309                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
310                 cd foo
311                 aclocal -I m4
312                 autoconf
313                 ./configure --with-included-regex
315 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
317         wchar: fix bug when checking for ‘inline’
318         I discovered this when looking into using the regex module
319         with Emacs.
320         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
321         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
322         conftest1.c and conftest2.c but these files were not created.
323         As far as I can see, this check never worked and nobody reported
324         it until now, which is a bit worrisome.
326 2018-06-30  Jim Meyering  <meyering@fb.com>
328         bootstrap: s/--option val/--option=val/
329         * build-aux/bootstrap (gnulib_tool_options): Change the
330         spelling of "--option val" pairs to "--option=val", for
331         aesthetics, and also so that this file no longer triggers
332         a common help2man syntax-check warning when copied into
333         projects like grep, gzip, etc.
335 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
337         manywarnings: omit -Wswitch-default
338         This should make things more consistent, as we already ignore
339         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
340         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
341         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
342         Add -Wswitch-default.
343         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
344         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
345         Remove -Wswitch-default.
347         regex: revert most trimming
348         Problems reported by Bruno Haible in:
349         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
350         * modules/regex (Depends-on): Add lock, memcmp, memmove,
351         and wctype back in.  lock because regex users shouldn’t
352         need to know that regex needs locking, and the rest because
353         gnulib-tool should ordinarily ignore them anyway.
355 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
357         regex: trim module dependencies
358         * modules/regex (Depends-on): Remove gettext-h and lock,
359         since the regex code should work OK without these modules,
360         and Emacs uses it that way.  Also remove memcmp, memmove,
361         and wctype, as these modules are obsolete and should not be
362         needed any more.
364 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
366         regex: glibc does not use intprops.h
367         Maybe we can talk glibc into using intprops.h someday, but
368         now doesn’t seem to be a good time.
369         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
370         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
371         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
373 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
375         regex: port to recently proposed glibc regex merge
376         This patch is inspired by Adhemerval Zanella's recent proposal
377         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
378         to merge glibc and Gnulib regex.  It aims to simplify the merge on
379         the glibc side, without keeping Gnulib portable.
380         * lib/regex.h: Fix a problem with glibc installed-header checking,
381         as follows:
382         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
383         (_Restrict_arr_): Prefer __restrict_arr if defined,
384         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
385         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
386         (build_wcs_upper_buffer, build_upper_buffer)
387         (re_string_translate_buffer, re_string_context_at):
388         Move decls here from lib/regex_internal.h, for glibc internal tests.
389         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
390         glibc BZ #18496.
391         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
392         -Wunused-value.
393         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
394         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
395         (bitset_mask): Now static inline, and without any __attribute__
396         ((unused)) decoration, for glibc internal tests.
398 2018-06-25  Bruno Haible  <bruno@clisp.org>
400         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
401         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
402         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
403         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
404         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
405         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
406         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
407         / -lthread / -lpth does not get optimized away by a preceding
408         --as-needed option.
410 2018-06-25  Bruno Haible  <bruno@clisp.org>
412         Continue to use spaces for indentation, not tabs.
413         * MODULES.html.sh: Untabify.
414         * doc/regex.texi: Likewise.
415         * lib/acl-internal.c: Likewise.
416         * lib/dfa.c: Likewise.
417         * lib/exclude.c: Likewise.
418         * lib/exclude.h: Likewise.
419         * lib/get-permissions.c: Likewise.
420         * lib/gettimeofday.c: Likewise.
421         * lib/parse-datetime.y: Likewise.
422         * lib/pselect.c: Likewise.
423         * lib/set-permissions.c: Likewise.
424         * lib/time.in.h: Likewise.
425         * m4/canonicalize.m4: Likewise.
426         * m4/gc.m4: Likewise.
427         * m4/gnulib-common.m4: Likewise.
428         * m4/pthread_sigmask.m4: Likewise.
429         * m4/vararrays.m4: Likewise.
430         * tests/test-digest.h: Likewise.
431         * tests/test-fcntl-h.c: Likewise.
432         * tests/test-timespec.c: Likewise.
433         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
435 2018-06-25  Bruno Haible  <bruno@clisp.org>
437         manywarnings: Don't enable -Wjump-misses-init warnings by default.
438         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
439         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
440         -Wjump-misses-init.
442 2018-06-25  Jim Meyering  <meyering@fb.com>
444         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
445         * lib/acl-internal.h (free_permission_context): Remove that
446         attribute directive.  Otherwise, it would provoke this from GCC 9:
447         lib/acl-internal.h:300:3: error: 'const' attribute on function \
448           returning 'void' [-Werror=attributes]
450 2018-06-24  Jim Meyering  <meyering@fb.com>
452         parse-datetime: accommodate gcc-4.8.5
453         Bruno Haible reported the build failure in
454         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
455         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
456         on declaration of new local.
458 2018-06-24  Bruno Haible  <bruno@clisp.org>
460         af_alg: Fail in continuable manner on Linux/powerpc64le.
461         Reported by Assaf Gordon <assafgordon@gmail.com>
462         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
463         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
464         byte send() as the first round.
466 2018-06-24  Bruno Haible  <bruno@clisp.org>
468         af_alg: Fix state of stream after sendfile() succeeds.
469         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
470         the stream is correctly positioned afterwards.
471         * modules/crypto/af_alg (Depends-on): Add fflush.
472         * tests/test-digest.h (test_digest_on_files): Verify that after the
473         operation the stream is positioned at end of file.
475 2018-06-24  Jim Meyering  <meyering@fb.com>
477         canon-host: take GCC9's advice rather than ignoring warning
478         Pádraig Brady suggested not to ignore this GCC9 advice.
479         * lib/canon-host.c: Undo preceding change.
480         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
482         parse-datetime.y: avoid spurious GCC 9 warning
483         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
484         a function local prior to the first "goto fail".  The prior use would
485         evoke this:
486         parse-datetime.y: In function 'parse_datetime2':
487         parse-datetime.y:1791:19: error: jump skips variable initialization \
488           [-Werror=jump-misses-init]
489         parse-datetime.y:2385:2: note: label 'fail' defined here
490         parse-datetime.y:188:43: note: '({anonymous})' declared here
491         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
493         canon-host.c: avoid spurious GCC 9 warning
494         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
496         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
497         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
498         * m4/manywarnings.m4: Remove them.
499         Otherwise, building coreutils, I would see this:
500         cc1: error: deprecated command line option '-Wchkp' [-Werror]
501         cc1: error: -Wabi won't warn about anything [-Werror=abi]
502         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
503           which is also used by default
504         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
506 2018-06-24  Bruno Haible  <bruno@clisp.org>
508         af_alg tests: Add another test.
509         * tests/test-digest.h (test_digest_on_files): Also check a large file
510         with a skipped header.
511         * tests/test-md5.c: Include macros.h.
512         * tests/test-sha1.c: Likewise.
513         * tests/test-sha256.c: Likewise.
514         * tests/test-sha512.c: Likewise.
515         * modules/crypto/md5-tests (Files): Add tests/macros.h.
516         * modules/crypto/sha1-tests (Files): Likewise.
517         * modules/crypto/sha256-tests (Files): Likewise.
518         * modules/crypto/sha512-tests (Files): Likewise.
520 2018-06-24  Pádraig Brady  <P@draigBrady.com>
522         maint: clarify comments about sticky EOF
523         * lib/af_alg.c: Be more direct that we can't
524         assume stickiness of EOF for portability reasons.
525         * lib/md5.c: Clarify that this isn't just a glibc issue.
526         * lib/sha1.c: Likewise.
527         * lib/sha256.c: Likewise.
528         * lib/sha512.c: Likewise.
530 2018-06-24  Bruno Haible  <bruno@clisp.org>
532         af_alg: Comment and style improvements.
533         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
534         (afalg_buffer, afalg_stream): Improve comments.
536 2018-06-24  Pádraig Brady  <P@draigBrady.com>
538         af_alg: disable kernel hash functions by default
539         All the kernel routines were seen to be significantly slower
540         with these relatively recent components on an i3-2310M system:
541           kernel-4.10.6-200.fc25.x86_64
542           openssl-1.0.2m-1.fc25.x86_64
543         sha1 was nearly twice as slow in the kernel for example.
544         Further considerations why this should not be the default, at:
545         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
547         * m4/af_alg.m4: Require --with-linux-crypto to enable.
548         * m4/gl-openssl.m4: Tweak accordingly.
550 2018-06-24  Pádraig Brady  <P@draigBrady.com>
552         af_alg: avoid hangs when reading from streams
553         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
554         and thus avoid doing a fread() when feof() is set.
555         * lib/md5.c: Ensure feof() is called before fread().
556         * lib/sha1.c: Likewise.
557         * lib/sha256.c: Likewise.
558         * lib/sha512.c: Likewise.
560 2018-06-24  Pádraig Brady  <P@draigBrady.com>
562         af_alg: fix error handling when hash not returned
563         * lib/af_alg.c (afalg_stream): Handle the case where we've
564         successfully written data to the kernel in the read/write loop,
565         but the kernel doesn't respond with the hash.
567 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
569         libc-config: merge from glibc
570         * lib/cdefs.h (__inline, __restrict):
571         Copy from current glibc.  This fixes glibc bug 17721,
572         which Gnulib had already fixed in a different way.
573         (__nonnull): Lessen the distance from glibc by using the
574         glibc definition inside an ‘#ifndef __nonnull’.
575         (__attribute_nonstring__): New macro, copied from
576         current glibc.
577         * lib/libc-config.h (__attribute_nonstring__): New undef.
578         (__restrict): Remove; workaround no longer needed.
579         Keep the __inline workaround, though, as it uses HAVE___INLINE to
580         support more compilers than the glibc __inline can.
582 2018-06-24  Bruno Haible  <bruno@clisp.org>
584         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
585         * lib/mbrtowc.c (enc_t): New enum type.
586         (locale_enc, locale_enc_cached): New functions.
587         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
588         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
589         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
590         instead.
591         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
592         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
593         * modules/wcwidth (configure.ac): Invoke it.
595 2018-06-24  Bruno Haible  <bruno@clisp.org>
597         wchar-single: Fix test failure in wcwidth tests.
598         * tests/test-wcwidth.c (main): If the wchar-single module is present,
599         skip the tests in the C locale.
601 2018-06-23  Pádraig Brady  <P@draigBrady.com>
603         crypto: mention --without-linux-crypto in --with-openssl --help
604         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
605         routines take precedence in --with-openssl help output.
607 2018-06-23  Pádraig Brady  <P@draigBrady.com>
609         wchar-single: a new module to enable optimizations in wchar replacements
610         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
611         GNULIB_WCHAR_SINGLE is enabled.
612         * lib/wcwidth.c (wcwidth): Likewise.
614 2018-06-23  Bruno Haible  <bruno@clisp.org>
616         libc-config: Fix conflict with FreeBSD include files.
617         * lib/cdefs.h (__nonnull): Remove definition.
618         * lib/libc-config.h (__nonnull): Remove undefinition.
620 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
622         random_r: do not crash if state is unaligned
623         Problem reported by Bruce Korb in:
624         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
625         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
626         with 'cc -O2 -xmemalign=8s'.
627         * lib/random_r.c: Include string.h, for memcpy.
628         (get_int32, set_int32): New functions.
629         (__srandom_r, __initstate_r, __setstate_r, __random_r):
630         Use them to avoid assumption that state pointer is aligned.
631         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
632         * tests/test-random_r.c (test_failed): New function.
633         (main): Use it, to test for alignment bugs.
635         random_r: omit unnecessary include
636         * lib/random_r.c: Do not include limits.h.
638         random, random_r: merge from glibc
639         * lib/random.c, lib/random_r.c:
640         Include libc-config.h if !_LIBC, not config.h unilaterally.
641         * lib/random.c:
642         Do not include stdint.h or time.h; not needed.
643         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
644         (unsafe_state): Rename from generator.  All uses changed.
645         Use C99-style initializers.
646         (__random, __srandom, __initstate, __setstate): Rename from
647         non-underscored version, but define it to non-underscored version
648         on Gnulib.  Add a lock.
649         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
650         Likewise.
651         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
652         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
653         (__srandom_r): Use int32_t instead of long int where int32_t will do.
654         (__random_r): Use uint32 to fix glibc bug 17343.
655         * modules/random, modules/random_r (Depends-on): Add libc-config.
656         Depend on stdint only if $HAVE_RANDOM = 0.
658 2018-06-19  Jim Meyering  <meyering@fb.com>
660         README-release: also run any check-very-expensive tests
661         * top/README-release: Adjust instructions so they run the
662         check-very-expensive tests when there is such a target.
664 2018-06-18  Bruno Haible  <bruno@clisp.org>
666         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
667         * m4/pthread_rwlock_rdlock.m4: Add comment.
668         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
669         are reader-preferring in glibc.
670         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
671         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
673 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
675         crypto: use byteswap
676         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
677         * lib/sm3.c: Include <byteswap.h>.
678         (SWAP): Use its macros rather than reinventing the wheel.
679         * modules/crypto/md4, modules/crypto/md5-buffer:
680         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
681         * modules/crypto/sha512-buffer, modules/crypto/sm3:
682         (Depends-on): Add byteswap.
684 2018-06-17  Pádraig Brady  <P@draigBrady.com>
686         gendocs.sh: fix support for legacy --texi2html
687         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
688         to the default makeinfo invocation.
689         Reported by Bruce Korb
691 2018-06-17  Bruno Haible  <bruno@clisp.org>
693         gettext po infrastructure: Update from current gettext git.
694         Reported by Akim Demaille <akim@lrde.epita.fr>.
695         * build-aux/po/Makefile.in.in: Update from current gettext git.
696         * build-aux/po/remove-potcdate.sin: Likewise.
697         * config/srclist.txt: Temporarily disable sync for these files.
699 2018-06-17  Bruno Haible  <bruno@clisp.org>
701         getloadavg: Return 0 on Windows without Cygwin.
702         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
704 2018-06-17  Paul Smith  <psmith@gnu.org>
706         getloadavg: Allow building on Windows without Cygwin
707         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
708         * m4/getloadavg.m4: Check for unistd.h.
710 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
712         Port crypto/af_alg to GCC 4.8.4
713         Problem reported by Peter Simons in:
714         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
715         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
717 2018-05-27  Colin Watson  <cjwatson@debian.org>
719         bootstrap: document source fetching in --help
720         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
722 2018-04-09  Colin Watson  <cjwatson@debian.org>
724         bootstrap: allow non-submodule control of gnulib
725         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
726         bootstrap.conf when fetching gnulib using "git clone" or via
727         GNULIB_SRCDIR.
729 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
731         crypto: omit stream ops Emacs doesn’t need
732         * lib/md5.c (md5_stream):
733         * lib/sha1.c (sha1_stream):
734         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
735         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
736         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
737         defined.  Emacs needs this, as it does not use the stream
738         operations and doesn’t need all the af_alg stuff we’ve recently
739         added.  Perhaps a similar change is needed to the other crypto
740         modules, but this patch changes only those needed for Emacs.
741         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
742         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
743         New modules, used by Emacs.
744         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
745         * modules/crypto/sha512: Rewrite to depend on the new modules.
747 2018-05-20  Pádraig Brady  <P@draigBrady.com>
749         fts: avoid a memory leak edge case
750         * lib/fts.c (fts_open): Set an appropriate fts_level
751         so that an immediate fts_close() will free the allocation.
752         * tests/test-fts.c (fts_dealloc): Add a test case which
753         will trigger under valgrind or address sanitizer.
754         Fixes https://bugs.gnu.org/31439
756 2018-05-20  Bruno Haible  <bruno@clisp.org>
758         wcwidth tests: Fix link error.
759         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
760         $(LIBUNISTRING).
762 2018-05-20  Bruno Haible  <bruno@clisp.org>
764         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
765         * modules/regex (Files): Add m4/glibc21.m4.
767 2018-05-20  Bruno Haible  <bruno@clisp.org>
769         localcharset: Optimize.
770         * lib/localcharset.c (alias_table): Comment out no-op mappings for
771         platforms where these don't matter. This reduces the table size,
772         which in turn reduces the lookup time.
774 2018-05-19  Bruno Haible  <bruno@clisp.org>
776         localcharset: Map the locale encodings found in newer OSes.
777         * lib/localcharset.c (alias_table): Add mapping for locale encodings
778         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
779         IRIX 6.5, Minix 3.3.
780         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
782 2018-05-19  Bruno Haible  <bruno@clisp.org>
784         localcharset: Move mapping tables into the code. Use a binary search.
785         * lib/localcharset.h: Document the GNU canonical names for character
786         encodings here.
787         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
788         relocatable.h, configmake.h.
789         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
790         macros.
791         (charset_aliases): Remove variable.
792         (get_charset_aliases): Remove function.
793         (struct table_entry): New type.
794         (alias_table, locale_table): New constants.
795         (locale_charset): Use the alias_table or locale_table to get the
796         canonicalized encoding name.
797         * lib/config.charset: Remove file.
798         * lib/ref-add.sin: Remove file.
799         * lib/ref-del.sin: Remove file.
800         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
801         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
802         * modules/localcharset (Notice): Remove.
803         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
804         glibc21.m4.
805         (Depends-on): Remove configmake.
806         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
807         (Makefile.am): Simplify.
808         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
810 2018-05-19  Bruno Haible  <bruno@clisp.org>
812         localcharset: Add a manual test.
813         * tests/test-localcharset.c: New file.
814         * modules/localcharset-tests: New file.
816 2018-05-19  Bruno Haible  <bruno@clisp.org>
818         localcharset: Remove support for obsolete platforms.
819         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
820         Mac OS X 10.2. Comment out dubious entry for Solaris.
822 2018-05-19  Jim Meyering  <meyering@fb.com>
824         gnupload: adjust comment
825         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
826         more likely we'll remove the just-added code in a year or two.
828 2018-05-19  Bruno Haible  <bruno@clisp.org>
830         gnupload: Fix "gpg-agent is not available in this session" error.
831         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
833 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
835         crypto/af_alg: fix --help
836         * m4/af_alg.m4: Avoid spurious newline in --help output.
838 2018-05-13  Bruno Haible  <bruno@clisp.org>
840         nl_langinfo: Fix compilation error on Android.
841         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
842         INT_CURR_SYMBOL, etc. only if these items are defined.
844 2018-05-13  Bruno Haible  <bruno@clisp.org>
846         truncate: Fix compilation error on Android.
847         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
848         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
849         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
850         HAVE_TRUNCATE.
851         * modules/truncate: Likewise.
852         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
853         not HAVE_TRUNCATE.
854         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
855         HAVE_TRUNCATE.
856         * doc/posix-functions/truncate.texi: Mention the issue.
858 2018-05-13  Bruno Haible  <bruno@clisp.org>
860         pthread: Fix compilation error on Android.
861         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
862         recursive inclusion of this file.
864 2018-05-13  Bruno Haible  <bruno@clisp.org>
866         posix_spawn: Fix compilation error on Android.
867         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
868         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
869         (posix_spawn_file_actions_t): Consider also the case
870         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
872 2018-05-13  Bruno Haible  <bruno@clisp.org>
874         tsearch: Move from K&R C to ANSI C.
875         * lib/tsearch.c (tfind): Convert definition to ANSI C.
877 2018-05-13  Bruno Haible  <bruno@clisp.org>
879         tsearch: Fix compilation error on Android.
880         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
881         is 0.
882         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
883         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
884         GNULIB_defined_tsearch is true.
885         (twalk): Define only if GNULIB_defined_twalk is true.
886         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
887         is 0.
888         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
889         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
890         * modules/search (Makefile.am): Substitute HAVE_TWALK.
892 2018-05-13  Bruno Haible  <bruno@clisp.org>
894         imaxdiv: Fix compilation error on Android.
895         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
896         is not defined.
897         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
898         HAVE_DECL_IMAXDIV, is 0.
899         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
900         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
902 2018-05-13  Bruno Haible  <bruno@clisp.org>
904         Support selective inclusion mechanism of recent mingw.org header files.
905         Reported by Eli Zaretskii <eliz@gnu.org>.
906         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
907         __need_ssize_t, or __need_time_t is defined, just include the system's
908         <sys/types.h>.
909         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
910         include the system's <locale.h>.
912 2018-05-13  Bruno Haible  <bruno@clisp.org>
914         Avoid compilation error due to 'mmap' on Android.
915         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
916         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
917         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
918         Undefine on Android.
920 2018-05-13  Bruno Haible  <bruno@clisp.org>
922         Add cross-compilation guesses for Linux systems without glibc.
923         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
924         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
925         * m4/link.m4 (gl_FUNC_LINK): Likewise.
926         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
927         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
928         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
929         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
930         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
931         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
932         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
933         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
934         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
935         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
936         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
937         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
938         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
939         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
940         * m4/utimens.m4 (gl_UTIMENS): Likewise.
942 2018-05-13  Bruno Haible  <bruno@clisp.org>
944         getpagesize: Fix compilation error on Android.
945         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
946         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
947         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
948         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
949         HAVE_GETPAGESIZE accordingly.
950         * modules/getcwd (Files): Add m4/getpagesize.m4.
952 2018-05-13  Bruno Haible  <bruno@clisp.org>
954         tcgetsid: Fix compilation error on Android.
955         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
956         AC_CHECK_FUNC.
958 2018-05-13  Bruno Haible  <bruno@clisp.org>
960         getpass: Fix configure test for Android.
961         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
962         AC_CHECK_FUNC.
964 2018-05-13  Bruno Haible  <bruno@clisp.org>
966         ffs: Fix compilation error on Android.
967         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
969 2018-05-13  Bruno Haible  <bruno@clisp.org>
971         mkfifo: Fix compilation error on Android.
972         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
973         AC_CHECK_FUNC.
975 2018-05-13  Bruno Haible  <bruno@clisp.org>
977         c-strtod: Fix configure test for Android.
978         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
979         AC_CHECK_FUNC.
981 2018-05-13  Bruno Haible  <bruno@clisp.org>
983         random: Fix compilation error on Android.
984         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
985         AC_CHECK_FUNC.
987 2018-05-13  Bruno Haible  <bruno@clisp.org>
989         grantpt: Fix compilation error on Android.
990         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
991         AC_CHECK_FUNC.
993 2018-05-13  Bruno Haible  <bruno@clisp.org>
995         stdioext: Fix compilation errors with newer Android headers.
996         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
997         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
998         fallbacks for Android.
999         * lib/fpending.c: Update comments.
1000         * lib/fpurge.c: Likewise.
1001         * lib/freadable.h: Likewise.
1002         * lib/freadable.c: Likewise.
1003         * lib/freadahead.c: Likewise.
1004         * lib/freading.h: Likewise.
1005         * lib/freadptr.c: Likewise.
1006         * lib/fseterr.c: Likewise.
1007         * lib/fwritable.h: Likewise.
1008         * lib/fwritable.c: Likewise.
1009         * lib/fwriting.h: Likewise.
1010         * lib/fwriting.c: Likewise.
1012 2018-05-13  Bruno Haible  <bruno@clisp.org>
1014         doc: Add info about Android versions 2.0 to 8.1.
1015         * doc/**/*.texi: Add info about functions in all released versions of
1016         Bionic.
1018 2018-05-12  Bruno Haible  <bruno@clisp.org>
1020         fseeko: On mingw, don't use the hidden function _fseeki64.
1021         Reported by Eli Zaretskii <eliz@gnu.org>.
1022         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
1023         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
1025 2018-05-12  Bruno Haible  <bruno@clisp.org>
1027         glob: Choose 'dirent_type' in a way that works better on mingw.
1028         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
1029         * lib/glob.c (dirent_type): Define as uint_fast32_t.
1031 2018-05-12  Bruno Haible  <bruno@clisp.org>
1033         execute, spawn-pipe: Avoid warning about redefining 'close'.
1034         Reported by Eli Zaretskii <eliz@gnu.org>.
1035         * lib/execute.c: Undefine 'close' before redefining it.
1036         * lib/spawn-pipe.c: Likewise.
1038 2018-05-12  Bruno Haible  <bruno@clisp.org>
1040         nanosleep: Avoid test failure on mingw when it has nanosleep.
1041         Reported by Eli Zaretskii <eliz@gnu.org>.
1042         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
1043         If it does not exist, use a simpler test program that does not call
1044         alarm().
1046 2018-05-10  Bruno Haible  <bruno@clisp.org>
1048         lock, cond, thread, tls: Use a different symbol as libpthread witness.
1049         Reported by Devin Hussey <husseydevin@gmail.com>.
1050         Based on a patch by Paul Eggert.
1051         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
1052         as witness of libpthread.
1053         * lib/glthread/cond.h (pthread_in_use): Likewise.
1054         * lib/glthread/thread.h (pthread_in_use): Likewise.
1055         * lib/glthread/tls.h (pthread_in_use): Likewise.
1057 2018-05-10  Bruno Haible  <bruno@clisp.org>
1059         cond tests: Fix compilation error on Solaris.
1060         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
1061         macro.
1063 2018-05-10  Bruno Haible  <bruno@clisp.org>
1065         doc: Add partial info about Android 4.3.
1066         * doc/*-functions/*.texi: Add info about functions that were added
1067         to Bionic between Android 4.3 and Android 9.0.
1069 2018-05-10  Bruno Haible  <bruno@clisp.org>
1071         doc: Add info about Android 9.0.
1072         * doc/**/*.texi: Add info about functions and headers in Bionic from
1073         Android 9.0.
1075 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
1077         af_alg: fix my typo in afalg_buffer
1078         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
1079         (afalg_stream): Simplify and avoid the need for a runtime test
1080         at the end.
1082         af_alg: recover better from crypto failures
1083         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
1084         input stream is seekable, by repositioning the stream back to
1085         where it was, possibly by just calling sendfile with an offset
1086         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
1087         cases, which lets our callers try again with user-mode code.
1088         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
1089         instead of on fflush and lseek.
1091         af_alg: distiguish I/O errors better
1092         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
1093         not -EIO, if it’s OK for the caller to try again with user-mode code.
1094         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
1095         some other error number) if fflush fails, as the caller should not
1096         try again that case.
1098         af_alg: avoid gotos
1099         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
1100         gotos, as they were a source of unreliability and made the code a
1101         bit harder to follow.
1103         af_alg: don’t leak file descriptors into children
1104         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
1105         This code should be compiled only on recent GNU/Linux platforms
1106         so we shouldn’t have to also depend on the accept4 module.
1108         af_alg: coalesce socket creation
1109         * lib/af_alg.c (alg_socket): New function.
1110         (afalg_buffer, afalg_stream): Use it.  This avoids some
1111         code duplication and gotos.
1113         af_alg: fix file descriptor leak
1114         * lib/af_alg.c (afalg_stream): Close leak.
1116         af_alg: Pacify --enable-gcc-warnings on GCC 8
1117         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
1118         and checking to pacify gcc -Wjump-misses-init on GCC 8.
1120 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1122         af_alg: Pacify --enable-gcc-warnings
1123         Problem reported by Assaf Gordon in:
1124         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
1125         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
1126         gcc -Wjump-misses-init.
1127         * lib/sha512.c (shaxxx_stream): Now static.
1129 2018-05-06  Bruno Haible  <bruno@clisp.org>
1131         af_alg: Add ability to use Linux kernel crypto API on data in memory.
1132         * lib/af_alg.h (afalg_buffer): New declaration.
1133         * lib/af_alg.c (afalg_buffer): New function.
1135 2018-05-06  Bruno Haible  <bruno@clisp.org>
1137         af_alg: Avoid warnings.
1138         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
1139         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
1141 2018-05-06  Bruno Haible  <bruno@clisp.org>
1143         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
1144         * tests/bench-digest.h: New file.
1145         * tests/bench-md5.c: New file.
1146         * tests/bench-sha1.c: New file.
1147         * tests/bench-sha224.c: New file.
1148         * tests/bench-sha256.c: New file.
1149         * tests/bench-sha384.c: New file.
1150         * tests/bench-sha512.c: New file.
1151         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
1152         tests/bench-digest.h.
1153         (Depends-on): Add getrusage, gettimeofday.
1154         (Makefile.am): Add variables to build bench-md5.
1155         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
1156         tests/bench-digest.h.
1157         (Depends-on): Add getrusage, gettimeofday.
1158         (Makefile.am): Add variables to build bench-sha1.
1159         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
1160         tests/bench-sha256.c, tests/bench-digest.h.
1161         (Depends-on): Add getrusage, gettimeofday.
1162         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
1163         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
1164         tests/bench-sha512.c, tests/bench-digest.h.
1165         (Depends-on): Add getrusage, gettimeofday.
1166         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
1168 2018-05-06  Bruno Haible  <bruno@clisp.org>
1170         af_alg: Fix a resource leak.
1171         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
1172         New local variable 'result'.
1174 2018-05-06  Bruno Haible  <bruno@clisp.org>
1176         af_alg: Fix bug with streams that are not at position 0.
1177         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
1178         assume that the stream is positioned at position 0.
1179         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
1180         of the stream.
1181         * lib/md5.h (md5_stream): Likewise.
1182         * lib/sha1.h (sha1_stream): Likewise.
1183         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
1184         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
1185         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
1187         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
1188         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
1189         stream that is not positioned at the beginning.
1191 2018-05-06  Bruno Haible  <bruno@clisp.org>
1193         af_alg: Add configure option to enable/disable use of Linux crypto API.
1194         Suggested by Assaf Gordon <assafgordon@gmail.com>.
1195         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
1196         USE_LINUX_CRYPTO_API.
1197         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
1198         * lib/af_alg.c: Likewise.
1200 2018-05-06  Bruno Haible  <bruno@clisp.org>
1202         Followup to 'af_alg: New module.'.
1203         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
1204         * modules/crypto/sha1 (Depends-on): Likewise.
1205         * modules/crypto/sha256 (Depends-on): Likewise.
1206         * modules/crypto/sha512 (Depends-on): Likewise.
1208 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1210         crypto/{md5,sha1,sha256,sha512}: simplify
1211         * lib/md5.c (md5_stream):
1212         * lib/sha1.c (sha1_stream):
1213         * lib/sha256.c (shaxxx_stream):
1214         Simplify, partly by assuming C99.
1215         * lib/sha256.c (shaxxx_stream):
1216         New function, which implements both sha256 and sha224.
1217         Simplify, partly by assuming C99.
1218         (sha256_stream, sha224_stream):
1219         Use it to avoid code duplication, removing a FIXME.
1220         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
1221         Likewise.
1223         af_alg: Improve comments.
1224         * lib/af_alg.h: Use imperatives and tighten up wording.
1226 2018-05-05  Bruno Haible  <bruno@clisp.org>
1228         af_alg: Improve comments.
1229         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
1231 2018-05-05  Bruno Haible  <bruno@clisp.org>
1233         af_alg: New module.
1234         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
1235         * lib/af_alg.c: Include "af_alg.h" before the other header files.
1236         * lib/md5.c: Include "af_alg.h" unconditionally.
1237         (md5_stream): Invoke afalg_stream unconditionally.
1238         * lib/sha1.c: Include "af_alg.h" unconditionally.
1239         (sha1_stream): Invoke afalg_stream unconditionally.
1240         * lib/sha256.c: Include "af_alg.h" unconditionally.
1241         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
1242         * lib/sha512.c: Include "af_alg.h" unconditionally.
1243         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
1244         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
1245         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
1246         * modules/crypto/af_alg: New file.
1247         * modules/crypto/md5 (Files): Remove files that are now in the
1248         'crypto/af_alg' module.
1249         (Depends-on): Add crypto/af_alg.
1250         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
1251         (Makefile.am): Don't mention af_alg.c here.
1252         * modules/crypto/sha1 (Files): Remove files that are now in the
1253         'crypto/af_alg' module.
1254         (Depends-on): Add crypto/af_alg.
1255         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
1256         (Makefile.am): Don't mention af_alg.c here.
1257         * modules/crypto/sha256 (Files): Remove files that are now in the
1258         'crypto/af_alg' module.
1259         (Depends-on): Add crypto/af_alg.
1260         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
1261         (Makefile.am): Don't mention af_alg.c here.
1262         * modules/crypto/sha512 (Files): Remove files that are now in the
1263         'crypto/af_alg' module.
1264         (Depends-on): Add crypto/af_alg.
1265         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
1266         (Makefile.am): Don't mention af_alg.c here.
1268 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1270         crypto tests: pacify GCC
1271         * tests/test-digest.h (test_digest_on_files):
1272         Don’t assume digest size fits in int (!).
1274         af_alg: minor style improvements
1275         * lib/af_alg.c (afalg_stream): Prefer C99 style
1276         decl-after-statement, since we’re already assuming C99.  Clarify
1277         by strengthening the bind test and omit unnecessary assignment.
1279 2018-05-05  Bruno Haible  <bruno@clisp.org>
1281         af_alg: Fix bug on empty files.
1282         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
1283         stream is empty.
1285 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1287         sys-limits.h: new file for crypto and safe I/O
1288         * lib/af_alg.c: Include sys-limits.h.
1289         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
1290         (afalg_stream): Also reject negative sizes for sendfile; they
1291         should not happen and the code is a bit cleaner and faster this way.
1292         * lib/safe-read.c: Include sys-limits.h.
1293         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
1294         * lib/sys-limits.h: New file, with values and commentary derived
1295         from the old safe-read.c and from GNU Emacs sysdep.c.
1296         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
1297         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
1298         Add lib/sys-limits.h to Files section.
1300 2018-05-05  Bruno Haible  <bruno@clisp.org>
1302         af_alg: Improve function signature.
1303         * lib/af_alg.h (afalg_stream): Swap second and third argument.
1304         * lib/af_alg.c (afalg_stream): Likewise.
1305         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
1307 2018-05-05  Bruno Haible  <bruno@clisp.org>
1309         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
1310         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
1311         * modules/crypto/sha1 (Depends-on): Likewise.
1312         * modules/crypto/sha256 (Depends-on): Likewise.
1313         * modules/crypto/sha512 (Depends-on): Likewise.
1315 2018-05-05  Bruno Haible  <bruno@clisp.org>
1317         crypto/{md5,sha1,sha256,sha512}: Fix module description.
1318         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
1319         * modules/crypto/sha1 (Depends-on): Likewise.
1320         * modules/crypto/sha256 (Depends-on): Likewise.
1321         * modules/crypto/sha512 (Depends-on): Likewise.
1323 2018-05-05  Bruno Haible  <bruno@clisp.org>
1325         af_alg: Add documentation.
1326         * lib/af_alg.h: Add comments.
1328 2018-05-05  Bruno Haible  <bruno@clisp.org>
1330         sha512: Add tests.
1331         * tests/test-sha512.c: New file.
1332         * modules/crypto/sha512-tests: New file.
1334 2018-05-05  Bruno Haible  <bruno@clisp.org>
1336         sha256: Add tests.
1337         * tests/test-sha256.c: New file.
1338         * modules/crypto/sha256-tests: New file.
1340 2018-05-05  Bruno Haible  <bruno@clisp.org>
1342         sha1 tests: Add test for sha1_stream.
1343         * tests/test-sha1.c: Include test-digest.h.
1344         (main): Invoke test_digest_on_files on 'sha1_stream'.
1345         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
1347 2018-05-05  Bruno Haible  <bruno@clisp.org>
1349         md5 tests: Add test for md5_stream.
1350         * tests/test-digest.h: New file.
1351         * tests/test-md5.c: Include test-digest.h.
1352         (main): Invoke test_digest_on_files on 'md5_stream'.
1353         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
1355 2018-04-28  Matteo Croce  <mcroce@redhat.com>
1357         md5sum: Use AF_ALG when available.
1358         * lib/md5.c: Include af_alg.h.
1359         (md5_stream): Use afalg_stream when available.
1360         * modules/crypto/md5 (Files): Add the af_alg files.
1361         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
1362         (Makefile.am): Add af_alg.c.
1364 2018-04-28  Matteo Croce  <mcroce@redhat.com>
1366         sha512sum: Use AF_ALG when available.
1367         * lib/sha512.c: Include af_alg.h.
1368         (sha512_stream, sha384_stream): Use afalg_stream when available.
1369         * modules/crypto/sha512 (Files): Add the af_alg files.
1370         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
1371         (Makefile.am): Add af_alg.c.
1373 2018-04-28  Matteo Croce  <mcroce@redhat.com>
1375         sha256sum: Use AF_ALG when available.
1376         * lib/sha256.c: Include af_alg.h.
1377         (sha256_stream, sha224_stream): Use afalg_stream when available.
1378         * modules/crypto/sha256 (Files): Add the af_alg files.
1379         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
1380         (Makefile.am): Add af_alg.c.
1382 2018-04-28  Matteo Croce  <mcroce@redhat.com>
1384         sha1sum: Use AF_ALG when available.
1385         * lib/af_alg.h: New file.
1386         * lib/af_alg.c: New file.
1387         * lib/sha1.c: Include af_alg.h.
1388         (sha1_stream): Use afalg_stream when available.
1389         * m4/linux-if-alg.m4: New file.
1390         * modules/crypto/sha1 (Files): Add the new files.
1391         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
1392         (Makefile.am): Add af_alg.c.
1394 2018-05-05  Bruno Haible  <bruno@clisp.org>
1396         all: Replace more http URLs by https URLs.
1397         * lib/localename.c: Use https: URL.
1398         * lib/timespec.h: Likewise.
1400 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
1402         maint: port more modules to GCC 8
1403         * lib/dirname.h (base_name):
1404         * lib/exclude.h (new_exclude):
1405         * lib/xstrndup.h (xstrndup):
1406         Add malloc attribute.
1407         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
1408         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
1409         This pacifies GCC 8.
1410         * m4/gnulib-common.m4 (gl_COMMON_BODY):
1411         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
1413 2018-05-03  Bruno Haible  <bruno@clisp.org>
1415         Simplify code. Drop support for Borland C++ on Windows.
1416         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
1417         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
1418         'defined _WIN32'.
1419         * lib/canonicalize-lgpl.c: Likewise.
1420         * lib/classpath.c: Likewise.
1421         * lib/clean-temp.c: Likewise.
1422         * lib/csharpexec.c: Likewise.
1423         * lib/ctime.c: Likewise.
1424         * lib/dosname.h: Likewise.
1425         * lib/dup2.c: Likewise.
1426         * lib/errno.in.h: Likewise.
1427         * lib/error.c: Likewise.
1428         * lib/euidaccess.c: Likewise.
1429         * lib/execute.c: Likewise.
1430         * lib/fcntl.in.h: Likewise.
1431         * lib/fcntl.c: Likewise.
1432         * lib/filename.h: Likewise.
1433         * lib/findprog.c: Likewise.
1434         * lib/flock.c: Likewise.
1435         * lib/fopen.c: Likewise.
1436         * lib/freopen.c: Likewise.
1437         * lib/fstat.c: Likewise.
1438         * lib/fsync.c: Likewise.
1439         * lib/gc-gnulib.c: Likewise.
1440         * lib/get-rusage-data.c: Likewise.
1441         * lib/getaddrinfo.c: Likewise.
1442         * lib/getdelim.c: Likewise.
1443         * lib/getdtablesize.c: Likewise.
1444         * lib/gethostname.c: Likewise.
1445         * lib/getlogin.c: Likewise.
1446         * lib/getlogin_r.c: Likewise.
1447         * lib/getopt.c: Likewise.
1448         * lib/getpagesize.c: Likewise.
1449         * lib/getpass.c: Likewise.
1450         * lib/getrusage.c: Likewise.
1451         * lib/gettimeofday.c: Likewise.
1452         * lib/glob.c: Likewise.
1453         * lib/inttypes.in.h: Likewise.
1454         * lib/isapipe.c: Likewise.
1455         * lib/javaexec.c: Likewise.
1456         * lib/link.c: Likewise.
1457         * lib/localcharset.c: Likewise.
1458         * lib/localename.h: Likewise.
1459         * lib/localename.c: Likewise.
1460         * lib/localtime.c: Likewise.
1461         * lib/lseek.c: Likewise.
1462         * lib/mbsinit.c: Likewise.
1463         * lib/mkdir.c: Likewise.
1464         * lib/msvc-nothrow.h: Likewise.
1465         * lib/nanosleep.c: Likewise.
1466         * lib/nl_langinfo.c: Likewise.
1467         * lib/nonblocking.c: Likewise.
1468         * lib/nproc.c: Likewise.
1469         * lib/open.c: Likewise.
1470         * lib/openpty.c: Likewise.
1471         * lib/pathmax.h: Likewise.
1472         * lib/pipe-filter-aux.c: Likewise.
1473         * lib/pipe-filter-gi.c: Likewise.
1474         * lib/pipe-filter-ii.c: Likewise.
1475         * lib/pipe.c: Likewise.
1476         * lib/pipe2.c: Likewise.
1477         * lib/poll.c: Likewise.
1478         * lib/popen.c: Likewise.
1479         * lib/posix_openpt.c: Likewise.
1480         * lib/printf-parse.c: Likewise.
1481         * lib/progreloc.c: Likewise.
1482         * lib/putenv.c: Likewise.
1483         * lib/read.c: Likewise.
1484         * lib/relocatable.c: Likewise.
1485         * lib/rename.c: Likewise.
1486         * lib/same-inode.h: Likewise.
1487         * lib/secure_getenv.c: Likewise.
1488         * lib/select.c: Likewise.
1489         * lib/sethostname.c: Likewise.
1490         * lib/setlocale.c: Likewise.
1491         * lib/sigaction.c: Likewise.
1492         * lib/sigprocmask.c: Likewise.
1493         * lib/sleep.c: Likewise.
1494         * lib/spawn-pipe.h: Likewise.
1495         * lib/spawn-pipe.c: Likewise.
1496         * lib/spawni.c: Likewise.
1497         * lib/stat-time.h: Likewise.
1498         * lib/stat-w32.c: Likewise.
1499         * lib/stat.c: Likewise.
1500         * lib/stdio.in.h: Likewise.
1501         * lib/stdio-impl.h: Likewise.
1502         * lib/stdio-read.c: Likewise.
1503         * lib/stdio-write.c: Likewise.
1504         * lib/stdlib.in.h: Likewise.
1505         * lib/strerror_r.c: Likewise.
1506         * lib/strftime-fixes.c: Likewise.
1507         * lib/sys_stat.in.h: Likewise.
1508         * lib/sys_types.in.h: Likewise.
1509         * lib/sys_wait.in.h : Likewise.
1510         * lib/system-quote.h: Likewise.
1511         * lib/system-quote.c: Likewise.
1512         * lib/tmpdir.c: Likewise.
1513         * lib/tzset.c: Likewise.
1514         * lib/uname.c: Likewise.
1515         * lib/unistd.in.h: Likewise.
1516         * lib/utime.in.h: Likewise.
1517         * lib/utime.c: Likewise.
1518         * lib/utimecmp.c: Likewise.
1519         * lib/utimens.c: Likewise.
1520         * lib/vasnprintf.c: Likewise.
1521         * lib/vma-iter.h: Likewise.
1522         * lib/vma-iter.c: Likewise.
1523         * lib/wait-process.c: Likewise.
1524         * lib/wcsftime.c: Likewise.
1525         * lib/wctype.in.h: Likewise.
1526         * lib/write.c: Likewise.
1527         * tests/nap.h: Likewise.
1528         * tests/test-cloexec.c: Likewise.
1529         * tests/test-dup-safer.c: Likewise.
1530         * tests/test-dup2.c: Likewise.
1531         * tests/test-dup3.c: Likewise.
1532         * tests/test-fcntl.c: Likewise.
1533         * tests/test-get-rusage-data.c: Likewise.
1534         * tests/test-getaddrinfo.c: Likewise.
1535         * tests/test-getlogin.h: Likewise.
1536         * tests/test-isatty.c: Likewise.
1537         * tests/test-localename.c: Likewise.
1538         * tests/test-mbrtowc-w32.c: Likewise.
1539         * tests/test-nonblocking.c: Likewise.
1540         * tests/test-nonblocking-pipe-main.c: Likewise.
1541         * tests/test-nonblocking-socket-main.c: Likewise.
1542         * tests/test-nonblocking-socket.h: Likewise.
1543         * tests/test-pipe.c: Likewise.
1544         * tests/test-pipe2.c: Likewise.
1545         * tests/test-poll.c: Likewise.
1546         * tests/test-pthread_sigmask1.c: Likewise.
1547         * tests/test-select.h: Likewise.
1548         * tests/test-sethostname2.c: Likewise.
1549         * tests/test-sigprocmask.c: Likewise.
1550         * tests/test-spawn-pipe-child.c: Likewise.
1551         * tests/test-stat-time.c: Likewise.
1552         * tests/test-system-quote-main.c: Likewise.
1553         * tests/test-utimens-common.h: Likewise.
1554         * tests/test-wcrtomb-w32.c: Likewise.
1555         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
1556         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
1557         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
1558         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
1559         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
1560         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
1561         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
1562         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
1563         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
1564         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
1565         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
1566         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
1567         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
1568         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
1569         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
1570         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1572 2018-05-02  Bruno Haible  <bruno@clisp.org>
1574         localename: Fix test failures on mingw.
1575         * lib/localename.c (gl_locale_name_thread): Remove code specific to
1576         native Windows.
1577         (gl_locale_name_posix): Move code specific to native Windows here.
1578         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
1579         Accept result without charset suffix, as it appears on mingw.
1581 2018-04-28  Paul Smith  <psmith@gnu.org>
1583         bootstrap: Avoid gnulib operations if not needed
1584         * build-aux/bootstrap: Remove unused variable gnulib_mk.
1585         Set $gnulib_extra_files early so it can be overridden in .conf.
1586         Remove redundant --import flag from $gnulib_tool_options.
1587         Set $use_gnulib to false if no gnulib modules or files are needed.
1588         If $use_gnulib is false, don't do anything related to gnulib.
1589         A lot of this is just whitespace (indentation) changes.
1591 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
1593         manywarnings: port to GCC 8.0
1594         * build-aux/gcc-warning.spec: Add -Wcatch-value,
1595         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
1596         fact that the GCC help message now mentions operands for
1597         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
1598         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
1599         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
1600         and -Wunused-const-variable.
1601         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
1602         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
1603         -Wmissing-attributes, -Wmultistatement-macros,
1604         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
1605         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
1607 2018-04-24  Bruno Haible  <bruno@clisp.org>
1609         sys_socket: Make SO_REUSEPORT available across platforms.
1610         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1611         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
1612         * doc/posix-headers/sys_socket.texi: Mention the issue.
1613         * tests/test-poll.c (SO_REUSEPORT): Remove.
1614         * tests/test-select.h: Include <sys/socket.h>.
1615         (SO_REUSEPORT): Remove.
1616         * modules/select-tests (Depends-on): Add 'sys_socket'.
1618 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
1620         localcharset: short-circuit the search for an alias on a Mac
1621         * lib/localcharset.c (get_charset_aliases): Add a tautological
1622         UTF-8 entry to speed up the search for this case.
1623         Most machines default to a UTF-8 locale nowadays, so begin the
1624         list of aliases with a dummy UTF-8 entry so it will be found
1625         immediately and a time-consuming search through the rest of
1626         the list is avoided.
1628 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
1630         fts: add comment
1631         * lib/fts.c (fts_build): Explain why ==, not >.
1632         See remark by Bernhard Voelker in:
1633         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
1635         fts: fix bug in find across filesystems
1636         This fixes a bug I introduced last summer.
1637         Problem reported by Kamil Dudka in:
1638         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
1639         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
1640         (leaf_optimization):
1641         New arg for file descriptor.  All callers changed.
1642         (fts_build): Check for whether inodes should be sorted
1643         before closing the directory.
1645 2018-04-07  Bruno Haible  <bruno@clisp.org>
1647         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
1648         Reported by Genki Sky <sky@genki.is>.
1649         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
1650         version 0.9.10 or newer.
1651         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
1652         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
1653         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
1654         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
1655         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
1657 2018-04-07  Bruno Haible  <bruno@clisp.org>
1659         execute: Update comment.
1660         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
1662 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
1664         fts: treat CIFS like NFS
1665         Problem reported by Kamil Dudka in:
1666         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
1667         * lib/fts.c (S_MAGIC_CIFS): New macro.
1668         (dirent_inode_sort_may_be_useful, leaf_optimization):
1669         Treat CIFS like NFS.
1671 2018-03-28  Bruno Haible  <bruno@clisp.org>
1673         c-stack: Fix possible build failure on some platforms.
1674         * lib/c-stack.c (die): Define whenever this function is referenced.
1676 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
1678         time_rz: fix workaround for Mac OS X 10.6 infloop
1679         Problems reported by Charles A. Roelli (Bug#27736#117).
1680         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
1681         Also, discard output, which clutters the 'configure' log.
1683 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
1685         havelib: port to Solaris 10 /bin/sh
1686         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
1687         instead of '! test EXPR'.
1689 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
1691         time_rz: work around Mac OS X 10.6 infloop
1692         * doc/posix-functions/localtime.texi:
1693         * doc/posix-functions/localtime_r.texi: Mention the bug.
1694         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
1695         better to fix localtime and localtime_r instead, but that would be
1696         more work and is not needed to fix the Emacs problem.
1697         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
1699 2018-03-24  Jim Meyering  <meyering@fb.com>
1701         test-version-etc.sh: don't use diff directly: use init.sh's compare
1702         We'd rather not sacrifice readable "diff -u" output even for
1703         "diff -c" output (not supported by busybox) or for even less
1704         readable ed-style "diff" output.  So use init.sh's compare function
1705         * tests/test-version-etc.sh: Source init.sh and add "." to path.
1706         Remove "./" from invocation of test-version-etc, so we use path.
1707         And s/diff/compare/.
1708         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
1709         to get init.sh.
1710         Prompted by Eric Blake's comments in
1711         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
1713 2018-03-24  Bruno Haible  <bruno@clisp.org>
1715         javacomp-script, javacomp: Add support for Java 10.
1716         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
1717         target-version 10.
1718         * lib/javaversion.h: Update comments.
1719         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
1720         source_version_index, get_goodcode_snippet, get_failcode_snippet,
1721         TARGET_VERSION_BOUND, target_version_index,
1722         corresponding_classfile_version): Accept source_version 10 and
1723         target_version 10.
1724         * lib/javacomp.h: Update comments accordingly.
1726 2018-03-24  Bruno Haible  <bruno@clisp.org>
1728         javacomp-script, javacomp: Update comments.
1729         * m4/javacomp.m4: Update comments regarding gcj.
1730         * lib/javacomp.h: Likewise.
1732 2018-03-24  Bruno Haible  <bruno@clisp.org>
1734         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
1735         * lib/javaversion.h: Update comments.
1736         * lib/javacomp.h: Likewise.
1737         * lib/javacomp.c (default_target_version, source_version_index,
1738         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
1739         "1.9".
1740         (TARGET_VERSION_BOUND): Bump to 9.
1741         (target_version_index, corresponding_classfile_version): Recognize "9"
1742         instead of "1.9".
1743         (get_source_version_for_javac): New function.
1744         (is_envjavac_nongcj_usable, is_javac_usable): Add
1745         source_version_for_javac argument.
1746         (compile_java_class): Determine and pass source_version_for_javac.
1747         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
1748         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
1749         appropriate.
1751 2018-03-23  Jim Meyering  <meyering@fb.com>
1753         test-version-etc.sh: port to diff without -c
1754         * tests/test-version-etc.sh: Don't use diff's -c option.
1755         This caused spurious test failure on Alpine Linux, which
1756         uses busybox's diff. Reported by Assaf Gordon in
1757         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
1759 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
1761         c-stack: port to recent GCC build
1762         Problem reported by The Fireplace (Bug#30913).
1763         * lib/c-stack.c (die): Define only if used.
1765 2018-03-20  Bruno Haible  <bruno@clisp.org>
1767         euidaccess: Port to native Windows.
1768         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
1769         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
1771 2018-03-19  Bruno Haible  <bruno@clisp.org>
1773         javacomp: Add support for Java 7, 8, 9.
1774         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
1775         source_version_index, get_goodcode_snippet, get_failcode_snippet,
1776         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
1777         and target_version 1,7, 1.8, 1.9.
1778         * lib/javacomp.h: Update comments accordingly.
1780 2018-03-19  Bruno Haible  <bruno@clisp.org>
1782         javacomp-script: Add support for Java 9.
1783         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
1784         target-version 1.9.
1786 2018-03-16  Bruno Haible  <bruno@clisp.org>
1788         glob: Don't compile replacements on recent glibc systems.
1789         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
1790         REPLACE_GLOB is 0, include the system's <glob.h> and use
1791         _GL_CXXALIAS_SYS.
1792         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
1793         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
1794         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
1795         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
1796         Remove snippet/warn-on-use.
1797         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
1798         (Makefile.am): Create glob.h always. Update list of substitutions in
1799         glob.h. Don't depend on $(WARN_ON_USE_H).
1801 2018-03-16  Bruno Haible  <bruno@clisp.org>
1803         glob: Fix link error on native Windows.
1804         * modules/glob (Depends-on): Add 'lstat'.
1806 2018-03-15  Bruno Haible  <bruno@clisp.org>
1808         glob: Fix compilation error in C++ mode.
1809         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
1811 2018-03-15  Bruno Haible  <bruno@clisp.org>
1813         host-cpu-c-abi: Support for RISC-V CPU.
1814         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
1815         riscv32 and riscv64 ABIs.
1816         References:
1817         https://github.com/riscv/riscv-toolchain-conventions
1818         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
1819         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
1821 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
1823         fflush: be more paranoid about libio.h change
1824         Suggested by Eli Zaretskii in:
1825         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
1826         * lib/fbufmode.c (fbufmode):
1827         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1828         (disable_seek_optimization, rpl_fflush):
1829         * lib/fpending.c (__fpending):
1830         * lib/fpurge.c (fpurge):
1831         * lib/freadable.c (freadable):
1832         * lib/freadahead.c (freadahead):
1833         * lib/freading.c (freading):
1834         * lib/freadptr.c (freadptr):
1835         * lib/freadseek.c (freadptrinc):
1836         * lib/fseeko.c (fseeko):
1837         * lib/fseterr.c (fseterr):
1838         * lib/fwritable.c (fwritable):
1839         * lib/fwriting.c (fwriting):
1840         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
1842 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
1844         maint: write-file-hooks -> before-save-hook
1845         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
1846         it's time to use the recommended replacement.
1847         Problem reported by Glenn Morris in:
1848         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
1849         * build-aux/announce-gen, build-aux/bootstrap:
1850         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
1851         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
1852         * build-aux/gnu-web-doc-update, build-aux/gnupload:
1853         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
1854         * build-aux/update-copyright, build-aux/useless-if-before-free:
1855         * build-aux/vc-list-files:
1856         Update hook usage for files where Gnulib is the canonical source.
1858 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
1860         binary-io: pacify gcc -Wunused-parameter
1861         Problem reported by Reuben Thomas in:
1862         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
1863         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
1864         Use _GL_UNUSED where appropriate.
1866         fflush: adjust to glibc 2.28 libio.h removal
1867         Problem reported by Daniel P. Berrangé in:
1868         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
1869         * lib/fbufmode.c (fbufmode):
1870         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1871         (disable_seek_optimization, rpl_fflush):
1872         * lib/fpending.c (__fpending):
1873         * lib/fpurge.c (fpurge):
1874         * lib/freadable.c (freadable):
1875         * lib/freadahead.c (freadahead):
1876         * lib/freading.c (freading):
1877         * lib/freadptr.c (freadptr):
1878         * lib/freadseek.c (freadptrinc):
1879         * lib/fseeko.c (fseeko):
1880         * lib/fseterr.c (fseterr):
1881         * lib/fwritable.c (fwritable):
1882         * lib/fwriting.c (fwriting):
1883         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
1884         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
1885         Define if not already defined.
1887 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
1889         environ: fix link error on 32-bit Cygwin
1890         Problem reported for GNU Emacs by Ken Brown in:
1891         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
1892         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
1894 2018-02-24  Bruno Haible  <bruno@clisp.org>
1896         mbrtowc tests: Fix regression on glibc.
1897         Reported by Bernhard Voelker.
1898         * tests/test-mbrtowc.c (main): Fix expected value of wc.
1900 2018-02-24  Bruno Haible  <bruno@clisp.org>
1902         striconveha, uniconv/*: Avoid test failures on musl libc.
1903         * tests/iconvsupport.c: New file.
1904         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
1905         does not support the ISO-2022-JP-2 encoding.
1906         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
1907         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
1908         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
1909         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
1910         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
1911         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
1912         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
1913         (Makefile.am): Link test-striconveha with iconvsupport.o.
1914         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
1915         tests/iconvsupport.c.
1916         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
1917         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
1918         tests/iconvsupport.c.
1919         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
1920         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
1921         tests/iconvsupport.c.
1922         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
1923         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
1924         tests/iconvsupport.c.
1925         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
1926         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
1927         tests/iconvsupport.c.
1928         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
1929         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
1930         tests/iconvsupport.c.
1931         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
1933 2018-02-24  Bruno Haible  <bruno@clisp.org>
1935         localename: Add support for musl libc.
1936         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
1937         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
1938         on Linux platforms which define NL_LOCALE_NAME.
1940 2018-02-24  Bruno Haible  <bruno@clisp.org>
1942         mbrtowc tests: Don't make assumptions about the charset the C locale.
1943         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
1944         particular mapping in the C locale.
1946 2018-02-24  Bruno Haible  <bruno@clisp.org>
1948         ptsname_r: Don't expect that this function sets errno.
1949         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
1950         from ptsname_r().
1951         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
1953 2018-02-23  Bruno Haible  <bruno@clisp.org>
1955         xmalloca: pacify gcc -Wbad-function-cast
1956         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
1958 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
1960         nl_langinfo: pacify gcc -Wunused-function
1961         * lib/nl_langinfo.c (ctype_codeset): Do not define if
1962         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
1963         this case.  Without this change, I got a diagnostic when building
1964         coreutils on Fedora 27 with gcc 7.3.1 20180130.
1966         same: pacify gcc -Wunused-variable
1967         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
1968         Omit unused variable.
1970         malloca: pacify gcc -Wbad-function-cast
1971         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
1972         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
1973         To pacify GCC, I had to cast alloca’s result to some type other
1974         than void * before casting that to uintptr_t.
1976 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1978         utimecmp: new function utimecmpat
1979         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
1980         Do not include utimens.h.
1981         (utimecmpat): New function, generalizing utimecmp.
1982         (utimecmp): Now a thin layer around utimecmpat.
1983         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
1984         utimensat instead of on lstat and utimens.
1986         same: new function same_nameat
1987         * lib/same.c: Include fcntl.h.
1988         * lib/same.c (same_nameat): New function, generalizing same_name.
1989         (same_name): Now a thin layer around same_nameat.
1990         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
1991         * modules/same (Depends-on): Depend on fstatat, openat.
1993 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
1995         warnings: Add support for Objective C.
1996         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
1997         macro.
1999 2018-02-17  Bruno Haible  <bruno@clisp.org>
2001         lock: Fix test-once1 crash on FreeBSD11.
2002         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
2003         'pthread_create', not 'pthread_cancel'.
2005 2018-02-17  Bruno Haible  <bruno@clisp.org>
2007         lock: Add test of gl_once.
2008         * tests/test-once.c: New file.
2009         * modules/lock-tests (Files): Add it.
2010         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
2012 2018-02-17  Bruno Haible  <bruno@clisp.org>
2014         thread: Fix compilation error on IRIX.
2015         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
2016         needed; include it outside the C++ extern "C" {} block.
2017         * doc/posix-headers/pthread.texi: Mention the problem with
2018         pthread_atfork on IRIX.
2020 2018-02-04  Bruno Haible  <bruno@clisp.org>
2022         nl_langinfo: Override the system's nl_langinfo() when needed.
2023         Reported by Jim Meyering.
2024         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
2025         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
2027 2018-02-04  Bruno Haible  <bruno@clisp.org>
2029         signal-h, monetary, strings: Fix build failure in some cases.
2030         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
2031         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
2032         as delimiter in sed command, not '|'.
2033         * modules/monetary (Makefile.am): Likewise.
2034         * modules/strings (Makefile.am): Likewise.
2036 2018-02-03  Jim Meyering  <meyering@fb.com>
2038         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
2039         * top/maint.mk (sc_file_system): Don't complain about
2040         "/proc/filesystems".
2042 2018-02-03  Bruno Haible  <bruno@clisp.org>
2044         stdlib: Fix compilation error on OpenIndiana.
2045         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
2046         <sys/time.h>.
2047         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
2048         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
2050 2018-02-03  Bruno Haible  <bruno@clisp.org>
2052         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
2053         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
2054         and use $EGREP instead of 'grep -E'.
2055         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
2056         'grep -E'.
2058 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
2060         malloca: Add a compile-time verification.
2061         * lib/malloca.c (small_t): Verify that it is wide enough.
2062         * modules/malloca (Depends-on): Add verify.
2064 2018-02-02  Bruno Haible  <bruno@clisp.org>
2066         malloca: Add an argument check.
2067         Suggested by Paul Eggert.
2068         * lib/malloca.c (freea): Check against an invalid argument.
2070 2018-02-02  Bruno Haible  <bruno@clisp.org>
2072         localename: Add support for OpenIndiana.
2073         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
2074         Solaris 11 variants with uselocale() but without getlocalename_l().
2076 2018-02-02  Bruno Haible  <bruno@clisp.org>
2078         malloca, xmalloca: Make multithread-safe.
2079         Reported by Florian Weimer <fweimer@redhat.com>.
2080         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
2081         * lib/malloca.h (malloca): In the stack allocation case, return a
2082         pointer that is a multiple of 2 * sa_alignment_max.
2083         (sa_increment): Remove enum item.
2084         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
2085         a pointer that is a multiple of 2 * sa_alignment_max.
2086         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
2087         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
2088         HASH_TABLE_SIZE, mmalloca_results): Remove.
2089         (small_t): New type.
2090         (mmalloca, free): Rewritten.
2091         * lib/malloca.valgrind: Remove file.
2092         * modules/malloca (Files): Remove it.
2093         (Depends-on): Remove verify.
2095 2018-01-31  Bruno Haible  <bruno@clisp.org>
2097         environ: Fix link error on 64-bit Cygwin.
2098         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
2099         __declspec(dllimport) attribute.
2100         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
2102 2018-01-30  Bruno Haible  <bruno@clisp.org>
2104         get-rusage-data: Add support for Minix 3.
2105         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
2107 2018-01-30  Bruno Haible  <bruno@clisp.org>
2109         vma-iter: Add support for Minix 3.
2110         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
2111         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
2113 2018-01-27  Bruno Haible  <bruno@clisp.org>
2115         Fix malfunction of socket functions on HP-UX in 64-bit mode.
2116         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
2117         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
2118         _HPUX_ALT_XOPEN_SOCKET_API.
2119         * modules/accept (Depends-on): Add 'extensions'.
2120         * modules/getpeername (Depends-on): Likewise.
2121         * modules/getsockname (Depends-on): Likewise.
2122         * modules/getsockopt (Depends-on): Likewise.
2123         * modules/recvfrom (Depends-on): Likewise.
2124         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
2125         * doc/posix-functions/getpeername.texi: Likewise.
2126         * doc/posix-functions/getsockname.texi: Likewise.
2127         * doc/posix-functions/getsockopt.texi: Likewise.
2128         * doc/posix-functions/recvfrom.texi: Likewise.
2130 2018-01-27  Bruno Haible  <bruno@clisp.org>
2132         getsockname tests: More tests.
2133         * tests/test-getsockname.c (open_server_socket): New function, mostly
2134         copied from test-poll.c.
2135         (main): Check that getsockname fills in addr.
2136         * modules/getsockname-tests (Depends-on): Add the necessary
2137         dependencies.
2138         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
2140 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
2142         manywarnings: fix maintainer comment
2143         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
2144         it does not mistakenly think that ‘-1)’ is an option.
2146 2018-01-26  Bruno Haible  <bruno@clisp.org>
2148         langinfo: Fix last commit.
2149         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
2150         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
2152 2018-01-24  Bruno Haible  <bruno@clisp.org>
2154         langinfo, nl_langinfo: Add support for alternative month names.
2155         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
2156         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
2157         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
2158         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
2159         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
2160         * doc/posix-functions/nl_langinfo.texi: Likewise.
2162 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2164         Merge strftime.c changes from glibc
2165         This incorporates:
2166         2017-11-14 [BZ #10871] Implement alternative month names
2167         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
2168         2017-06-20 Use locale_t, not __locale_t, throughout glibc
2169         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
2170         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
2171         Use locale_t, not __locale_t.
2172         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
2173         (__strftime_internal): Add support for alternate months.
2175 2018-01-23  Bruno Haible  <bruno@clisp.org>
2177         doc: Mention another prerequisite for using Gnulib.
2178         Reported at <https://stackoverflow.com/questions/48378214/>.
2179         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
2180         AC_CONFIG_HEADERS.
2182 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
2184         build: GuixSD doesn't have /bin/bash
2185         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
2187 2018-01-21  Bruno Haible  <bruno@clisp.org>
2189         Avoid test failures on Microsoft Windows Subsystem for Linux.
2190         * tests/test-fcntl.c (main): Allow a different errno.
2191         * tests/test-rename.h (test_rename): Likewise.
2192         * tests/test-renameat.c (main): Likewise.
2193         * tests/test-renameat2.c (main): Likewise.
2195 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
2197         filenamecat: make base a suffix of result
2198         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
2199         (mfile_name_concat): Always make BASE a suffix of the result, as
2200         cp expects this.  To implement this, separate with '.' instead of
2201         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
2202         * tests/test-filenamecat.c (main): Adjust tests to match
2203         current behavior.  Check that BASE_IN_RESULT points to
2204         a copy of BASE and is a suffix of the resultk, and that DIR
2205         is a prefix of the result that is no longer than the prefix
2206         indicated by BASE_IN_RESULT.
2208 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
2210         update-copyright: Handle use of ©
2211         * build-aux/update-copyright ($circle_c_re): Update regex to
2212         handle use of © in headers.
2214 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
2216         Fix -Wundef warning in user-included header lib/cdefs.h.
2217         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
2219 2018-01-04  Bruno Haible  <bruno@clisp.org>
2221         pthread_sigmask: Avoid compilation error on mingw.
2222         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
2223         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
2224         macro.
2226 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
2228         test-framework-sh: ‘ps -ef’, not ‘ps ef’
2229         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
2230         Suggested by Bob Proulx (Bug#29968).
2231         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
2233 2018-01-02  Eric Blake  <eblake@redhat.com>
2235         stat-time: silence -Wunused-parameter regression
2236         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
2237         Prefer attribute over cast-to-void.
2238         (stat_time_normalize): Mark st as potentially unused.
2240 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
2242         test-framework-sh: avoid netstat
2243         Problem reported by Kristýna Streitová (Bug#29947).
2244         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
2245         deprecated on SuSE and it's not that important anyway.
2247 2018-01-01  Jim Meyering  <meyering@fb.com>
2249         update-copyright: add code to handle more special cases
2250         After running "make update-copyright" this year, five files
2251         required additional manual changes.  Automate those adjustments
2252         for next year.
2253         * Makefile (_year_and_prev): Define.
2254         (update-copyright): Add perl commands to induce this year's post-
2255         update-copyright adjustments.
2257 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
2259         version-etc: new year
2260         * build-aux/gendocs.sh (version):
2261         * doc/gendocs_template:
2262         * doc/gendocs_template_min:
2263         * doc/gnulib.texi:
2264         * lib/version-etc.c (COPYRIGHT_YEAR):
2265         Update copyright dates by hand in templates and the like.
2267         maint: fix 'make update-copyright'
2268         * Makefile (update-copyright): Adjust to 2016-11-23 change
2269         to config/srclist-update, which changed the format of srclist.txt.
2271 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
2273         chdir-safer: remove this module
2274         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
2275         * NEWS: Document removal.
2276         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
2277         * modules/chdir-safer: Remove these files.
2279 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
2281         Add cross-compilation results for GNU/Hurd.
2282         * m4/calloc.m4: Add GNU/Hurd guess.
2283         * m4/cbrtl.m4: Likewise.
2284         * m4/ceil.m4: Likewise.
2285         * m4/ceilf.m4: Likewise.
2286         * m4/ceill.m4: Likewise.
2287         * m4/chown.m4: Likewise.
2288         * m4/duplocale.m4: Likewise.
2289         * m4/exp2l.m4: Likewise.
2290         * m4/expm1.m4: Likewise.
2291         * m4/fchdir.m4: Likewise.
2292         * m4/floor.m4: Likewise.
2293         * m4/floorf.m4: Likewise.
2294         * m4/fmod.m4: Likewise.
2295         * m4/fmodf.m4: Likewise.
2296         * m4/fmodl.m4: Likewise.
2297         * m4/getcwd.m4: Likewise.
2298         * m4/getgroups.m4: Likewise.
2299         * m4/gettimeofday.m4: Likewise.
2300         * m4/hypot.m4: Likewise.
2301         * m4/hypotf.m4: Likewise.
2302         * m4/hypotl.m4: Likewise.
2303         * m4/link-follow.m4: Likewise.
2304         * m4/link.m4: Likewise.
2305         * m4/linkat.m4: Likewise.
2306         * m4/log.m4: Likewise.
2307         * m4/log10.m4: Likewise.
2308         * m4/log10f.m4: Likewise.
2309         * m4/log1p.m4: Likewise.
2310         * m4/log1pf.m4: Likewise.
2311         * m4/log1pl.m4: Likewise.
2312         * m4/log2.m4: Likewise.
2313         * m4/log2f.m4: Likewise.
2314         * m4/logf.m4: Likewise.
2315         * m4/lstat.m4: Likewise.
2316         * m4/malloc.m4: Likewise.
2317         * m4/mbrlen.m4: Likewise.
2318         * m4/mbrtowc.m4: Likewise.
2319         * m4/mkdir.m4: Likewise.
2320         * m4/mkfifo.m4: Likewise.
2321         * m4/mknod.m4: Likewise.
2322         * m4/mkstemp.m4: Likewise.
2323         * m4/modf.m4: Likewise.
2324         * m4/modff.m4: Likewise.
2325         * m4/modfl.m4: Likewise.
2326         * m4/printf.m4: Likewise.
2327         * m4/pselect.m4: Likewise.
2328         * m4/ptsname.m4: Likewise.
2329         * m4/putenv.m4: Likewise.
2330         * m4/readlink.m4: Likewise.
2331         * m4/realloc.m4: Likewise.
2332         * m4/remainder.m4: Likewise.
2333         * m4/remainderf.m4: Likewise.
2334         * m4/remainderl.m4: Likewise.
2335         * m4/rmdir.m4: Likewise.
2336         * m4/round.m4: Likewise.
2337         * m4/roundf.m4: Likewise.
2338         * m4/roundl.m4: Likewise.
2339         * m4/select.m4: Likewise.
2340         * m4/setenv.m4: Likewise.
2341         * m4/signbit.m4: Likewise.
2342         * m4/sleep.m4: Likewise.
2343         * m4/stat.m4: Likewise.
2344         * m4/strerror.m4: Likewise.
2345         * m4/strtok_r.m4: Likewise.
2346         * m4/symlink.m4: Likewise.
2347         * m4/symlinkat.m4: Likewise.
2348         * m4/trunc.m4: Likewise.
2349         * m4/truncf.m4: Likewise.
2350         * m4/truncl.m4: Likewise.
2351         * m4/tzset.m4: Likewise.
2352         * m4/ungetc.m4: Likewise.
2353         * m4/usleep.m4: Likewise.
2354         * m4/wcwidth.m4: Likewise.
2356 2017-12-28  Bruno Haible  <bruno@clisp.org>
2358         gnulib-tool: Make --conditional-dependencies work better.
2359         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
2360         * gnulib-tool (Options): Don't reject the combination of
2361         --conditional-dependencies with --with-tests.
2362         (func_emit_autoconf_snippets): Add argument referenceable_modules.
2363         Don't reference $modules.
2364         (func_import, func_create_testdir): Pass it.
2366 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
2368         regex: use re_malloc etc. consistently
2369         Problem and original patch reported by Arnold Robbins in:
2370         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
2371         * lib/regcomp.c (re_comp):
2372         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
2373         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
2375 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
2376             Paul Eggert  <eggert@cs.ucla.edu>
2378         glob: Silence warning about void pointer arithmetic.
2379         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
2380         arithmetic.
2382 2017-12-15  Bruno Haible  <bruno@clisp.org>
2384         spawn-pipe: Silence a clang warning.
2385         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
2386         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
2387         in this file.
2389 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
2391         explicit_bzero: port to macOS + Clang 9.0.0
2392         Problem reported by Marcus Johnson (Bug#29658).
2393         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
2394         Don’t use asm.
2396 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
2398         doc: Improve explanation of supporting relocatable libraries.
2399         * doc/relocatable-maint.texi (Supporting Relocation): Explain
2400         properly how to build the relocatable module for
2401         libraries. (Method and example code from Bruno Haible.)
2403 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
2405         doc: Use better texinfo tags in a few cases.
2406         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
2407         instead of @samp in a few places.
2409 2017-12-11  Bruno Haible  <bruno@clisp.org>
2411         unistr/base: Update comment.
2412         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
2414 2017-12-10  Pádraig Brady  <P@draigBrady.com>
2416         test-faccessat.c: unlink temp file to avoid subsequent test failure
2417         * tests/test-faccessat.c: Remove the file to avoid failure
2418         to open the file on subsequent runs due to being created
2419         with no permissions.
2421 2017-12-10  Bruno Haible  <bruno@clisp.org>
2423         doc: New sect. "Modifying the build rules of a Gnulib import directory".
2424         * doc/gnulib-tool.texi (Modified build rules): New node.
2426 2017-12-10  Bruno Haible  <bruno@clisp.org>
2428         doc: Tweak wording.
2429         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
2430         "binaries".
2432 2017-12-05  Sam Steingold  <sds@gnu.org>
2433             Bruno Haible  <bruno@clisp.org>
2435         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
2436         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
2437         AC_EGREP_CPP pattern.
2439 2017-12-03  Bruno Haible  <bruno@clisp.org>
2441         all: Replace more http URLs by https URLs.
2442         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
2443         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
2444         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
2445         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
2447 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
2449         Port better to CentOS 5
2450         Problems reported by Tom G. Christensen in:
2451         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
2452         * doc/glibc-functions/strverscmp.texi (strverscmp):
2453         Document strverscmp bug with glibc 2.9 and earlier.
2454         * doc/posix-functions/tzset.texi (tzset):
2455         Document that TZ with angle brackets is POSIX-2001 and later.
2456         * tests/test-nstrftime.c: Include unistd.h.
2457         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
2458         (TZ): Use it to skip tests with angle brackets in TZ,
2459         for older systems.
2461         stat: add missing module dependencies
2462         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
2463         Add stat-time.
2465 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
2467         stat: fix compilation failure on macOS Sierra
2468         Reported by Marius Schamschula <mschamschula@gmail.com> in:
2469         https://savannah.gnu.org/bugs/?52546
2470         * lib/stat.c: Add missing include of stat-time.h.
2472 2017-11-28  Jim Meyering  <meyering@fb.com>
2474         test-faccessat.c: correct BASE definition to avoid parallel test failure
2475         * tests/test-faccessat.c (BASE): Define using this file's name, not
2476         that of test-lstat.c.  Using the latter caused this test to fail
2477         sometimes when run concurrently with test-lstat.
2479 2017-11-27  Daiki Ueno  <ueno@gnu.org>
2481         unicase: fix VPATH build
2482         * modules/unicase/special-casing (Makefile.am): Ensure that the
2483         base directory is created when generating
2484         unicase/special-casing.h.
2486 2017-11-27  Daiki Ueno  <ueno@gnu.org>
2488         libunistring: update to Unicode 9.0.0
2489         * lib/gen-uni-tables.c (fill_properties): Recognize
2490         Sentence_Terminal and Prepended_Concatenation_Mark.
2491         (is_property_default_ignorable_code_point): Exclude U+08E2.
2492         (fill_arabicshaping): Allow missing whitespace when parsing;
2493         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
2494         (output_blocks): Increase the element size of the level1 table to
2495         accommodate more blocks.
2496         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
2497         Update each class according to the standard.
2498         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
2499         E_Base_GAZ characters.
2500         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
2501         Glue_After_Zwj, and E_Base_GAZ characters.
2502         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
2503         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
2504         enum value.
2505         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
2506         value.
2507         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
2508         LBP_ZWJ, LBP_EB, and LBP_EM.
2509         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
2510         enum value.
2511         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
2512         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
2513         declaration.
2514         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
2515         (uniwbrk_table): Implement WB14.
2516         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
2517         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
2518         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
2519         uc-is-grapheme-break.
2520         * modules/unigbrk/uc-grapheme-breaks: New module.
2521         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
2522         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
2523         enum value.
2524         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
2525         * lib/unigbrk/u-grapheme-breaks.h: New file.
2526         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
2527         u-grapheme-breaks.h instead of uc_is_grapheme_break.
2528         * lib/unigbrk/uc-grapheme-breaks.c: New file.
2529         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
2530         29.
2531         * tests/unigbrk/test-uc-gbrk-prop.c
2532         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
2533         GBP_GAZ, and GBP_EBG.
2534         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
2535         * tests/unigbrk/test-uc-is-grapheme-break.c
2536         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
2537         GBP_GAZ, and GBP_EBG.
2538         (main): Skip unsupported rules involving 3 or more characters,
2539         namely GB10, GB12, and GB13.
2540         * lib/uniwidth/width.c (nonspacing_table_data): Update.
2541         * all generated files under lib/uni* and tests/uni*: Regenerate.
2542         * all the affected modules: Bump version.
2544 2017-11-26  Bruno Haible  <bruno@clisp.org>
2546         strfmon_l: Fix compilation error with glibc 2.5.
2547         Reported by Tom G. Christensen <tgc@jupiterrise.com>
2548         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
2549         * lib/monetary.in.h: Include also <locale.h>.
2551 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
2553         posixtm: remove PDS_LEADING_YEAR
2554         This changes the API slightly, in a hopefully-innocuous way.
2555         Without this change the code had undefined behavior when a
2556         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
2557         Problem reported by Pádraig Brady in:
2558         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
2559         * NEWS: Mention this.
2560         * lib/posixtm.c (posix_time_parse): Treat the absence of
2561         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
2562         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
2563         present, but define it as zero, for compatibility with existing
2564         source code).  All other PDS_* values moved up.
2565         * tests/test-posixtm.c (LY): New macro.
2566         (T): Use it.  Do not expect a particular numeric encoding
2567         for PDS_CENTURY etc.
2569 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
2571         stat: work around Solaris bug with tv_nsec < 0
2572         * doc/posix-functions/fstat.texi (fstat):
2573         * doc/posix-functions/fstatat.texi (fstatat):
2574         * doc/posix-functions/lstat.texi (lstat):
2575         * doc/posix-functions/stat.texi (stat):
2576         Mention Solaris 11 bug.
2577         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
2578         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
2579         * lib/lstat.c (rpl_lstat):
2580         * lib/stat.c (rpl_stat):
2581         Normalize resulting timestamps.
2582         * lib/fstatat.c (normal_fstatat): New function.
2583         (rpl_fstatat): Use it.
2584         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
2585         (stat_time_normalize): New function.
2586         * m4/fstat.m4 (gl_FUNC_FSTAT):
2587         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
2588         * m4/lstat.m4 (gl_FUNC_LSTAT):
2589         * m4/stat.m4 (gl_FUNC_STAT):
2590         Replace on Solaris.
2591         * modules/fstat (Depends-on):
2592         * modules/fstatat (Depends-on):
2593         Add stat-time.
2594         * modules/stat-time (Depends-on): Add errno, intprops.
2596 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
2598         regex: merge from glibc
2599         * lib/regcomp.c (init_word_char): Add comments.
2601 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
2603         regex: merge from glibc
2604         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
2605         * lib/regex_internal.h (internal_function): Remove.
2606         All uses removed.
2608 2017-11-20  Bruno Haible  <bruno@clisp.org>
2610         crypto/gc-sm3: Fix buffer overrun.
2611         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
2612         Reported by Coverity.
2614 2017-11-12  Jim Meyering  <meyering@fb.com>
2616         maint: shorten https://lists.gnu.org/archive/html/... links
2617         Each /archive/html/ part can be replace with /r/.
2618         Run this to induce the change:
2619         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
2620         * ChangeLog: Perform that substitution.
2621         * Makefile: Likewise.
2622         * STATUS-libposix: Likewise.
2623         * build-aux/bootstrap: Likewise.
2624         * doc/maintain.texi: Likewise.
2625         * gnulib-tool: Likewise.
2626         * lib/allocator.h: Likewise.
2627         * lib/argp-ba.c: Likewise.
2628         * lib/argp-pv.c: Likewise.
2629         * lib/canon-host.c: Likewise.
2630         * lib/canonicalize-lgpl.c: Likewise.
2631         * lib/float.in.h: Likewise.
2632         * lib/fstat.c: Likewise.
2633         * lib/getdelim.c: Likewise.
2634         * lib/getprogname.c: Likewise.
2635         * lib/glthread/thread.h: Likewise.
2636         * lib/intprops.h: Likewise.
2637         * lib/mbsrtowcs-state.c: Likewise.
2638         * lib/safe-read.c: Likewise.
2639         * lib/signal.in.h: Likewise.
2640         * lib/stat.c: Likewise.
2641         * lib/stdbool.in.h: Likewise.
2642         * lib/stdio-impl.h: Likewise.
2643         * lib/stdio.in.h: Likewise.
2644         * lib/sysexits.in.h: Likewise.
2645         * lib/timespec.h: Likewise.
2646         * lib/wcsrtombs-state.c: Likewise.
2647         * m4/alloca.m4: Likewise.
2648         * m4/extern-inline.m4: Likewise.
2649         * m4/fstatat.m4: Likewise.
2650         * m4/gnulib-common.m4: Likewise.
2651         * m4/lib-ignore.m4: Likewise.
2652         * m4/printf.m4: Likewise.
2653         * m4/regex.m4: Likewise.
2654         * m4/stat-size.m4: Likewise.
2655         * m4/std-gnu11.m4: Likewise.
2656         * m4/stdbool.m4: Likewise.
2657         * m4/sys_types_h.m4: Likewise.
2658         * m4/threadlib.m4: Likewise.
2659         * m4/vararrays.m4: Likewise.
2660         * pygnulib/GLImport.py: Likewise.
2661         * tests/test-exp.h: Likewise.
2662         * tests/test-exp2.h: Likewise.
2663         * tests/test-expm1.h: Likewise.
2664         * tests/test-fflush2.c: Likewise.
2665         * tests/test-getopt_long.h: Likewise.
2666         * tests/test-intprops.c: Likewise.
2667         * tests/test-log.h: Likewise.
2668         * tests/test-log10.h: Likewise.
2669         * tests/test-log1p.h: Likewise.
2670         * tests/test-log2.h: Likewise.
2671         * tests/test-printf-posix.h: Likewise.
2672         * tests/test-regex.c: Likewise.
2673         * tests/test-snprintf-posix.h: Likewise.
2674         * tests/test-sprintf-posix.h: Likewise.
2675         * tests/test-stdalign.c: Likewise.
2676         * tests/test-stdbool.c: Likewise.
2677         * tests/test-vasnprintf-posix.c: Likewise.
2678         * tests/test-vasprintf-posix.c: Likewise.
2679         * top/maint.mk: Likewise.
2681 2017-11-12  Bruno Haible  <bruno@clisp.org>
2683         faccessat: Make the last change more robust.
2684         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
2685         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
2687 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
2689         faccessat: port to macOS (Bug#29231)
2690         macOS faccessat has the same bug that lstat does: if the file
2691         name ends in '/' it ignores the trailing slash.
2692         Problem reported for Emacs by Vincent Zhang.
2693         * doc/posix-functions/faccessat.texi (faccessat): Document this.
2694         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
2695         around the initial includes.  Include errno.h, string.h, sys/stat.h.
2696         (orig_faccessat) [HAVE_FACCESSAT]: New function.
2697         Include "unistd.h" after defining it.
2698         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
2699         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
2700         Handle in the usual way.
2701         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
2702         lstat dereferences symlinks, since faccessat is likely to
2703         have the same problem.
2704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
2705         * modules/faccessat (Depends-on): Add fstatat.
2706         Depend if REPLACE_FACCESSAT is 1, too.
2707         (configure.ac): Link if REPLACE_FACCESSAT is 1.
2708         * modules/faccessat-tests (Depends-on): Add symlink.
2709         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
2710         * tests/test-faccessat.c (main): Test for the bug.
2712 2017-11-11  Bruno Haible  <bruno@clisp.org>
2714         getprogname: Fix compilation error on IRIX.
2715         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
2716         'namesize'.
2718 2017-11-11  Bruno Haible  <bruno@clisp.org>
2720         year2038: Tweak last patch.
2721         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
2723 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2725         year2038: be more insistent about 64-bit time_t
2726         Applications requiring access to arbitrary files should not be
2727         built with 32-bit time_t on hosts that have 64-bit timestamps,
2728         as this can lead to real trouble at runtime.
2729         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
2730         Check on all systems, not just MinGW.  Use a heuristic involving
2731         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
2732         output a failure or just a warning, to make it more likely that
2733         builders will select 64-bit time_t.
2735 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2737         havelib: fix typo in previous change
2738         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
2740         Don’t use AC_EGREP_CPP if affected by CFLAGS
2741         * m4/float_h.m4 (gl_FLOAT_H):
2742         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
2743         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
2744         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
2745         * m4/year2038.m4 (gl_YEAR2038):
2746         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
2747         likely to be affected by the choice of CFLAGS, since CFLAGS are
2748         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
2749         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
2751         fstatat: pacify GCC on unusual platform
2752         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
2753         Omit, as it’s unused in this case.
2755 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
2757         timespec: prefer ‘assume’ to ‘assure’
2758         This avoids some runtime tests.  The rest of the module makes
2759         similar assumptions and there is little point to testing here.
2760         * lib/timespec.h: Include verify.h instead of assure.h.
2761         (timespec_cmp): Use ‘assume’, not ‘assure’.
2762         Also, remove an unnecessary cast to ‘int’, as lots of other
2763         code in this module now causes -Wconversion to complain, and
2764         this is a problem with -Wconversion not with the code.
2766         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
2768         Port recent gnulib-tool change to Dash
2769         * gnulib-tool (func_create_testdir): Don't assume that the shell
2770         retokenizes after expanding "$@" inside the call to
2771         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
2773 2017-10-27  Jim Meyering  <meyering@fb.com>
2775         timespec.h: use "assure" to avoid a spurious warning
2776         * lib/timespec.h: Include "assure.h" and use it to help
2777         gcc7's -Wstrict-overflow avoid a false positive warning
2778         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
2779         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
2780         * modules/timespec (Depends-on): Add assure.
2782 2017-10-29  Bruno Haible  <bruno@clisp.org>
2784         Avoid several test failures with traditional locales on Haiku.
2785         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
2786         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
2787         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
2788         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
2789         LOCALE_ZH_CN=none.
2791 2017-10-29  Bruno Haible  <bruno@clisp.org>
2793         strerror_r-posix: Fix behaviour and test failure on Haiku.
2794         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
2795         are positive. Work around return value 0 instead of ERANGE on Haiku.
2796         For unknown error numbers, use a format string consistent with perror().
2797         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
2798         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
2799         are positive.
2801 2017-10-29  Bruno Haible  <bruno@clisp.org>
2803         get-rusage-data: Avoid crash on Haiku.
2804         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
2806 2017-10-29  Bruno Haible  <bruno@clisp.org>
2808         get-rusage-as: Avoid crash on Haiku.
2809         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
2811 2017-10-29  Bruno Haible  <bruno@clisp.org>
2813         ilogbl: Ensure replacement on Haiku.
2814         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
2815         REPLACE_ILOGBL if ilogbl does not work.
2816         (gl_FUNC_ILOGBL_WORKS): New macro.
2817         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
2818         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
2819         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
2820         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
2821         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
2823 2017-10-29  Bruno Haible  <bruno@clisp.org>
2825         expl: Ensure replacement on Haiku.
2826         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
2827         zero.
2828         * doc/posix-functions/expl.texi: Mention the Haiku problem.
2830 2017-10-29  Bruno Haible  <bruno@clisp.org>
2832         math: Fix test failure on Haiku.
2833         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
2834         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
2835         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
2836         * doc/posix-headers/math.texi: Mention the Haiku problem.
2838 2017-10-29  Bruno Haible  <bruno@clisp.org>
2840         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
2841         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
2842         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
2844 2017-10-29  Bruno Haible  <bruno@clisp.org>
2846         crypto/*: Verify that the header file is self-contained.
2847         * tests/test-gc-*.c: Include the module's header file immediately after
2848         <config.h>.
2849         * tests/test-hmac-*.c: Likewise.
2850         * tests/test-arcfour.c: Likewise.
2851         * tests/test-arctwo.c: Likewise.
2852         * tests/test-des.c: Likewise.
2853         * tests/test-md2.c: Likewise.
2854         * tests/test-md4.c: Likewise.
2855         * tests/test-md5.c: Likewise.
2856         * tests/test-rijndael.c: Likewise.
2857         * tests/test-sha1.c: Likewise.
2858         * tests/test-sm3.c: Likewise.
2860 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
2861             Bruno Haible  <bruno@clisp.org>
2863         crypto/gc: fix build failure with -Werror=suggest-attribute=const
2864         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
2866 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
2868         New module: crypto/gc-sm3
2869         * lib/gc.h: Declare SM3-related stuffs.
2870         * lib/gc-gnulib.c: Support sm3 in internal functions.
2871         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
2872         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
2873         * modules/crypto/gc-sm3: Define gc-sm3 module.
2874         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
2875         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
2876         * MODULES.html.sh: List gc-sm3 module.
2878 2017-10-29  Bruno Haible  <bruno@clisp.org>
2880         random, random_r: Mention different prototypes on Haiku.
2881         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
2882         * doc/glibc-functions/random_r.texi: Likewise.
2883         * doc/glibc-functions/initstate_r.texi: Likewise.
2884         * doc/glibc-functions/setstate_r.texi: Likewise.
2886 2017-10-28  Bruno Haible  <bruno@clisp.org>
2888         posix_spawn: Avoid spurious message in configure output.
2889         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
2890         'cmp' command.
2892 2017-10-28  Bruno Haible  <bruno@clisp.org>
2894         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
2895         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
2896         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
2898 2017-10-28  Bruno Haible  <bruno@clisp.org>
2900         ioctl: Override non-POSIX declaration on Haiku.
2901         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
2902         * lib/sys_ioctl.in.h: Add comment about Haiku.
2903         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
2904         * doc/glibc-headers/sys_ioctl.texi: Likewise.
2906 2017-10-28  Bruno Haible  <bruno@clisp.org>
2908         crypto/sm3: Add overview documentation to the .h file.
2909         * lib/sm3.h: Add comments.
2911 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
2913         New module: crypto/sm3
2914         This new module can be used to compute SM3 message digest of files or
2915         memory blocks according to the specification GM/T 004-2012
2916         Cryptographic Hash Algorithm SM3, published by State Cryptography
2917         Administration, China.
2918         The official SM3 cryptographic hash algorithm specification is
2919         available at
2920         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
2921         * lib/sm3.h: Declare the APIs of sm3 module.
2922         * lib/sm3.c: Implement SM3 hash algorithm.
2923         * m4/sm3.m4: m4 file for sm3 module.
2924         * modules/crypto/sm3: Define sm3 module.
2925         * tests/test-sm3.c: Implement SM3 test case.
2926         * modules/crypto/sm3-tests: Define sm3 test module.
2927         * MODULES.html.sh: List sm3 module.
2929 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
2931         gc-libgcrypt: fix undefined enum type in switch statement
2932         Resolve the following build failure:
2933         lib/gc-libgcrypt.c: In function 'gc_hash_open':
2934         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
2935         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
2936              case 0:
2937              ^~~~
2938         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
2939         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
2941 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
2943         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
2944         Resolve the following build failure:
2945         lib/gc-libgcrypt.c: In function 'gc_hash_read':
2946         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
2947         in signedness [-Werror=pointer-sign]
2948             digest = gcry_md_read (ctx->gch, 0);
2949                    ^
2950         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
2952 2017-10-26  Bruno Haible  <bruno@clisp.org>
2954         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
2955         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
2956         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
2958 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
2960         glob: fix another heap buffer overflow
2961         Problem reported by Tim Rühsen in:
2962         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
2963         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
2965 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
2967         quotearg: pacify compiler re unsigned
2968         * lib/quotearg.c (quotearg_n_options):
2969         Rewrite to avoid diagnostic from overly-picky compiler.
2970         Problem reported by Sami Kerola in:
2971         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
2973         glob: fix heap buffer overflow
2974         * lib/glob.c (glob): Fix off-by-one error introduced into
2975         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
2976         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
2977         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
2978         Fix suggested by Bruno Haible.
2980 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
2982         glob: pacify fuzzer for mempcpy
2983         Problem reported by Tim Rühsen in:
2984         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
2985         * lib/glob.c (glob): Do not pass NULL to mempcpy.
2987 2017-10-12  Bruno Haible  <bruno@clisp.org>
2989         doc: Fix syntax error (regression from 2017-10-03).
2990         * doc/posix-functions/strncpy.texi: Fix syntax error.
2992 2017-10-12  Bruno Haible  <bruno@clisp.org>
2994         doc: Update for Solaris 11.3.
2995         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
2996         mention Solaris 11.3.
2997         * m4/log2.m4: Fix comments.
2998         * m4/log2f.m4: Likewise.
2999         * m4/printf.m4: Update comments.
3000         * m4/rename.m4: Likewise.
3001         * m4/strncat.m4: Likewise.
3003         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
3005 2017-10-10  Bruno Haible  <bruno@clisp.org>
3007         doc: Improve doc about ioctl.
3008         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
3009         prototype.
3011 2017-10-09  Bruno Haible  <bruno@clisp.org>
3013         wcwidth: Don't use obsolete syntax of 'test'.
3014         Reported by Eric Blake.
3015         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
3016         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
3018 2017-10-09  Bruno Haible  <bruno@clisp.org>
3020         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
3021         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
3022         and Daniel P. Berrange <berrange@redhat.com>.
3023         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
3024         on glibc systems. The getopt-pfx-core.h file declares exactly what
3025         unistd.h needs, nothing more.
3027 2017-10-08  Bruno Haible  <bruno@clisp.org>
3029         vma-iter: Improve support for FreeBSD.
3030         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
3031         vma_iterate.
3032         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
3034 2017-10-08  Bruno Haible  <bruno@clisp.org>
3036         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
3037         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
3039 2017-10-07  KO Myung-Hun  <komh@chollian.net>
3041         test-framework-sh: Fix 'invalid path dir' error.
3042         On OS/2, a path separator is ';' not ':'. And ':' is used as a
3043         separator between a drive letter and directory parts.
3044         As a result, an absolute path such as x:/path/to/dir on OS/2 is
3045         treated as an invalid path dir.
3046         * tests/init.sh (PATH_SEPARATOR): Set at startup.
3047         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
3048         instead of hard coded ':'.
3050 2017-10-07  Bruno Haible  <bruno@clisp.org>
3052         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
3053         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
3054         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
3055         (rof_open): On Linux, do multiple read() calls and make sure
3056         MIN_LEFTOVER bytes are left when read() returns.
3058 2017-10-07  Bruno Haible  <bruno@clisp.org>
3060         vma-iter: Improve support for GNU/Hurd.
3061         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
3062         API, not the /proc file system.
3064 2017-10-07  Bruno Haible  <bruno@clisp.org>
3066         test-framework-sh: Don't require bash on Windows and OS/2.
3067         Reported by KO Myung-Hun.
3068         * tests/test-init.sh: Use 'shopt' only when running in bash.
3070 2017-10-06  KO Myung-Hun  <komh@chollian.net>
3072         wcwidth: check a macro version of wcwidth () as well
3073         * lib/wchar.in.h: Revert commit from 2016-01-14.
3074         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
3076 2017-10-06  Bruno Haible  <bruno@clisp.org>
3078         getopt-posix: Clarify copyright header.
3079         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
3080         * lib/getopt-pfx-core.h: Likewise.
3081         * lib/getopt-pfx-ext.h: Likewise.
3082         * lib/getopt-cdefs.in.h: Likewise.
3084 2017-10-03  Bruno Haible  <bruno@clisp.org>
3086         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
3087         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
3088         gl_HOST_CPU_C_ABI.
3090 2017-10-03  Bruno Haible  <bruno@clisp.org>
3092         doc: warn about misuse of strncpy and wcsncpy.
3093         * doc/posix-functions/strcpy.texi: Describe requirements on prior
3094         memory allocation.
3095         * doc/posix-functions/wcscpy.texi: Likewise.
3096         * doc/posix-functions/strncpy.texi: Describe what this function is not
3097         useful for.
3098         * doc/posix-functions/wcsncpy.texi: Likewise.
3100 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
3102         fsuage: fix typo in previous change
3103         * lib/fsusage.c: Remove stray include of full-read.h.
3104         Problem reported by Sam Steingold for macOS (Bug#28669).
3106 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
3108         fsusage: remove SVR2 support
3109         SVR2 was obsolete by 1986 and is no longer supported by anybody,
3110         and its code was getting in the way of use of this module by
3111         Emacs, which has its own ‘read’ function anyway.
3112         * lib/fsusage.c: Do not include sys/filsys.h.
3113         (get_fs_usage): Remove SVR2-specific code.
3114         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
3115         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
3116         * modules/fsusage (Depends-on): Do not depend on full-read.
3118         Simplify autoupdate of licenses
3119         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
3120         place.
3122 2017-10-01  Bruno Haible  <bruno@clisp.org>
3124         vma-iter: Add support for GNU/Hurd.
3125         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
3126         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
3128 2017-09-30  Bruno Haible  <bruno@clisp.org>
3130         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
3131         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
3132         fail when module 'largefile' is in use.
3133         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
3134         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
3135         Don't test HAVE_SYS_PROCFS_H.
3137 2017-09-30  Bruno Haible  <bruno@clisp.org>
3139         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
3140         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
3141         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
3142         * modules/havelib (Depends-on): Add host-cpu-c-abi.
3144 2017-09-30  Bruno Haible  <bruno@clisp.org>
3146         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
3147         * lib/uniname/uniname.c (unicode_name_character): Add braces around
3148         scope of local variables.
3150 2017-09-28  Bruno Haible  <bruno@clisp.org>
3152         string: code style
3153         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
3154         substitutable variables.
3155         * modules/string (Makefile.am): Likewise.
3157 2017-09-26  Bruno Haible  <bruno@clisp.org>
3159         uniname/uniname-tests: Tighten code.
3160         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
3161         local variables into one.
3163 2017-09-26  Bruno Haible  <bruno@clisp.org>
3165         vma-iter: Improvements for Linux and BSD platforms.
3166         - Add support for DragonFly BSD.
3167         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
3168         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
3169         Read the entire file into memory in a single system call.
3170         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
3171         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
3173 2017-09-26  Bruno Haible  <bruno@clisp.org>
3175         vma-iter: Provide the protection flags on FreeBSD.
3176         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
3177         skip three fields between the addresses and the protection flags.
3179 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3181         glob: remove bogus extern decl
3182         * lib/glob.c (__glob_pattern_type): Remove now-spurious
3183         extern declaration.  Problem reported by Adhemerval Zanella in:
3184         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
3186 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3188         uniname/uniname-tests: integer overflow fix
3189         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
3190         Check for integer overflow.
3192         duplocale-tests: fix unlikely crash
3193         * tests/test-duplocale.c (get_locale_dependent_values):
3194         Don’t crash with absurdly long month names.
3196         maint: fix overflow checking in nap.h
3197         * modules/chown-tests:
3198         * modules/fchownat-tests, modules/fdutimensat-tests:
3199         * modules/futimens-tests, modules/lchown-tests:
3200         * modules/stat-time-tests, modules/utime-tests:
3201         * modules/utimens-tests, modules/utimensat-tests:
3202         Depend on intprops.
3203         * tests/nap.h: Include intprops.h.
3204         (diff_timespec): Handle overflow properly.
3206         sys_types: update URL
3207         * m4/sys_types_h.m4: Use https: URL.
3209         parse-datetime: fix dependency
3210         * modules/parse-datetime (Depends-on): Depend
3211         on nstrftime, not strftime.
3213         parse-datetime, posixtm: avoid uninit access
3214         * lib/parse-datetime.y (parse_datetime2):
3215         * lib/posixtm.c (posixtime):
3216         Do not access uninitialized storage, even though the resulting
3217         value is never used.
3219 2017-09-25  Bruno Haible  <bruno@clisp.org>
3221         vma-iter: Improvements for BSD platforms.
3222         - Add support for GNU/kFreeBSD.
3223         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
3224         - Speed up on OpenBSD.
3225         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
3226         (vma_iterate_bsd): New function.
3227         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
3228         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
3229         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
3230         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
3232 2017-09-23  Bruno Haible  <bruno@clisp.org>
3234         strfmon_l: New module.
3235         * modules/strfmon_l: New file.
3236         * lib/strfmon_l.c: New file.
3237         * m4/strfmon_l.m4: New file.
3238         * doc/posix-functions/strfmon_l.texi: Mention the new module.
3239         * modules/strfmon_l-tests: New file.
3240         * tests/test-strfmon_l.c: New file.
3242         monetary: New module.
3243         * modules/monetary: New file.
3244         * lib/monetary.in.h: New file.
3245         * m4/monetary_h.m4: New file.
3246         * doc/posix-headers/monetary.texi: Mention the new module.
3247         * modules/monetary-tests: New file.
3248         * tests/test-monetary.c: New file.
3249         * modules/monetary-c++-tests: New file.
3250         * tests/test-monetary-c++.cc: New file.
3251         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
3253 2017-09-23  Bruno Haible  <bruno@clisp.org>
3255         duplocale tests: Fix test crash on Linux/x86.
3256         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
3257         locale from the current thread before freeing it.
3259 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
3261         mktime: port to OpenVMS
3262         Problem reported by John E. Malmberg in:
3263         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
3264         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
3266 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
3268         manywarnings: port to GCC on 64-bit MS-Windows
3269         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
3270         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
3271         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
3273 2017-09-13  Bruno Haible  <bruno@clisp.org>
3275         all: Replace many more http URLs by https URLs. Update stale URLs.
3276         * users.txt: Remove mention of 'newts'.
3277         * lib/localename.c: Update comment about LANG_SOTHO.
3279 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3281         all: Replace many http URLs by https URLs.
3283 2017-09-12  Bruno Haible  <bruno@clisp.org>
3285         doc: Prefer https URLs where possible.
3286         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
3287         * doc/ld-output-def.texi: Remove unavailable URL.
3289 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3291         maintainer-makefile: FTP -> HTTPS
3292         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
3293         of FTP, which is planned to be decommissioned on 2017-11-01.
3295 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
3297         libc-config: Fix __GNUC_PREREQ macro.
3298         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
3299         __GNUC_MINOR.
3301 2017-09-09  Bruno Haible  <bruno@clisp.org>
3303         gnulib-tool: Simplify commit from 2015-08-20.
3304         * gnulib-tool (func_add_or_update): Remove local variable
3305         is_binary_file.
3307 2017-09-08  Bruno Haible  <bruno@clisp.org>
3309         stddef: Avoid conflict with system-defined max_align_t.
3310         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
3311         Reported by Werner Lemberg <wl@gnu.org> in
3312         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
3313         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
3314         (max_align_t): Define as a macro.
3315         (GNULIB_defined_max_align_t): New macro. Guards against multiple
3316         definitions of rpl_max_align_t in different copies of gnulib-generated
3317         <stddef.h>.
3319 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3321         libc-config: port to MSVC
3322         Problems reported by Gisle Vanem in:
3323         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
3324         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
3325         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
3326         * m4/__inline.m4: New file.
3327         * modules/libc-config (Files): Add it.
3328         (Depends-on): Use it.
3330         glob: Use enum for __glob_pattern_type result
3331         From a patch proposed by Adhemerval Zanella in:
3332         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
3333         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
3334         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
3335         * lib/glob_internal.h (__glob_pattern_type):
3336         * lib/glob.c (glob):
3337         * lib/glob_pattern_p.c (__glob_pattern_p):
3338         Use them.
3340         glob: fix for use in glibc
3341         Problem reported by Adhemerval Zanella in:
3342         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
3343         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
3344         Do not redefine if _LIBC.
3346 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
3348         glob: fix bugs with long login names
3349         Problem reported by Adhemerval Zanella in:
3350         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
3351         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
3352         (glob): Use the same scratch buffer for both getlogin_r and
3353         getpwnam_r.  Don’t require preallocation of the login name.  This
3354         simplifies storage allocation, and corrects the handling of
3355         long login names.
3357 2017-09-02  Bruno Haible  <bruno@clisp.org>
3359         dirent: Update doc.
3360         * doc/posix-headers/dirent.texi: More concrete list of platforms.
3362 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
3364         glob: fix getpwnam_r errno typo
3365         * lib/glob.c (glob): Fix longstanding misuse of errno after
3366         getpwnam_r, which returns an error number rather than setting
3367         errno.
3369         glob: fix typo in recent change
3370         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
3371         Fix recently-introduced typo.
3373 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
3375         glob: don't save and restore errno unnecessarily
3376         * lib/glob.c (glob): Don't save and restore errno
3377         merely because we have getpwnam_r.
3379         glob: don't assume getpwnam_r
3380         * lib/glob.c (glob): Port recent patches to platforms
3381         lacking getpwnam_r.
3383         scratch_buffer: don’t use private glibc API
3384         Suggested by Florian Weimer in:
3385         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
3386         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
3387         * lib/scratch_buffer_grow.c: Rename to
3388         lib/malloc/scratch_buffer_grow.c.
3389         * lib/scratch_buffer_grow_preserve.c: Rename to
3390         lib/malloc/scratch_buffer_grow_preserve.c.
3391         * lib/scratch_buffer_set_array_size.c: Rename to
3392         lib/malloc/scratch_buffer_set_array_size.c.
3393         * lib/scratch_buffer.h: New file.
3394         * modules/scratch_buffer (Files, Makefile.am):
3395         Adjust to source-file renaming.
3397 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3399         glob: use scratch_buffer instead of extend_alloca
3400         Much of the lib/glob.c part of this patch comes from a glibc patch
3401         proposed by Adhemerval Zanella in:
3402         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
3403         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
3404         included via glob.h, does this for us now.
3405         (__set_errno): Remove, as libc-config does this for us now.
3406         Include <scratch_buffer.h>.
3407         (GETPW_R_SIZE_MAX): Remove.
3408         (glob): Use struct scratch_buffer instead of extend_alloca.
3409         * lib/glob.in.h: Include libc-config.h rather than
3410         including <sys/cdefs.h> conditionally.
3411         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
3412         (__glibc_unlikely, __restrict, weak_alias):
3413         Remove, as libc-config does this for us now.
3414         * m4/glob.m4 (gl_PREREQ_GLOB):
3415         Remove sys/cdefs.h tests; no longer needed.
3416         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
3417         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
3419         scratch_buffer: new module
3420         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
3421         * lib/scratch_buffer_grow_preserve.c:
3422         * lib/scratch_buffer_set_array_size.c:
3423         New files, copied from glibc with very minor changes that can be
3424         copied back.
3425         * modules/scratch_buffer: New file.
3427         libc-config: new module
3428         * MODULES.html.sh: Add libc-config.
3429         * lib/cdefs.h: New file, copied from the GNU C Library with very
3430         minor changes that can be copied back.
3431         * lib/libc-config.h, modules/libc-config: New files.
3433 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
3435         glob: match dangling symlinks
3436         This fixes a bug I inadvertently introduced to Gnulib when I
3437         merged glibc glob back into gnulib on 2007-10-16.  This fix is
3438         inspired by a patch proposed for glibc by Adhemerval Zanella in:
3439         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
3440         * doc/posix-functions/glob.texi: Update list of affected platforms.
3441         * lib/glob.c (__lstat64): New macro.
3442         (is_dir): New function.
3443         (glob, glob_in_dir): Match symlinks even if they are dangling.
3444         (link_stat, link_exists_p): Remove.  All uses removed.
3445         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
3446         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
3447         * modules/glob-tests (Depends-on): Add symlink.
3448         * tests/test-glob.c: Include errno.h, unistd.h.
3449         (BASE): New macro.
3450         (main): Test dangling symlinks, if symlinks are supported.
3452         glob, backupfile: inode 0 is a valid inode number
3453         * doc/posix-functions/readdir.texi (readdir):
3454         * doc/posix-headers/dirent.texi (dirent.h):
3455         Document more readdir portability issues.
3456         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
3457         (numbered_backup): Don’t treat inode 0 any differently from
3458         other inode values.
3459         * lib/glob.c (struct readdir_result): Remove skip_entry member.
3460         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
3461         All uses removed.
3462         * modules/glob (Depends-on): Remove d-ino.
3464         glob: simplify symlink detection
3465         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
3466         uint8_t, as C99 does not require uint8_t.
3467         (struct readdir_result): Use it.  Do not define skip_entry unless
3468         it is needed; this saves a byte on platforms lacking d_ino.
3469         (readdir_result_type, readdir_result_skip_entry):
3470         New functions, replacing ...
3471         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
3472         ... these functions, which were removed.  This makes the callers
3473         easier to read.  All callers changed.
3474         (D_INO_TO_RESULT): Now empty if there is no d_ino.
3476 2017-08-30  Pádraig Brady  <P@draigBrady.com>
3478         fts-tests: tag as a longrunning-test so not included by default
3479         * modules/fts-tests: This test takes about 20s on current systems,
3480         and uses about 285M of space on ext4.
3482 2017-08-30  Pádraig Brady  <P@draigBrady.com>
3484         renameat2: fix compilation on alpine linux
3485         * m4/renameat.m4: Check for <linux/fs.h> presence.
3486         * lib/renameat2.h: Only include <linux/fs.h> if present.
3487         Reported by Assaf Gordon on Alpine Linux.
3489 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3491         glob: try to port recent changes to MS-Windows
3492         Problem reported by Bruno Haible in:
3493         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
3494         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
3495         * lib/glob.in.h (__glob_pattern_p): ... to here.
3497 2017-08-24  Eric Blake  <eblake@redhat.com>
3499         warnings: fix compilation with old autoconf
3500         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
3501         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
3502         AC_DEFUN.
3503         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
3504         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
3506 2017-08-24  Bruno Haible  <bruno@clisp.org>
3508         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
3509         * modules/glob (Depends-on): Add c99.
3511 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3513         glob: fix typo that broke platforms lacking d_ino
3514         This typo also hurt performance on GNU/Linux and similar hosts.
3515         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
3516         in previous change.
3518 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3520         glob: merge from glibc with Zanella glob changes
3521         Merge glob from glibc, with changes for glob proposed
3522         by Adhemerval Zanella in the thread starting here:
3523         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
3524         plus some fixes for this merge.
3525         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
3526         New files, ported from glibc.
3527         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
3528         with __restrict.
3529         (__size_t): Remove.  All uses replaced by size_t.
3530         (size_t): Define by defining __need_size_t and including <stddef.h>.
3531         This should work even in non-glibc platforms, where any name
3532         pollution is OK.
3533         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
3534         (struct stat64): Don’t worry about __GLOB_GNULIB.
3535         (glob, globfree, glob_pattern_p): Remove macros for
3536         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
3537         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
3538         but set errno.
3539         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
3540         removed since the glibc behavior works on null pointers.
3541         Do not include stdio.h; old SunOS is irrelevant now.
3542         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
3543         Include glob_internal.h.
3544         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
3545         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
3546         worked only coincidentally.
3547         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
3548         Remove macros; now done in glob.in.h.
3549         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
3550         (glob): Properly initialize glob structure with
3551         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
3552         Remove old code using SHELL since Bash no longer
3553         uses this.
3554         (glob, prefix_array): Separate MS code better.
3555         (glob, glob_in_dir): Use C99 decls before statements when glibc
3556         does.
3557         (glob_in_dir): Remove old Amiga and VMS code.
3558         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
3559         separate files.
3560         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
3561         (__glibc_unlikely):
3562         Move here from glob.c.
3563         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
3564         (weak_alias): New macro.
3565         (__size_t): Remove.  All uses replaced by size_t.
3566         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
3567         * modules/glob (Files): Add +lib/glob_internal.h,
3568         lib/glob_pattern_p.c, lib/globfree.c.
3569         (Depends-on): Remove snippet/arg-nonnull.
3571 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3573         glob: port to clang's Undefined Sanitizer
3574         Problem reported by Tim Rühsen in:
3575         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
3576         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
3577         (glob_in_dir): Do not rely on undefined behavior in accessing
3578         struct members beyond their bounds.  Use a flexible array member
3579         instead.
3581 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
3583         vc-list-files: port to Solaris 10
3584         * build-aux/vc-list-files: Don't assume test -e works.
3586 2017-08-21  Karl Berry  <karl@freefriends.org>
3588         * doc/posix-functions/srandom.texi (srandom): typo }.
3590 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3592         git-version-gen: port to Solaris 10
3593         Problem reported by Dagobert Michelsen in:
3594         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
3595         * build-aux/git-version-gen (v_from_git):
3596         Use expr instead of shell substitution.
3598 2017-08-19  Bruno Haible  <bruno@clisp.org>
3600         host-cpu-c-abi: Improve detection of MIPS ABI.
3601         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
3602         _MIPS_SIM.
3604 2017-08-17  Bruno Haible  <bruno@clisp.org>
3606         hypot tests: Fix test failure on FreeBSD 11.0/x86.
3607         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
3609 2017-08-17  Bruno Haible  <bruno@clisp.org>
3611         float: Fix LDBL_MIN value on FreeBSD/x86.
3612         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
3614 2017-08-17  Bruno Haible  <bruno@clisp.org>
3616         random: Fix test compilation failure on Cygwin 1.5.25.
3617         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
3618         HAVE_DECL_SETSTATE.
3619         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
3620         declared.
3621         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
3622         HAVE_DECL_SETSTATE.
3623         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
3624         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
3625         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
3626         * doc/posix-functions/random.texi: Likewise.
3627         * doc/posix-functions/setstate.texi: Likewise.
3628         * doc/posix-functions/srandom.texi: Likewise.
3630 2017-08-16  Bruno Haible  <bruno@clisp.org>
3632         stdnoreturn: Fix test compilation failure on Cygwin.
3633         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
3634         <stdnoreturn.h> replacement.
3635         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
3636         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
3638 2017-08-16  Bruno Haible  <bruno@clisp.org>
3640         thread: Fix conflict with pthread_sigmask module.
3641         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
3642         it's defined as a macro.
3643         * modules/thread (Depends-on): Add pthread_sigmask.
3645 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
3647         rename: port better to NetBSD
3648         * doc/posix-functions/rename.texi (rename): NetBSD 7
3649         does not have the link-count bug.
3650         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
3651         broken merely because rename ("a", "b") removes "a" when the two
3652         names are hard links to the same file.
3654 2017-08-16  Bruno Haible  <bruno@clisp.org>
3656         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
3657         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
3658         the target file names with '$(srcdir)/'.
3659         * modules/unicase/locale-language (Makefile.am): Likewise.
3660         * modules/unicase/special-casing (Makefile.am): Likewise.
3661         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
3662         * modules/unictype/category-byname (Makefile.am): Likewise.
3663         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
3664         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
3665         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
3666         * modules/unictype/property-byname (Makefile.am): Likewise.
3667         * modules/unictype/scripts (Makefile.am): Likewise.
3668         * modules/uninorm/composition (Makefile.am): Likewise.
3670 2017-08-16  Bruno Haible  <bruno@clisp.org>
3672         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
3673         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
3674         value for OpenBSD.
3676 2017-08-16  Bruno Haible  <bruno@clisp.org>
3678         rename, renameat: Update doc regarding NetBSD.
3679         * doc/posix-functions/rename.texi: Clarify that when using
3680         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
3681         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
3682         version.
3684 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3686         renameat2: port better to macOS
3687         * lib/renameat2.c (renameat2): Use renameatx_np if available.
3689         futimens: don’t assume struct timespec layout
3690         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
3691         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
3692         * tests/test-fdutimensat.c (main):
3693         * tests/test-futimens.h (test_futimens):
3694         * tests/test-lutimens.h (test_lutimens):
3695         * tests/test-utimens.h (test_utimens):
3696         * tests/test-utimensat.c (main):
3697         Don’t assume that struct timespec is a two-member structure in
3698         tv_sec, tv_nsec order.  Although this is true on all platforms we
3699         know about, POSIX does not guarantee it.
3701         rename: document+test NetBSD rename
3702         Test failure reported by Bruno Haible in:
3703         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
3704         This is an area where NetBSD is better-behaved than POSIX,
3705         so allow the NetBSD behavior in tests.
3706         * doc/posix-functions/rename.texi:
3707         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
3708         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
3710 2017-08-15  Bruno Haible  <bruno@clisp.org>
3712         renameat: Ensure declaration in <stdio.h> on NetBSD.
3713         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
3714         * doc/posix-functions/renameat.texi: Mention this problem.
3716 2017-08-15  Bruno Haible  <bruno@clisp.org>
3718         duplocale: Work around NetBSD 7.0 bug.
3719         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
3720         * lib/duplocale.c: Add comment about NetBSD problem.
3721         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
3723 2017-08-15  Bruno Haible  <bruno@clisp.org>
3725         duplocale tests: Verify use with *_l functions.
3726         * modules/duplocale-tests (configure.ac): Test for uselocale and
3727         some *_l functions.
3728         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
3729         from main.
3730         (get_locale_dependent_values_from, test_with_locale_parameter): New
3731         functions.
3732         (main): Test both test_with_uselocale and test_with_locale_parameter.
3734 2017-08-15  Bruno Haible  <bruno@clisp.org>
3736         extensions: Enable NetBSD specific extensions.
3737         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
3739 2017-08-14  Bruno Haible  <bruno@clisp.org>
3741         open, openat: Update doc about O_CLOEXEC.
3742         * doc/posix-functions/open.texi: More concrete list of platforms.
3743         * doc/posix-functions/openat.texi: Likewise.
3745 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3747         open: support O_CLOEXEC
3748         * NEWS, doc/posix-functions/open.texi:
3749         * doc/posix-functions/openat.texi: Document this.
3750         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
3751         (GNULIB_defined_O_CLOEXEC): New symbol.
3752         * lib/open.c: Include cloexec.h.
3753         (open): Support O_CLOEXEC.
3754         * lib/openat.c: Include cloexec.h.
3755         (rpl_openat): Support O_CLOEXEC.
3756         * lib/popen-safer.c: Do not include cloexec.h.
3757         (open_noinherit): Remove.
3758         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
3759         * lib/save-cwd.c: Do not include cloexec.h.
3760         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
3761         * m4/open-cloexec.m4: New file.
3762         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
3763         Replace 'open' if O_CLOEXEC is not present.
3764         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
3765         Replace 'openat' if O_CLOEXEC is not present.
3766         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
3767         * modules/open (Files): Add m4/open-cloexec.m4.
3768         (Depends-on): Depend on cloexec if replacing 'open'.
3769         * modules/openat (Files): Add m4/open-cloexec.m4.
3770         (Depends-on): Depend on cloexec if replacing openat.
3771         * modules/popen-safer (Depends-on): Remove cloexec.
3772         * modules/save-cwd (Depends-on): Remove cloexec, and add
3773         fd-safer-flag and 'open'.
3775 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
3777         reallocarray: minor fixes
3778         * doc/glibc-functions/reallocarray.texi: Update version numbers.
3779         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
3780         * modules/reallocarray (License): Change from GPL to LGPL.
3781         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
3782         Indent properly and don't use tabs.
3784 2017-08-13  Darshit Shah  <darnir@gnu.org>
3786         reallocarray: New module
3787         reallocarray is a new function in glibc 2.26 to safely allocate an array
3788         of memory locations with integer overflow protection.
3789         * MODULES.html.sh: Add reallocarray.
3790         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
3791         * lib/reallocarray.c: New file to implement module reallocarray.
3792         * lib/stdlib.in.h: Add function declarations for reallocarray.
3793         * m4/reallocarray.m4: New file.
3794         * m4/stdlib_h.m4: Declare reallocarray.
3795         * modules/reallocarray: New file.
3796         * modules/reallocarray-test: New file.
3797         * modules/stdlib: Coerce stdlib.h to export reallocarray.
3798         * tests/test-reallocarray.c: New test.
3800 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
3802         dirent-safer: fix cloexec race
3803         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
3804         (opendir_safer): Use F_DUPFD_CLOEXEC.
3805         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
3806         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
3807         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
3808         instead of dup_safer.
3810         fts: fix cloexec races
3811         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
3812         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
3813         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
3814         (fd_ring_check): Set cloexec flag on new file descriptors.
3815         (fts_build, fd_ring_check): While we’re at it, make sure the
3816         resulting file descriptor is not 0, 1, or 2, since that is easy.
3818 2017-08-11  Bruno Haible  <bruno@clisp.org>
3820         fts tests: Fix link error.
3821         Reported by Tom G. Christensen in
3822         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
3823         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
3825 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
3827         fts: port recent changes to CentOS 6
3828         Problem reported by Tom G. Christensen in:
3829         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
3830         * lib/fts.c (fsword): New type.
3831         (struct dev_type, filesystem_type): Use it.
3832         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
3833         Also, check for f_type only if fstatfs and sys/vfs.h work.
3835 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3837         tempname: do not depend on secure_getenv
3838         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
3839         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
3840         * modules/tempname (Depends-on): Remove secure_getenv.
3842 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
3844         extensions: add _OPENBSD_SOURCE
3845         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
3847 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
3848             Bruno Haible  <bruno@clisp.org>
3850         manywarnings: Add support for C++.
3851         * build-aux/g++-warning.spec: New file.
3852         * m4/manywarnings-c++.m4: New file.
3853         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
3854         redirects to manywarnings-c++.m4.
3855         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
3857 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
3859         git-version-gen: another fix for tags with "-"
3860         * build-aux/git-version-gen: Improve fix for tags containing "-".
3861         Suggested by Markus Armbruster in:
3862         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
3864 2017-08-06  Bruno Haible  <bruno@clisp.org>
3866         warnings, manywarnings: Add support for multiple languages, not just C.
3867         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
3868         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
3869         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
3870         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
3871         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
3872         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
3873         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
3874         of the current language. If C++ is the current language, modify
3875         WARN_CXXFLAGS instead of WARN_CFLAGS.
3876         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
3877         gl_MANYWARN_ALL_GCC.
3878         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
3880 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
3882         git-version-gen: Fix for tags containing '-'
3884         Really old versions of git-describe (before v1.5.0, Feb 2007)
3885         don't have the number of commits in their long format output,
3886         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
3887         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
3888         recognizes both patterns, and normalizes the old format to the new one.
3890         Unfortunately, this normalization code gets confused when the tag
3891         contains '-'.  Reproducer:
3893             $ git-tag -m test v0.2-rc1
3894             $ build-aux/git-version-gen .tarball-version; echo
3895             build-aux/git-version-gen: WARNING: git rev-list failed
3896             UNKNOWN
3898         We take exact tag "v0.2-rc1" for the old format, extract the presumed
3899         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
3900         commits since tha tag.  Fails, because tag "v0.2" does not exist.
3902         * git-version-gen: We could perhaps drop support for versions from
3903         more than a decade ago.  But tightening the pattern match is easy
3904         enough, so do that.  Still breaks when you use version tags ending in
3905         something matching -g????, but you arguably get what you deserve then.
3907 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
3909         valgrind-tests: use ls, and cache
3910         * m4/valgrind-tests.m4: Test ls, not bash.
3911         Problem reported by Reuben Thomas.
3912         Also, cache the result so that it can be overridden.
3914 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
3916         manywarnings: port to 64-bit GCC builds of Emacs
3917         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
3918         object size rather than hardwiring 2147483647.  This is needed to
3919         build GNU Emacs, which has one conditional (and used
3920         only-in-theory) call to malloc with a literal greater than
3921         2147483647.
3923 2017-08-04  Bruno Haible  <bruno@clisp.org>
3925         Relax the license of some modules with no runtime code.
3926         * modules/std-gnu11 (License): Set to 'unlimited'.
3927         * modules/c99 (License): Likewise.
3928         Reported by Reuben Thomas <rrt@sc3d.org>.
3929         * modules/d-ino (License): Set to 'LGPL'.
3930         * modules/host-os (License): Likewise.
3931         * modules/longlong (License): Likewise.
3933 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
3935         renameat2: port to RHEL 7 + NFS
3936         * lib/renameat2.c (renameat2) [SYS_renameat2]:
3937         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
3938         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
3940 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3942         renameat2: port to non-renameat platforms
3943         Problem reported for MSVC-2015 by Gisle Vanem in:
3944         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
3945         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
3946         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
3948 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
3950         manywarnings: port to 32-bit GCC bug
3951         Problem reported by Pino Toscano in:
3952         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
3953         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
3954         not 2**63 - 1, to work around the following GCC bug:
3955         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
3957 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
3959         backupfile: new function to validate backup suffix
3960         * lib/backupfile.c (set_simple_backup_suffix): New function.
3961         (backupfile_internal): Use it.
3963         canonicalize: fix EOVERFLOW commentary
3964         Problem reported by Bruno Haible in:
3965         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
3966         * lib/canonicalize.c (canonicalize_filename_mode):
3967         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
3969         Don't interpret EOVERFLOW to mean nonexistence
3970         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
3971         may be EOVERFLOW; this is likely more useful than reporting the
3972         stat errno.
3973         * lib/glob.c (link_stat): Rename from link_exists2_p and
3974         return -1/0 instead of 0/1.  Caller changed.
3975         * lib/glob.c (link_exists_p):
3976         * lib/renameat2.c (rename_noreplace, renameat2):
3977         * lib/tempname.c (try_nocreate):
3978         If errno == EOVERFLOW then the directory entry exists, so do not
3979         act as if it does not exist.
3981         backup-rename: new module
3982         It is like backupfile, except it avoids some race conditions,
3983         and it does not output to stderr or exit.
3984         * MODULES.html.sh: Add backup-rename.
3985         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
3986         * modules/backup-rename: New files.
3987         * lib/backupfile.c: Turn this into an internals file, which
3988         contains code common to backupfile and backup_rename.  Include
3989         backupfile-internal.h instead of backupfile.h.  Do not include
3990         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
3991         renameat2.h and fcntl.h.
3992         (BACKUP_NOMEM): New constant.
3993         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
3994         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
3995         (backupfile_internal): Rename from find_backup_file_name.
3996         Support new arg RENAME.
3997         (backup_args, backup_types, get_version, xget_version):
3998         Move to lib/backup-find.c.
3999         * lib/backupfile.h (backup_file_rename): New decl.
4000         * modules/backupfile (Files): Add lib/backup-internal.h,
4001         lib/backup-find.c.
4002         (Depends-on): Add dirfd, fcntl, renameat2.
4003         (lib_SOURCES): Add backup-find.c.
4005         renameat2: port better to older Solaris
4006         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
4007         Add goto to use a label, to silence picky compilers.
4009         fts-tests: port to gcc -Wwrite-strings
4010         * tests/test-fts.c (base, base_d): New static vars.
4011         (argv, remove_tree, main): Use them.
4013 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
4015         relocatable-lib{,-lgpl}: improve documentation
4016         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
4017         Various other updates.
4019 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
4020             Bruno Haible  <bruno@clisp.org>
4022         relocatable-lib{,-lgpl}: add Valgrind suppressions
4023         * lib/relocatable.valgrind: New file.
4024         * modules/relocatable-lib (Files): Add relocatable.valgrind.
4025         * modules/relocatable-lib-lgpl: Likewise.
4027 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
4029         relocatable: Make the license on the sources the GPL.
4030         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
4031         LGPL, which was a special case so that the relocatable source files
4032         could be used without gnulib-tool, to GPL. They can still be used under
4033         the LGPL, using the --lgpl option to gnulib-tool.
4035 2017-07-30  Bruno Haible  <bruno@clisp.org>
4037         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
4038         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
4039         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
4040         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
4041         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
4043 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
4045         faccessat: document AT_SYMLINK_NOFOLLOW issue
4046         * doc/posix-functions/faccessat.texi: Modernize platform list.
4047         Document AT_SYMLINK_NOFOLLOW limitation.
4049         renameat2: port to Solaris 10
4050         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
4051         with AT_SYMLINK_NOFOLLOW (which is not portable).
4052         (renameat): Undef before using, to avoid endless recursion when
4053         the replacement renameat calls renameat2 which calls the
4054         replacement renameat.
4055         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
4056         * modules/renameat2 (Depends-on): Remove faccessat.
4057         * modules/renameat-tests (test_renameat_LDADD):
4058         * modules/renameat2-tests (test_renameat2_LDADD):
4059         Remove $(LIB_EACCESS).
4061         renameat2: new module
4062         Although the Linux syscall renameat2 is not in glibc (yet?), it is
4063         useful to have access to its RENAME_NOREPLACE flag.
4064         * MODULES.html.sh (func_all_modules): Add renameat2.
4065         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
4066         * modules/renameat2-tests, tests/test-renameat2.c: New files.
4067         * lib/renameat.c (renameat): Move most of the implementation
4068         to renameat2, and just call renameat2.
4069         * modules/renameat (Files): Remove lib/at-func2.c.
4070         (Depends-on): Depend only on renameat2.
4071         (Include): Remove <fcntl.h>.
4072         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
4073         since renameat (via renameat2) might use faccessat.
4075 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
4077         vc-list-files: Adjust the script to support git worktrees
4078         * build-aux/vc-list-files: Require existence, not directory.
4080 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
4082         doc: bring MODULES.html.sh up to date
4083         Somehow a few months ago we stopped updating MODULES.html.sh.
4084         I don’t recall explicitly deciding this, so I updated it now.
4085         Alternatively I suppose we could remove it.
4086         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
4087         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
4088         truncate, utime, utime-h, windows-stat-inodes,
4089         windows-stat-override, windows-stat-timespec, year2038.  Sort.
4091 2017-07-26  Jim Meyering  <meyering@fb.com>
4093         fprintftime: fix build-break caused by recent renaming
4094         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
4095         "strftime.c".
4096         * modules/fprintftime: Depend directly on nstrftime.
4098 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
4100         regex: work with GCC7's -Werror=implicit-fallthrough=
4101         * lib/regex_internal.h (FALLTHROUGH): New macro.
4102         * lib/regcomp.c (peek_token_bracket, parse_expression):
4103         * lib/regexec.c (check_node_accept): Use it.
4105 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4107         fts: simplify fts_build
4108         * lib/fts.c (fts_build): Simplify, and be lazier about
4109         calling leaf_optimization.
4111         fts: three levels of leaf optimization
4112         * lib/fts.c (enum leaf_optimization): New type with three values.
4113         (S_MAGIC_AFS): New macro.  Sort them.
4114         (leaf_optimization): Rename from leaf_optimization_applies, and
4115         return enum leaf_optimization instead of bool.  All uses changed.
4116         Add cases for unknown type and for AFS.
4117         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
4119         fts: cache dirent_inode_sort_may_be_useful too
4120         * lib/fts.c (struct dev_type): New struct.
4121         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
4122         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
4123         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
4124         Now takes FTSENT const *, not int.  All uses changed.  Use
4125         filesystem_type to cache.
4126         (link_count_optimize_ok): Remove.  Caller changed to use
4127         leaf_optimization_applies, which now uses shared cache.
4129         fts: introduce MIN_DIR_NLINK
4130         * lib/fts.c (MIN_DIR_NLINK): New constant.
4131         Use it instead of 2, whenever we are talking about link counts.
4133         fts: nlink_t signedness fixups
4134         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
4135         so that root need not be a special case later.
4136         (fts_read): Remove now-redundant test for fts_level.
4137         Do not assume that nlink_t is signed.
4138         (fts_build): Remove useless decrement of nlinks.
4139         (fts_stat): Avoid unlikely signed integer overflow later, if
4140         nlink_t is signed.
4142         fts-tests: new module
4143         * modules/fts-tests, tests/test-fts.c: New files.
4145 2017-07-23  Bruno Haible  <bruno@clisp.org>
4147         Rename module 'strftime' to 'nstrftime'.
4148         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
4149         * lib/nstrftime.c: Renamed from lib/strftime.c.
4150         * modules/nstrftime: Renamed from modules/strftime.
4151         (Files, Makefile.am): Update.
4152         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
4153         Fix comment.
4154         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
4155         (Files, Makefile.am): Update.
4156         * modules/strftime: New file, an obsolete indirection.
4157         * doc/posix-functions/strftime.texi: Update reference.
4158         * config/srclist.txt: Update info.
4159         * NEWS: Mention the change.
4161 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
4163         malloca: Silence a warning from clang's memory sanitizer.
4164         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
4165         (freea): Use it.
4167 2017-07-18  Bruno Haible  <bruno@clisp.org>
4169         host-cpu-c-abi: Fix detection of MIPS ABI.
4170         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
4171         ABI, not the CPU instruction set.
4173 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4175         explicit_bzero: new module
4176         The explicit_bzero function has been added to glibc.
4177         This module is intended to supports its use in GNU programs.
4178         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
4179         * m4/explicit_bzero.m4, modules/explicit_bzero:
4180         New files.
4181         * doc/gnulib.texi (Glibc string.h): Link to new doc.
4182         * lib/string.in.h (explicit_bzero): Declare.
4183         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
4184         * modules/string (string.h): Substitute its vars.
4186 2017-07-16  Bruno Haible  <bruno@clisp.org>
4188         threadlib: Support static linking.
4189         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
4190         set gl_cv_have_weak to 'no'.
4192 2017-07-16  Bruno Haible  <bruno@clisp.org>
4194         unicase/locale-language: Fix link dependencies.
4195         * modules/unicase/locale-language (Link): New section.
4196         * modules/unicase/locale-language-tests (Makefile.am): Link
4197         test-locale-language program with $(LIBTHREAD).
4199 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
4201         sys_socket: Add support for OpenVMS.
4202         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
4203         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
4205 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
4207         sys_resource: Add support for OpenVMS.
4208         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
4209         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
4211 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
4212             Bruno Haible  <bruno@clisp.org>
4214         math: Add support for OpenVMS.
4215         * lib/math.in.h [__VMS]: Include <fp.h>.
4216         * doc/posix-headers/math.texi: Mention OpenVMS issues.
4218 2017-07-15  Bruno Haible  <bruno@clisp.org>
4220         getdtablesize: Add minimal support for OpenVMS.
4221         Reported by John E. Malmberg <wb8tyw@qsl.net>.
4222         * modules/getdtablesize (Description): Fix.
4223         * lib/getdtablesize.c: Fix comment.
4224         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
4225         getdtablesize() function, even though the test fails.
4226         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
4227         limitation on OpenVMS.
4229 2017-07-13  Bruno Haible  <bruno@clisp.org>
4231         Revisit cross-compilation guesses.
4232         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
4234 2017-07-13  Bruno Haible  <bruno@clisp.org>
4236         Improve cross-compilation guesses for native Windows.
4237         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
4238         Windows.
4239         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
4240         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
4241         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
4242         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
4243         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
4244         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
4245         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
4246         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
4247         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
4248         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
4249         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
4250         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
4251         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
4252         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
4253         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
4254         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
4255         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
4256         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
4257         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
4258         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
4259         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
4260         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
4261         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
4262         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
4263         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
4264         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
4265         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
4266         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
4267         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
4268         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
4269         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
4270         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
4271         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
4272         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
4273         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
4274         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
4275         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
4276         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
4277         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
4278         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
4279         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
4280         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
4281         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
4282         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
4283         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
4284         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
4285         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
4286         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
4287         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
4288         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
4289         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
4290         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
4291         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
4292         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
4293         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
4294         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
4295         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
4296         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
4297         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
4298         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
4299         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
4300         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
4301         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
4302         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
4303         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
4304         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4305         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
4306         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
4307         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
4308         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
4309         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
4310         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
4311         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
4312         * m4/regex.m4 (gl_REGEX): Likewise.
4313         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
4314         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
4315         gl_FUNC_REMAINDERF_WORKS): Likewise.
4316         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
4317         gl_FUNC_REMAINDERL_WORKS): Likewise.
4318         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
4319         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
4320         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
4321         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4322         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4323         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
4324         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
4325         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
4326         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
4327         * m4/stdint.m4 (gl_STDINT_H): Likewise.
4328         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
4329         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
4330         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
4331         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
4332         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
4333         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
4334         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
4335         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
4336         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
4337         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
4338         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
4339         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
4340         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4341         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
4342         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
4343         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
4344         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
4345         Likewise.
4346         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4347         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
4348         Windows. Enable also on Autoconf 2.70.
4349         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
4350         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
4351         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
4352         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
4353         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
4354         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
4355         for native Windows.
4356         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
4357         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
4359 2017-07-13  Bruno Haible  <bruno@clisp.org>
4361         Improve cross-compilation guesses for native Windows.
4362         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
4363         Windows.
4364         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
4365         memchr.m4.
4366         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
4368 2017-07-13  Bruno Haible  <bruno@clisp.org>
4370         Improve cross-compilation guesses for native Windows.
4371         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
4372         native Windows.
4373         (gl_FUNC_FFLUSH): Update accordingly.
4374         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
4375         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
4377 2017-07-11  Bruno Haible  <bruno@clisp.org>
4379         More systematic m4 quoting and indentation.
4380         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
4381         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
4382         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
4383         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
4384         * m4/host-os.m4 (gl_HOST_OS): Likewise.
4385         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
4386         gl_WINSIZE_IN_PTEM): Likewise.
4387         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
4388         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
4389         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
4390         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
4391         Correct indentation.
4392         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
4393         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4394         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
4395         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
4396         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
4397         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
4399 2017-07-10  Bruno Haible  <bruno@clisp.org>
4401         round, roundf: Avoid compiler warning in configure test.
4402         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
4403         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4405 2017-07-10  Bruno Haible  <bruno@clisp.org>
4407         getlogin tests: Avoid #ifdefs when sharing code between modules.
4408         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
4409         * modules/getlogin-tests (Files): Likewise. Remove
4410         tests/test-getlogin_r.c.
4411         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
4412         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
4413         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
4414         getlogin().
4416 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
4418         getlogin: don’t assume one name per uid
4419         Problem reported by Wolfgang F. Muthmann (Bug#27640).
4420         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
4421         (ttyname): Remove test.
4422         * modules/getlogin_r-tests (ttyname): Remove test.
4423         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
4424         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
4425         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
4426         getlogin rather than getlogin_r.  This avoids code duplication.
4427         (main): Use isatty and fstat rather than ttyname and stat.
4428         Use getpwnam instead of getpwuid, to be portable to test platforms
4429         that have multiple login names for the same uid.
4431 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
4432             Bruno Haible  <bruno@clisp.org>
4434         glob: Fix more memory leaks.
4435         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
4436         returning.
4437         Reported by Tim Rühsen.
4439 2017-07-10  Bruno Haible  <bruno@clisp.org>
4441         Make sure $host and $host_os are defined when used.
4442         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
4443         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
4444         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
4445         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
4446         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
4447         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
4448         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
4449         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
4450         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
4451         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
4452         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
4453         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
4454         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
4455         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
4456         m4_ifdef block.
4458 2017-07-09  Bruno Haible  <bruno@clisp.org>
4460         *printf: Fix cross-compilation guess for Solaris.
4461         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
4462         2010-12-21.
4464 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
4465             Bruno Haible  <bruno@clisp.org>
4467         vasnprintf: port to macOS 10.13
4468         Problem reported by comex in:
4469         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
4470         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
4472 2017-07-06  Bruno Haible  <bruno@clisp.org>
4474         imaxdiv tests: Fix logic.
4475         * tests/test-imaxdiv.c (main): Use == instead of =.
4476         Reported by Coverity.
4478 2017-07-06  Bruno Haible  <bruno@clisp.org>
4480         uninorm/filter: Fix use-after-free bug.
4481         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
4482         sortbuf == filter->sortbuf invariant.
4483         Reported by Coverity.
4485 2017-07-06  Bruno Haible  <bruno@clisp.org>
4487         glob: Fix more memory leaks.
4488         * lib/glob.c (glob): Free dirname before returning.
4489         Reported by Coverity and Tim Rühsen.
4491 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4493         parse-datetime: fix uninit var bug
4494         Reported by Bruno Haible in:
4495         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
4496         * lib/parse-datetime.y (parse_datetime2): Do not use
4497         uninitialized.
4499 2017-07-05  Bruno Haible  <bruno@clisp.org>
4501         doc: Update for MSVC 14.
4502         * doc/posix-headers/*.texi: Add info about MSVC 14.
4503         * doc/posix-functions/*.texi: Likewise.
4504         * doc/pastposix-functions/*.texi: Likewise.
4505         * doc/glibc-headers/*.texi: Likewise.
4506         * doc/glibc-functions/*.texi: Likewise.
4508 2017-07-05  Bruno Haible  <bruno@clisp.org>
4510         sched: Fix build failure on native Windows (regression from 2017-06-19).
4511         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
4513 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
4515         stdioext: Port to OpenVMS.
4516         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
4517         * lib/fpending.c (fpending): Remove non-working VMS specific code.
4518         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
4519         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
4520         * lib/fpurge.c (fpurge): Likewise.
4521         * lib/freadable.c (freadable): Likewise.
4522         * lib/freadahead.c (freadahead): Likewise.
4523         * lib/freading.c (freading): Likewise.
4524         * lib/freadptr.c (freadptr): Likewise.
4525         * lib/freadseek.c (freadseek): Likewise.
4526         * lib/fseeko.c (fseeko): Likewise.
4527         * lib/fseterr.c (fseterr): Likewise.
4528         * lib/fwritable.c (fwriteable): Likewise.
4529         * lib/fwriting.c (fwriting): Likewise.
4531 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
4533         glob: Declare variables at the very start of their scope.
4534         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
4535         its separate scope, so the functions will compile on Haiku.
4537 2017-07-01  Bruno Haible  <bruno@clisp.org>
4539         logbl: Work around a glibc bug on PowerPC64LE.
4540         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
4541         numbers.
4542         * doc/posix-functions/logbl.texi: Update.
4544 2017-06-29  Bruno Haible  <bruno@clisp.org>
4546         stat, fstat: Compile stat-w32.c only on platforms that need it.
4547         Suggested by Paul Eggert.
4548         * modules/stat (configure.ac): Request stat-w32.o only on native
4549         Windows.
4550         * modules/fstat (configure.ac): Likewise.
4552 2017-06-25  Bruno Haible  <bruno@clisp.org>
4554         stat: Improve last change.
4555         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
4557 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
4559         stat: port to xlc 12.01
4560         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
4561         12.01 complains "Compilation unit is empty."
4563 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
4565         xalloc-oversized: port to icc
4566         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
4567         __builtin_mul_overflow if ICC is defined, as this results in
4568         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
4569         20170213.
4571 2017-06-19  Bruno Haible  <bruno@clisp.org>
4573         classpath: Avoid including config.h twice, as it produces warnings.
4574         Reported by John E. Malmberg <wb8tyw@gmail.com>.
4575         * lib/classpath.h: Conditionalize the include of config.h.
4577 2017-06-19  Bruno Haible  <bruno@clisp.org>
4578             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
4580         sched: Fix compilation failure on OpenVMS.
4581         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
4582         test whether <pthread.h> exists and defines struct sched_param.
4583         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
4585 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
4587         diffseq: port to GCC 7 with --enable-gcc-warnings
4588         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
4589         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
4590         not complain about big_snake being defined but not used.
4592 2017-06-15  Bruno Haible  <bruno@clisp.org>
4594         gettext-h: Update theoretical condition for use of variable size arrays.
4595         Reported by Paul Eggert.
4596         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
4597         to include the theoretical condition for availability of variable size
4598         arrays, if we could trust the value of __STDC_VERSION__.
4600 2017-06-12  Bruno Haible  <bruno@clisp.org>
4602         Relicense some modules under LGPLv2+.
4603         Daiki Ueno's approval is in
4604         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
4605         * modules/uniwidth/base (License): Change to LGPLv2+.
4606         * modules/uniwidth/width (License): Likewise.
4608 2017-06-11  Bruno Haible  <bruno@clisp.org>
4610         localename: Fix test failure on DragonFly BSD.
4611         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
4612         like FreeBSD.
4614 2017-06-11  Bruno Haible  <bruno@clisp.org>
4616         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
4617         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
4618         * lib/float.in.h: Likewise.
4619         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
4621 2017-06-11  Bruno Haible  <bruno@clisp.org>
4623         gnulib-tool: Clean up after autotools.
4624         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
4625         useless directory left over by the Autotools.
4627 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
4629         getopt-posix: port to glibc 2.25.90
4630         Problem reported by Daniel P. Berrange in:
4631         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
4632         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
4633         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
4634         #undef if __GETOPT_PREFIX is defined.
4636 2017-06-11  Bruno Haible  <bruno@clisp.org>
4638         strtod-obsolete: Fix license.
4639         * modules/strtod-obsolete (License): Change to LGPL.
4641 2017-06-10  Jim Meyering  <meyering@fb.com>
4643         maint: update to work with GCC7's -Werror=implicit-fallthrough=
4644         * lib/savewd.c (FALLTHROUGH): Define.
4645         (savewd_save, savewd_restore): Use this, rather than a comment,
4646         whenever one switch case falls through into the next.
4648 2017-06-08  Bruno Haible  <bruno@clisp.org>
4650         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
4651         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
4652         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
4653         case.
4655 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
4657         doc: remove robots, add prereqs
4658         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
4659         builds.  Simon's robot site does not seem to be up, so remove
4660         mentions of it for now.
4662 2017-06-08  Bruno Haible  <bruno@clisp.org>
4664         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
4665         * gnulib-tool (func_symlink_target): New function, extracted from
4666         func_symlink.
4667         (func_symlink, func_symlink_if_changed): Use it.
4669 2017-06-08  Bruno Haible  <bruno@clisp.org>
4671         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
4672         * gnulib-tool (func_ln_s): Determine cp_src correctly.
4674 2017-06-07  Bruno Haible  <bruno@clisp.org>
4676         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
4677         Reported by John E. Malmberg <wb8tyw@gmail.com> in
4678         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
4679         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
4680         override, pass 2 arguments to getcwd, not 3.
4682 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
4684         same-inode: port better to VMS 8.2 and later
4685         Problem reported by John E. Malmberg in:
4686         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
4687         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
4688         Use the usual POSIX definition.
4689         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
4691 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
4693         error: fix POSIX violation for va_end
4694         Problem reported by Bruno Haible in:
4695         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
4696         * lib/error.c (error_tail): Do not call va_end here.
4697         (error, error_at_line): Call it here instead.
4699 2017-05-28  Bruno Haible  <bruno@clisp.org>
4701         c-strtod: Make it usable in C++ mode.
4702         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
4704 2017-05-25  Jim Meyering  <meyering@fb.com>
4706         quotearg: fix compilation failure due to FALLTHROUGH misuse
4707         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
4708         macro back to /* fall through */ comment.  The macro can apply only
4709         to a following case statement.  Reported by Assaf Gordon.
4711 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4713         intprops: port to recent icc
4714         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
4715         but does not support __builtin_add_overflow etc.
4716         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
4717         Define to 0.
4719 2017-05-23  Karl Berry  <karl@freefriends.org>
4721         * config/srclist.txt (iconv.m4): sync broken, comment out
4722         until (hopefully) the next gettext release.
4724 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
4726         Remove repeated words in comments.
4728 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
4730         fallthrough: reinstate a FALLTHROUGH instance in quotearg
4731         quotearg.c: Reinstate this instance which is significant
4732         when the if branch is not taken.
4734 2017-05-21  Bruno Haible  <bruno@clisp.org>
4736         gnulib-tool: Add options to create hard links.
4737         * gnulib-tool (func_usage): Document options --hardlink,
4738         --local-hardlink, --more-hardlinks.
4739         (func_symlink): Renamed from func_ln.
4740         (func_symlink_if_changed): Renamed from func_ln_if_changed.
4741         (func_hardlink): New function.
4742         (copymode, lcopymode): New variables.
4743         (symbolic, lsymbolic): Remove variables.
4744         (Options): Implement options --hardlink, --local-hardlink,
4745         --more-hardlinks.
4746         (func_should_link): Renamed from func_should_symlink. Set copyaction.
4747         (func_add_file, func_update_file): Update invocation of
4748         func_should_link. Invoke func_hardlink when appropriate.
4749         (func_import): Update comments.
4750         (func_create_testdir): Update invocation of func_should_link. Invoke
4751         func_hardlink when appropriate.
4752         Finally, invoke 'git update-index --refresh' to mitigate the effects of
4753         the hard links on git.
4755 2017-05-20  Bruno Haible  <bruno@clisp.org>
4757         argp: Simplify bit manipulation.
4758         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
4759         on a signed integer type.
4761 2017-05-20  Bruno Haible  <bruno@clisp.org>
4763         Avoid wrong configure results with gcc -fsanitize=address.
4764         This completes the work done on 2016-02-06 on this topic.
4765         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
4766         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
4767         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
4768         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
4769         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
4770         returning.
4771         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
4772         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
4773         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
4774         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
4775         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
4776         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
4777         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
4778         free allocated memory before returning.
4779         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
4780         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
4781         objects before returning.
4782         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
4783         returning.
4785 2017-05-20  Bruno Haible  <bruno@clisp.org>
4787         gnulib-tool: Don't create hard links between gnulib and its testdirs.
4788         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
4790 2017-05-20  Bruno Haible  <bruno@clisp.org>
4792         argp, tsearch tests: Fix file list.
4793         * modules/argp-tests (Files): Add tests/macros.h.
4794         * modules/tsearch-tests (Files): Likewise.
4796 2017-05-20  Bruno Haible  <bruno@clisp.org>
4798         getopt-posix tests: Remove redundant include.
4799         * tests/test-getopt.h: Don't include "macros.h". It's already included
4800         by tests/test-getopt-main.h.
4802 2017-05-19  Jim Meyering  <meyering@fb.com>
4804         dfa: two small simplifications
4805         * lib/dfa.c (build_state): Avoid repeating longer expressions.
4807 2017-05-18  Jim Meyering  <meyering@fb.com>
4809         fallthrough: update for GCC 7/8
4810         * lib/quotearg.c (FALLTHROUGH): New macro.
4811         Use it whenever one switch case falls through into the next,
4812         replacing "/* Fall through */" comments.  This exposed one
4813         instance of an unwarranted "fall through" comment: unwarranted
4814         because it preceded a "goto" label not a case statement.
4815         * lib/freopen-safer.c (freopen_safer): Likewise.
4816         * lib/fts.c (leaf_optimization_applies): Likewise.
4817         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
4818         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
4819         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
4820         tests/macros.h for the definition.
4821         * tests/test-argp.c (group1_parser): Likewise.
4822         * tests/test-getopt.h (getopt_loop): Likewise.
4824 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4826         argp: fix shift bug
4827         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
4828         behavior on shift overflow, caught by gcc -fsanitize=undefined.
4830         argp: fix pointer-subtraction bug
4831         * lib/argp-help.c (hol_append): Don’t subtract pointers to
4832         different arrays, as this can run afoul of -fcheck-pointer-bounds.
4833         See the thread containing Bruno Haible’s report in:
4834         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
4836 2017-05-19  Bruno Haible  <bruno@clisp.org>
4838         printf-posix tests: Avoid test failure with "gcc --coverage".
4839         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
4840         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
4841         than 5000000.
4842         * tests/test-fprintf-posix2.c (main): Likewise.
4844 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4846         closeout: don’t close stderr when sanitizing
4847         * NEWS: Document this.
4848         * lib/closeout.c (__has_feature): New macro, if not already defined.
4849         (SANITIZE_ADDRESS): New constant.
4850         (close_stdout): Don’t close stderr if sanitizing addresses.
4852 2017-05-19  Bruno Haible  <bruno@clisp.org>
4854         get-rusage-data tests: Avoid failure on Linux/glibc.
4855         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
4856         on glibc systems.
4858 2017-05-18  Bruno Haible  <bruno@clisp.org>
4860         localename: Include necessary header files on Cygwin.
4861         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
4862         where NL_LOCALE_NAME is defined.
4864 2017-05-18  Bruno Haible  <bruno@clisp.org>
4866         gettext: Update macros from gettext git.
4867         * m4/intldir.m4: Require Autoconf >= 2.60.
4868         * m4/progtest.m4: Fix typos in copyright notice.
4870 2017-05-18  Bruno Haible  <bruno@clisp.org>
4872         copy-file tests: Fix link error (regression from 2017-05-01).
4873         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4874         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
4875         $(LIB_CLOCK_GETTIME).
4877 2017-05-18  Bruno Haible  <bruno@clisp.org>
4879         unicase/special-casing: Fix incompatibility with gperf-3.0.4
4880         (regression from 2017-02-13).
4881         * lib/unicase/special-casing.in.h: Renamed from
4882         lib/unicase/special-casing.h.
4883         * modules/unicase/special-casing (Files): Add
4884         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
4885         (Makefile.am): Add rule for generating unicase/special-casing.h.
4886         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
4887         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
4888         not "special-casing.h".
4889         * lib/unicase/u*.c: Likewise.
4891 2017-05-17  Bruno Haible  <bruno@clisp.org>
4893         README: Don't ask people to read a TeXinfo file.
4894         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
4895         * README: Tell people how to read the HTML formatted manual.
4897 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
4899         parse-datetime: Fix memleak
4900         * lib/parse-datetime.y (parse_datetime2): Cleanup on
4901         localtime_rz() failure.
4903 2017-05-16  Bruno Haible  <bruno@clisp.org>
4905         javacomp: Fix handle leak.
4906         Found by Coverity.
4907         * lib/javacomp.c (get_classfile_version): Close fd before returning.
4909 2017-05-16  Bruno Haible  <bruno@clisp.org>
4911         relocate: Make it easier to reclaim allocated memory.
4912         * lib/relocatable.h (relocate2): New declaration/macro.
4913         * lib/relocatable.c (relocate2): New function.
4914         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
4915         relocate2 function.
4916         * lib/localcharset.c (relocate2): Define fallback.
4917         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
4918         allocated memory.
4919         * lib/javaversion.c (relocate2): Define fallback.
4920         (javaexec_version): Invoke relocate2 instead of relocate. Free the
4921         allocated memory.
4923 2017-05-16  Bruno Haible  <bruno@clisp.org>
4925         relocate: Simplify EMX specific code.
4926         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
4927         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
4929 2017-05-16  Bruno Haible  <bruno@clisp.org>
4931         sigpipe tests: Fix file list.
4932         * modules/sigpipe-tests (Files): Add tests/macros.h.
4934 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
4936         manywarnings: update for GCC 7
4937         * build-aux/gcc-warning.spec:
4938         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
4939         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
4940         requires a non-comment fallthrough attribute.  This is a bit
4941         cleaner than the comment versions.
4942         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
4943         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
4944         Use it whenever one switch case falls through into the next.
4945         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
4946         Use FALLTHROUGH macro.
4948 2017-05-15  Bruno Haible  <bruno@clisp.org>
4950         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
4951         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
4952         @ALLOCA@, not @LTALLOCA@.
4954 2017-05-15  Bruno Haible  <bruno@clisp.org>
4956         sys_select: Avoid "was expanded before it was required" warning.
4957         * modules/sys_select (configure.ac): Require, not invoke,
4958         gl_HEADER_SYS_SELECT.
4960 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4962         gnulib-tool: improve GNU Make debugging
4963         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
4964         Report autoconf diagnostics when it fails, in the output makefile.
4966 2017-05-14  Bruno Haible  <bruno@clisp.org>
4968         stat-time tests: Improve comment.
4969         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
4971 2017-05-14  Bruno Haible  <bruno@clisp.org>
4973         same-inode: Adapt for windows-stat-inodes.
4974         * lib/same-inode.h: Include <sys/types.h>.
4975         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
4976         * modules/same-inode (Depends-on): Add sys_types.
4978 2017-05-14  Bruno Haible  <bruno@clisp.org>
4980         windows-stat-inodes: New module.
4981         * m4/windows-stat-inodes.m4: New file.
4982         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
4983         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
4984         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
4985         (_GL_WINDOWS_STAT_INODES): New macro.
4986         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
4987         (GetFileInformationByHandleExFunc): New variable.
4988         (initialize): Initialize it.
4989         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
4990         st_ino appropriately.
4991         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
4992         a fallback, because it does not provide st_dev and st_ino values.
4993         * modules/fstat (Depends-on): Add 'verify'.
4994         * modules/windows-stat-inodes: New file.
4995         * doc/windows-stat-inodes.texi: New file.
4996         * doc/gnulib.texi: Include it.
4997         * doc/posix-headers/sys_stat.texi: Mention the new module.
4999 2017-05-14  Bruno Haible  <bruno@clisp.org>
5001         stat-time tests: Workaround for native Windows.
5002         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
5003         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
5004         New variables.
5005         (initialize_filenames): New function.
5006         (main): Invoke it.
5007         (cleanup, prepare_test): Update.
5009 2017-05-14  Bruno Haible  <bruno@clisp.org>
5011         stat-time: Adapt for windows-stat-timespec.
5012         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
5013         entire st_ctim field.
5015 2017-05-13  Jim Meyering  <meyering@fb.com>
5017         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
5018         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
5019         file that uses the assume macro, claiming that verify.h is unused.
5021 2017-05-13  Bruno Haible  <bruno@clisp.org>
5023         Use symbolic values for _WIN32_WINNT.
5024         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
5025         * lib/sethostname.c (_WIN32_WINNT): Likewise.
5027 2017-05-13  Bruno Haible  <bruno@clisp.org>
5029         year2038: New module.
5030         * m4/year2038.m4: New file.
5031         * modules/year2038: New file.
5032         * doc/year2038.texi: New file.
5033         * doc/gnulib.texi: Include it.
5035 2017-05-13  Bruno Haible  <bruno@clisp.org>
5037         largefile: Simplify.
5038         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
5039         of _GL_WINDOWS_64_BIT_ST_SIZE.
5041 2017-05-13  Bruno Haible  <bruno@clisp.org>
5043         largefile: Improve and document.
5044         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
5045         the mingw headers already define 'stat' appropriately.
5046         * modules/largefile (Description): Clarify.
5047         * doc/largefile.texi: New file.
5048         * doc/gnulib.texi: Include it.
5049         * doc/posix-headers/sys_types.texi: Update.
5051 2017-05-13  Bruno Haible  <bruno@clisp.org>
5053         truncate: New module.
5054         * lib/unistd.in.h (truncate): New declaration.
5055         * lib/truncate.c: New file.
5056         * m4/truncate.m4: New file.
5057         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
5058         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
5059         REPLACE_TRUNCATE.
5060         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
5061         HAVE_TRUNCATE, REPLACE_TRUNCATE.
5062         * modules/truncate: New file.
5063         * tests/test-unistd-c++.cc (truncate): Test signature.
5064         * doc/posix-functions/truncate.texi: Mention the new module.
5066         * tests/test-truncate.c: New file.
5067         * modules/truncate-tests: New file.
5069 2017-05-13  Bruno Haible  <bruno@clisp.org>
5071         windows-stat-timespec: New module.
5072         * modules/windows-stat-timespec: New file.
5073         * m4/windows-stat-timespec.m4: New file.
5074         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
5075         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
5076         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
5077         fields st_atim, st_mtim, st_ctim.
5078         (st_atime, st_mtime, st_ctime): Define as macros.
5079         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
5080         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
5081         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
5082         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
5083         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
5084         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
5085         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
5086         FILETIME to 'struct timespec', not 'time_t'.
5087         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
5088         FILETIME to 'struct timespec', not 'time_t'.
5089         * lib/stat-time.h (STAT_TIMESPEC): Define also if
5090         _GL_WINDOWS_STAT_TIMESPEC.
5091         * doc/windows-stat-timespec.texi: New file.
5092         * doc/gnulib.texi: Include it.
5094 2017-05-13  Bruno Haible  <bruno@clisp.org>
5096         windows-stat-override: New module.
5097         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
5098         definition. Define GNULIB_defined_struct_stat.
5099         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
5100         link error if this symbol is used and the corresponding module is not
5101         in use.
5102         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
5103         GNULIB_OVERRIDES_STRUCT_STAT.
5104         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
5105         GNULIB_OVERRIDES_STRUCT_STAT.
5106         * modules/sys_stat (Makefile.am): Substitute
5107         GNULIB_OVERRIDES_STRUCT_STAT.
5108         * modules/windows-stat-override: New file.
5110 2017-05-13  Bruno Haible  <bruno@clisp.org>
5112         fstat: Fix module dependency conditions.
5113         * modules/fstat (Depends-on): Fix typo.
5115 2017-05-13  Bruno Haible  <bruno@clisp.org>
5117         stat, fstat: Complete removal of old native Windows code.
5118         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
5119         * lib/fstat.c: Likewise.
5120         * lib/stat-w32.c: Likewise.
5122 2017-05-13  Bruno Haible  <bruno@clisp.org>
5124         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
5125         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
5127 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
5129         getopt-posix: port to mingw
5130         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
5131         Problem reported by Daniel P. Berrage in:
5132         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
5134 2017-05-11  Bruno Haible  <bruno@clisp.org>
5136         gettimeofday: Increase precision on mingw.
5137         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
5138         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
5139         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
5140         GetSystemTimePreciseAsFileTime based implementation always.
5141         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
5142         mingw.
5144 2017-05-11  Bruno Haible  <bruno@clisp.org>
5146         poll: Fix confusion between SOCKETs and FDs on native Windows.
5147         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
5148         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
5150 2017-05-11  Bruno Haible  <bruno@clisp.org>
5152         doc: Clarify doc about socket functions on native Windows.
5153         This reworks doc that was added on 2008-09-29.
5154         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
5155         clearer wording.
5156         * doc/posix-functions/accept.texi: Use clearer wording.
5157         * doc/posix-functions/bind.texi: Likewise.
5158         * doc/posix-functions/connect.texi: Likewise.
5159         * doc/posix-functions/getpeername.texi: Likewise.
5160         * doc/posix-functions/getsockname.texi: Likewise.
5161         * doc/posix-functions/getsockopt.texi: Likewise.
5162         * doc/posix-functions/ioctl.texi: Likewise.
5163         * doc/posix-functions/listen.texi: Likewise.
5164         * doc/posix-functions/recv.texi: Likewise.
5165         * doc/posix-functions/recvfrom.texi: Likewise.
5166         * doc/posix-functions/send.texi: Likewise.
5167         * doc/posix-functions/sendto.texi: Likewise.
5168         * doc/posix-functions/setsockopt.texi: Likewise.
5169         * doc/posix-functions/shutdown.texi: Likewise.
5170         * doc/posix-functions/socket.texi: Likewise.
5172 2017-05-10  Bruno Haible  <bruno@clisp.org>
5174         poll: Fix link error on native Windows.
5175         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
5177 2017-05-10  Bruno Haible  <bruno@clisp.org>
5179         time: Fix missing initialization of HAVE_TIMEZONE_T.
5180         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
5181         here...
5182         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
5183         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
5184         gl_HEADER_SYS_TIME_H_DEFAULTS.
5185         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
5186         (configure.ac): Remove useless quoting.
5188 2017-05-10  Bruno Haible  <bruno@clisp.org>
5190         Implement a way to opt out from MSVC support, part 2.
5191         * modules/msvc-inval (Include): Document recommended idiom.
5192         * modules/msvc-nothrow (Include): Likewise.
5194         Implement a way to opt out from MSVC support.
5195         This is useful for Emacs.
5196         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
5197         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
5198         * lib/error.c: Likewise.
5199         * lib/fcntl.c: Likewise.
5200         * lib/flock.c: Likewise.
5201         * lib/fstat.c: Likewise.
5202         * lib/fsync.c: Likewise.
5203         * lib/ioctl.c: Likewise.
5204         * lib/isapipe.c: Likewise.
5205         * lib/lseek.c: Likewise.
5206         * lib/nonblocking.c: Likewise.
5207         * lib/poll.c: Likewise.
5208         * lib/select.c: Likewise.
5209         * lib/sockets.h: Likewise.
5210         * lib/sockets.c: Likewise.
5211         * lib/stdio-read.c: Likewise.
5212         * lib/stdio-write.c: Likewise.
5213         * lib/utimens.c: Likewise.
5214         * lib/w32sock.h: Likewise.
5215         * lib/w32spawn.h: Likewise.
5216         * tests/test-cloexec.c: Likewise.
5217         * tests/test-dup-safer.c: Likewise.
5218         * tests/test-dup2.c: Likewise.
5219         * tests/test-dup3.c: Likewise.
5220         * tests/test-fcntl.c: Likewise.
5221         * tests/test-pipe.c: Likewise.
5222         * tests/test-pipe2.c: Likewise.
5223         * lib/ftruncate.c: Likewise.
5224         (chsize_nothrow): Renamed from chsize.
5225         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
5226         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
5227         * lib/close.c: Likewise.
5228         * lib/dup.c: Likewise.
5229         * lib/fclose.c: Likewise.
5230         * lib/raise.c: Likewise.
5231         * tests/test-fgetc.c: Likewise.
5232         * tests/test-fputc.c: Likewise.
5233         * tests/test-fread.c: Likewise.
5234         * tests/test-fwrite.c: Likewise.
5235         * lib/getdtablesize.c: Likewise.
5236         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
5237         * lib/isatty.c: Don't include msvc-inval.h if
5238         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
5239         Include <io.h> as an alternative to msvc-nothrow.h.
5240         * lib/read.c: Likewise.
5241         * lib/write.c: Likewise.
5242         * lib/dup2.c: Likewise.
5243         (dup2_nothrow): New function.
5244         (ms_windows_dup2): Use it.
5245         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
5246         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
5247         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5248         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
5249         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
5250         * m4/read.m4 (gl_FUNC_READ): Likewise.
5251         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
5252         * doc/windows-without-msvc.texi: New file.
5253         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
5254         section.
5256 2017-05-10  Bruno Haible  <bruno@clisp.org>
5258         wait-process: Adjust native Windows support.
5259         * lib/wait-process.c: Use the usual condition for recognizing a native
5260         Windows platform.
5262 2017-05-10  Bruno Haible  <bruno@clisp.org>
5264         doc: New chapter "Native Windows Support".
5265         * doc/gnulib.texi (Native Windows Support): New chapter.
5266         * doc/windows-libtool.texi: Small wording changes.
5267         * doc/windows-sockets.texi: Small wording and formatting changes.
5269 2017-05-10  Bruno Haible  <bruno@clisp.org>
5271         doc: Move section "Library version handling".
5272         * doc/gnulib.texi: Move section "Library version handling"
5273         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
5275 2017-05-10  Bruno Haible  <bruno@clisp.org>
5277         doc: Move section "Running self-tests under valgrind".
5278         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
5279         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
5281 2017-05-10  Bruno Haible  <bruno@clisp.org>
5283         doc: New chapter "Build Infrastructure Modules".
5284         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
5286 2017-05-10  Bruno Haible  <bruno@clisp.org>
5288         Prepare for reordering sections in the manual.
5289         * doc/gnulib.texi: Move several sections to separate files. Include
5290         these files.
5291         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
5292         * doc/obsolete.texi: Likewise.
5293         * doc/extra-tests.texi: Likewise.
5294         * doc/transversal.texi: Likewise.
5295         * doc/namespace.texi: Likewise.
5296         * doc/check-version.texi: Likewise.
5297         * doc/windows-sockets.texi: Likewise.
5298         * doc/windows-libtool.texi: Likewise.
5299         * doc/licenses-texi.texi: Likewise.
5300         * doc/build-automation.texi: Likewise.
5301         * doc/c-locale.texi: Likewise.
5303 2017-05-10  Bruno Haible  <bruno@clisp.org>
5305         Fix instructions how to update manual on www.gnu.org.
5306         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
5308 2017-05-09  Bruno Haible  <bruno@clisp.org>
5310         tzset: Expand comment about TZ problem on native Windows.
5311         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
5312         Paul Eggert.
5313         * lib/ctime.c (rpl_ctime): Likewise.
5314         * lib/localtime.c (rpl_localtime): Likewise.
5315         * lib/mktime.c (mktime): Likewise.
5316         * lib/strftime-fixes.c (rpl_strftime): Likewise.
5317         * lib/wcsftime.c (rpl_wcsftime): Likewise.
5319 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
5321         intprops: don’t depend on ‘verify’
5322         Problem reported by Ævar Arnfjörð Bjarmason in:
5323         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
5324         * lib/intprops.h: Do not include verify.h, and move compile-time
5325         checks from here ...
5326         * tests/test-intprops.c (main): ... to here, if they’re not here
5327         already.  Check widths of other standard integer types.
5328         * modules/intprops (Depends-on): Remove ‘verify’.
5330 2017-05-07  Bruno Haible  <bruno@clisp.org>
5332         utimens: On native Windows, support 100ns resolution also if fd < 0.
5333         * lib/utime.in.h: Include <time.h>.
5334         (_gl_utimens_windows): New declaration.
5335         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
5336         (utime): Invoke it.
5337         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
5338         instead of utime.
5339         * modules/utime (Depends-on): Add 'time'.
5341 2017-05-07  Bruno Haible  <bruno@clisp.org>
5343         utimens: Improve error code on native Windows.
5344         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
5345         error code EACCES, not EINVAL.
5347 2017-05-07  Bruno Haible  <bruno@clisp.org>
5349         utime: Handle more Windows error codes.
5350         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
5351         Based on explanations by Billy O'Neal.
5353 2017-05-05  Bruno Haible  <bruno@clisp.org>
5355         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
5356         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
5357         union.
5358         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
5359         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
5360         value of cipher->IV.
5362 2017-05-05  Bruno Haible  <bruno@clisp.org>
5364         wctype-h-c++-tests: Update.
5365         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
5367 2017-05-05  Bruno Haible  <bruno@clisp.org>
5369         wchar-c++-tests: Update.
5370         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
5372 2017-05-05  Bruno Haible  <bruno@clisp.org>
5374         utime-h-c++-tests: New module.
5375         * tests/test-utime-h-c++.cc: New file.
5376         (utime): Declare, missing since 2017-04-30.
5377         * modules/utime-h-c++-tests: New file.
5379 2017-05-05  Bruno Haible  <bruno@clisp.org>
5381         unistd-c++-tests: Update.
5382         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
5383         (read): Declare, missing since 2011-04-15.
5384         (sethostname): Declare, missing since 2011-12-03.
5386 2017-05-05  Bruno Haible  <bruno@clisp.org>
5388         time-c++-tests: Update.
5389         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
5390         (localtime, gmtime): Declare, missing since 2017-04-30.
5391         (ctime): Declare, missing since 2017-04-30.
5392         (strftime): Declare, missing since 2017-04-30.
5393         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
5394         2015-07-24.
5396 2017-05-05  Bruno Haible  <bruno@clisp.org>
5398         sys_resource-c++-tests: New module.
5399         * tests/test-sys_resource-c++.cc: New file.
5400         (getrusage): Declare, missing since 2012-04-13.
5401         * modules/sys_resource-c++-tests: New file.
5403 2017-05-05  Bruno Haible  <bruno@clisp.org>
5405         strings-c++-tests: New module.
5406         * tests/test-strings-c++.cc: New file.
5407         (ffs): Declare, missing since 2011-07-12.
5408         * modules/strings-c++-tests: New file.
5410 2017-05-05  Bruno Haible  <bruno@clisp.org>
5412         string-c++-tests: Update.
5413         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
5414         (ffsll): Declare, missing since 2011-07-15.
5416 2017-05-05  Bruno Haible  <bruno@clisp.org>
5418         stdlib-c++-tests: Update.
5419         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
5420         2011-10-18.
5421         (ptsname_r): Declare, missing since 2011-11-07.
5422         (qsort_r): Declare, missing since 2014-08-29.
5423         (random, srandom, initstate, setstate): Declare, missing since
5424         2012-01-14.
5425         (secure_getenv): Declare, missing since 2013-02-05.
5427 2017-05-05  Bruno Haible  <bruno@clisp.org>
5429         stdio-c++-tests: Update.
5430         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
5432 2017-05-05  Bruno Haible  <bruno@clisp.org>
5434         signal-h-c++-tests: Update.
5435         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
5437 2017-05-05  Bruno Haible  <bruno@clisp.org>
5439         math-c++-tests: Update.
5440         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
5441         (fma): Declare, missing since 2011-10-17.
5442         (fmal): Declare, missing since 2011-10-17.
5444 2017-05-05  Bruno Haible  <bruno@clisp.org>
5446         locale-c++-tests: Update.
5447         * tests/test-locale-c++.cc (localeconv): Declare, missing since
5448         2012-03-25.
5450 2017-05-05  Bruno Haible  <bruno@clisp.org>
5452         inttypes-c++-tests: New module.
5453         * tests/test-inttypes-c++.cc: New file.
5454         (strtoimax): Declare, missing since 2012-01-05.
5455         (strtoumax): Declare, missing since 2012-01-05.
5456         * modules/inttypes-c++-tests: New file.
5458 2017-05-05  Bruno Haible  <bruno@clisp.org>
5460         dirent-c++-tests: Update.
5461         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
5462         (rewinddir): Declare, missing since 2011-09-13.
5463         (dirfd): Declare, missing since 2010-03-08.
5465 2017-05-04  Bruno Haible  <bruno@clisp.org>
5467         argp: Fix mistake in 2017-04-23 commit.
5468         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
5469         assume that strerror_r returns 'int', not 'char *'.
5471 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
5473         argp: Fix typo.
5474         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
5476 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5478         utimens: port to Emacs + MS-Windows
5479         Skip the new MS-Windows-specific code if Emacs.
5480         * lib/utimens.c [EMACS_CONFIGUATION]:
5481         Avoid new MS-Windows-specific code.
5482         (USE_SETFILETIME): New macro.
5483         (fdutimens): Use it.
5485 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
5487         tzset: update doc for TZ problems on MS-Windows
5488         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
5489         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
5490         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
5491         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
5492         * doc/posix-functions/wcsftime.texi:
5493         Mention some issues with TZ under MS-Windows.
5495 2017-05-01  Bruno Haible  <bruno@clisp.org>
5497         copy-file: Fix build error on mingw.
5498         * modules/copy-file (Depends-on): Add 'close'.
5500 2017-05-01  Bruno Haible  <bruno@clisp.org>
5502         tzset: Work around TZ problem on native Windows.
5503         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
5504         Windows, set REPLACE_TZSET to 1.
5505         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
5506         invoke '_tzset' instead of 'tzset'.
5507         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
5509         * modules/time_rz (Depends-on): Add tzset.
5510         * lib/time_rz.c (tzset): Remove fallback definition.
5511         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
5513 2017-05-01  Bruno Haible  <bruno@clisp.org>
5515         mktime: Fix dependencies.
5516         * modules/mktime (Depends-on): Add 'time'.
5518 2017-05-01  Bruno Haible  <bruno@clisp.org>
5520         New module 'localtime-buffer', split off from module 'gettimeofday'.
5521         * lib/localtime-buffer.h: New file.
5522         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
5523         * lib/time.in.h (tzset): New declaration.
5524         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
5525         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
5526         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
5527         moved to lib/localtime-buffer.c or lib/tzset.c.
5528         * m4/localtime-buffer.m4: New file.
5529         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
5530         HAVE_TZSET, REPLACE_TZSET.
5531         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
5532         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
5533         gl_LOCALTIME_BUFFER_NEEDED.
5534         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
5535         since 2007-01-18.
5536         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
5537         tzset.
5538         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
5539         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
5540         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
5541         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
5542         * modules/localtime-buffer: New file.
5543         * modules/time (Depends-on): Remove 'gettimeofday'.
5544         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
5545         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
5546         * modules/tzset (Description): Enable hyperlink to POSIX spec.
5547         (Files): Add lib/tzset.c.
5548         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
5549         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
5550         gl_TIME_MODULE_INDICATOR.
5551         * modules/gettimeofday (Depends-on): Add localtime-buffer.
5553 2017-05-01  Bruno Haible  <bruno@clisp.org>
5555         copy-file: Preserve sub-second time stamps.
5556         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
5557         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
5558         transport the time stamps from the original file to the destination
5559         file.
5560         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
5561         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
5562         utime-h.
5564 2017-05-01  Bruno Haible  <bruno@clisp.org>
5566         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
5567         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
5568         also on MSVC.
5569         Reported by Eli Zaretskii <eliz@gnu.org>.
5571 2017-05-01  Bruno Haible  <bruno@clisp.org>
5573         wchar: Fix compilation error with the original mingw.org mingw.
5574         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
5575         <stddef.h> instead.
5576         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
5577         gl_WCTYPE_H.
5578         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
5579         gl_TYPE_WINT_T_PREREQ instead.
5580         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
5581         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
5582         Reported by Eli Zaretskii <eliz@gnu.org>.
5584 2017-04-30  Bruno Haible  <bruno@clisp.org>
5586         utimecmp: Add support for native Windows.
5587         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
5589 2017-04-30  Bruno Haible  <bruno@clisp.org>
5591         utimens: Add support for native Windows.
5592         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
5593         (fdutimens): Provide a native Windows implementation, like utime.c with
5594         added tv_nsec support.
5595         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
5596         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
5598 2017-04-30  Bruno Haible  <bruno@clisp.org>
5600         wcsftime: New module.
5601         * lib/wchar.in.h (wcsftime): New declaration.
5602         * lib/wcsftime.c: New file.
5603         * m4/wcsftime.m4: New file.
5604         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
5605         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
5606         HAVE_WCSFTIME, REPLACE_WCSFTIME.
5607         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
5608         HAVE_WCSFTIME, REPLACE_WCSFTIME.
5609         * modules/wcsftime: New file.
5610         * doc/posix-functions/wcsftime.texi: Mention the new module.
5612 2017-04-30  Bruno Haible  <bruno@clisp.org>
5614         strftime-fixes: New module.
5615         * lib/time.in.h (strftime): New declaration.
5616         * lib/strftime-fixes.c: New file.
5617         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
5618         (gl_FUNC_STRFTIME): Remove macro.
5619         * m4/strftime-fixes.m4: New file.
5620         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
5621         REPLACE_STRFTIME.
5622         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
5623         REPLACE_STRFTIME.
5624         * modules/strftime-fixes: New file.
5625         * doc/posix-functions/strftime.texi: Mention the new module.
5627 2017-04-30  Bruno Haible  <bruno@clisp.org>
5629         mktime: Work around TZ problem on native Windows.
5630         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
5631         from the native Windows workaround.
5632         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
5633         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
5634         'guessing no'.
5635         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
5636         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
5637         NEED_MKTIME_WINDOWS.
5638         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
5639         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
5640         NEED_MKTIME_INTERNAL.
5641         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
5642         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
5643         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
5644         not REPLACE_MKTIME.
5645         * doc/posix-functions/mktime.texi: Mention the native Windows
5646         workaround.
5648 2017-04-30  Bruno Haible  <bruno@clisp.org>
5650         localtime: New module.
5651         * lib/time.in.h (localtime): Declare also if requested by module
5652         'localtime'.
5653         * lib/localtime.c: New file.
5654         * m4/localtime.m4: New file.
5655         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
5656         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
5657         * modules/localtime: New file.
5658         * doc/posix-functions/localtime.texi: Mention the new module.
5660 2017-04-30  Bruno Haible  <bruno@clisp.org>
5662         ctime: New module.
5663         * lib/time.in.h (ctime): New declaration.
5664         * lib/ctime.c: New file.
5665         * m4/ctime.m4: New file.
5666         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
5667         REPLACE_CTIME.
5668         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
5669         * modules/ctime: New file.
5670         * doc/posix-functions/ctime.texi: Mention the new module.
5672 2017-04-30  Bruno Haible  <bruno@clisp.org>
5674         gettimeofday: Provide higher resolution on native Windows.
5675         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
5676         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
5677         (initialize): Initialize it.
5678         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
5679         'struct timeval'. Don't use _ftime().
5680         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
5681         <sys/timeb.h> and _ftime.
5683 2017-04-30  Bruno Haible  <bruno@clisp.org>
5685         Document the problem with the Cygwin environment variable TZ.
5686         * doc/posix-functions/tzset.texi: Add note about TZ.
5687         * doc/posix-functions/ctime.texi: Likewise.
5688         * doc/posix-functions/localtime.texi: Likewise.
5689         * doc/posix-functions/mktime.texi: Likewise.
5690         * doc/posix-functions/strftime.texi: Likewise.
5691         * doc/posix-functions/wcsftime.texi: Likewise.
5692         * doc/pastposix-functions/ftime.texi: Likewise.
5694 2017-04-30  Bruno Haible  <bruno@clisp.org>
5696         utime-tests: New module.
5697         * tests/test-utime.c: New file, based on tests/test-utimens.h.
5698         * tests/test-utimens-common.h: Include <sys/stat.h>.
5699         * modules/utime-tests: New file.
5701 2017-04-29  Bruno Haible  <bruno@clisp.org>
5703         utime: New module.
5704         * lib/utime.in.h: Add comment for snippets.
5705         (utime): New declaration.
5706         * lib/utime.c: New file.
5707         * m4/utime.m4: New file.
5708         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
5709         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
5710         REPLACE_UTIME.
5711         * modules/utime-h (Depends-on): Add snippets.
5712         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
5713         Insert snippets.
5714         * modules/utime: New file.
5715         * doc/posix-functions/utime.texi: Mention the new module.
5717 2017-04-29  Bruno Haible  <bruno@clisp.org>
5719         utime-h: Modernize handling of 'struct utimbuf'.
5720         * lib/utime.in.h: Include next <utime.h> if it exists.
5721         (utimbuf): Define to _utimbuf on native Windows.
5722         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
5723         Set UTIME_H on native Windows.
5724         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
5725         * modules/utime-h (Depends-on): Add include_next.
5726         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
5727         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
5729         * lib/utimens.c (utimbuf): Remove fallback definition.
5730         * m4/utimens.m4 (gl_UTIMENS): Don't require
5731         gl_CHECK_TYPE_STRUCT_UTIMBUF.
5732         * m4/utimbuf.m4: Remove file.
5733         * modules/utimens (Files): Remove m4/utimbuf.m4.
5735 2017-04-29  Bruno Haible  <bruno@clisp.org>
5737         Make use of module 'utime-h'.
5738         * modules/copy-file (Depends-on): Add utime-h.
5739         * lib/copy-file.c: Assume that <utime.h> exists.
5740         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
5742         * modules/utimens (Depends-on): Add utime-h.
5743         * lib/utimens.c: Assume that <utime.h> exists.
5745 2017-04-29  Bruno Haible  <bruno@clisp.org>
5747         utime-h: New module.
5748         * m4/utime_h.m4: New file.
5749         * lib/utime.in.h: New file.
5750         * modules/utime-h: New file.
5751         * doc/posix-headers/utime.texi: Mention the new module.
5753         * tests/test-utime-h.c: New file.
5754         * modules/utime-h-tests: New file.
5756 2017-04-30  Bruno Haible  <bruno@clisp.org>
5758         Fix a few typos.
5759         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
5760         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
5761         * doc/posix-functions/fstat.texi: Fix a plural typo.
5762         * doc/posix-functions/stat.texi: Likewise.
5763         * m4/include_next.m4: Update comments.
5765 2017-04-29  Bruno Haible  <bruno@clisp.org>
5767         error: Fix mistake in 2017-04-23 commit.
5768         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
5769         assume that strerror_r returns 'int', not 'char *'.
5771 2017-04-29  Bruno Haible  <bruno@clisp.org>
5773         stat: Fix time_t values and other problems on native Windows platforms.
5774         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
5775         implementations of stat().
5776         * lib/stat.c: Include filename.h instead of dosname.h. Include
5777         malloca.h, stat-w32.h.
5778         (is_unc_root): New function.
5779         (rpl_stat): New implementation for native Windows. Remove
5780         REPLACE_FUNC_STAT_DIR code.
5781         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
5782         Don't define REPLACE_FUNC_STAT_DIR.
5783         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
5784         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
5785         (Depends-on): Remove dosname. Add filename, malloca.
5786         (configure.ac): Also compile lib/stat-w32.c.
5788 2017-04-29  Bruno Haible  <bruno@clisp.org>
5790         fstat: Fix time_t values on native Windows platforms.
5791         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
5792         * lib/stat-w32.h: New file.
5793         * lib/stat-w32.c: New file.
5794         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
5795         stat-w32.h instead.
5796         (fstat_nothrow): Remove function.
5797         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
5798         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
5799         always.
5800         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
5801         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
5802         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
5803         (configure.ac): Also compile lib/stat-w32.c.
5805 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
5807         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
5808         Problem reported by Assaf Gordon and Gavin Smith in:
5809         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
5810         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
5811         #define this, too.
5813 2017-04-29  Bruno Haible  <bruno@clisp.org>
5815         strerror_r-posix: Fixes for MSVC 14.
5816         * lib/strerror_r.c: Include <stdarg.h>.
5817         (strerror_r): Provide error messages for errno values 100...140.
5818         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
5820 2017-04-28  Bruno Haible  <bruno@clisp.org>
5822         noreturn: New module.
5823         * lib/noreturn.h: New file.
5824         * modules/noreturn: New file.
5825         * tests/test-noreturn.c: New file.
5826         * modules/noreturn-tests: New file.
5827         * tests/test-noreturn-c++.cc: New file.
5828         * modules/noreturn-c++-tests: New file.
5830 2017-04-27  Bruno Haible  <bruno@clisp.org>
5832         wctype-h: Fix compilation error with the original mingw.org mingw.
5833         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
5834         HAVE_CRTDEFS_H.
5835         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
5836         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
5837         <stddef.h> instead.
5838         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
5840 2017-04-26  Pádraig Brady  <P@draigBrady.com>
5842         nap.h: Fix compilation on non windows platforms
5843         * tests/nap.h: Move misplaced endif.
5845 2017-04-26  Pádraig Brady  <P@draigBrady.com>
5846         and Paul Eggert  <eggert@cs.ucla.edu>
5848         time_rz: fix heap buffer overflow vulnerability
5849         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
5850         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
5851         whether there is enough buffer space available, thus avoiding
5852         the problematic promotion of signed to unsigned causing an invalid
5853         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
5854         the start of the buffer.
5855         * tests/test-parse-datetime.c (main): Add a test case written by
5856         Paul Eggert, which overwrites enough of the heap so that
5857         standard glibc will fail with "free(): invalid pointer"
5858         without the patch applied.
5860 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
5862         xalloc: add missing integer overflow check
5863         * lib/xalloc.h (x2nrealloc): Also check for multiplication
5864         overflow when P is null.
5866 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
5868         parse-datetime: make it standalone
5869         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
5870         (_GL_ATTRIBUTE_FORMAT): New macro.
5871         These are needed to get './gnulib-tool --test parse-datetime' to work.
5873 2017-04-23  Bruno Haible  <bruno@clisp.org>
5875         nap.h: Port to native Windows.
5876         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
5877         use nap_fd instead. On native Windows, close and reopen nap_fd.
5878         (nap_works): Don't compare the ctimes, because on native Windows, these
5879         are the creation times.
5880         (nap): Update.
5882 2017-04-23  Bruno Haible  <bruno@clisp.org>
5884         nap.h: Fix logic.
5885         * tests/nap.h (nap): Avoid signed integer overflow in loop.
5887 2017-04-23  Bruno Haible  <bruno@clisp.org>
5889         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
5890         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
5891         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
5892         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
5893         * lib/argp-help.c (__argp_failure): Likewise.
5895 2017-04-23  Bruno Haible  <bruno@clisp.org>
5897         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
5898         * m4/strerror_r.m4: Revert changes since 2016-10-16.
5899         * lib/strerror_r.c: Likewise.
5901 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
5903         Target a C99 subset, not a C89 subset
5904         For many years Gnulib has targeted C89 and has resisted using C99
5905         features, as some Gnulib-using programs still wanted to target
5906         C89.  As this no longer seems to be the case, relax the porting
5907         requirements to allow some C99 features.  This is merely a change
5908         to the documentation, to give other Gnulib developers a chance to
5909         weigh in on the topic.
5910         * doc/extern-inline.texi (extern inline):
5911         * doc/gnulib-readme.texi (Portability guidelines):
5912         * doc/gnulib-tool.texi (Initial import):
5913         * doc/gnulib.texi (Header files):
5914         Modernize to talk about C99 and C11 instead of C89 and C99.
5915         * doc/gnulib-readme.texi (Portability guidelines):
5916         Now a section, not merely a subsection, so that it
5917         can be split up.  Modernize a bit.
5918         (C language versions, C99 features assumed)
5919         (C99 features avoided):
5920         New sections.
5922 2017-04-23  Bruno Haible  <bruno@clisp.org>
5924         doc: New section "Modules that modify the way other modules work".
5925         * doc/gnulib.texi (Modules that modify the way other modules work): New
5926         section.
5928 2017-04-23  Bruno Haible  <bruno@clisp.org>
5930         stat-time: Update comments.
5931         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
5932         * tests/test-utimens-common.h: Add reference regarding st_ctime on
5933         Windows.
5935 2017-04-01  Bruno Haible  <bruno@clisp.org>
5937         glob: Fix more memory leaks.
5938         * lib/glob.c (glob): Free allocated memory before returning.
5939         Reported by Coverity via Tim Rühsen.
5941 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5943         poll: improve fast check for out-of-range NFD
5944         * lib/poll.c: Do not include intprops.h.
5945         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
5946         * modules/poll (Depends-on): Remove intprops.
5948         ftoastr: cite a newer paper
5949         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
5950         instead of Loitsch 2010.
5952 2017-04-22  Bruno Haible  <bruno@clisp.org>
5954         poll: Enable argument check also in the Windows implementation.
5955         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
5956         Reported by Paul Eggert.
5958 2017-04-22  Bruno Haible  <bruno@clisp.org>
5960         getlogin_r: Work around bug in Mac OS X 10.12.
5961         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
5962         bug.
5963         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
5964         given size minus 1, call getlogin_r a second time, on a larger buffer.
5965         * modules/getlogin_r (Depends-on): Add malloca.
5966         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
5968 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5970         parse-datetime: fix %z and prefer signed int
5971         %z problem reported by Pádraig Brady in:
5972         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
5973         While fixing it, I decided to prefer signed ints to size_t, as
5974         they are less error-prone (e.g., ubsan catches overflow).
5975         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
5976         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
5977         counts, since signed integers make for better debugging.
5978         (date): Don’t assume %z works in printf formats.
5979         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
5980         sizes of buffers known to be small, e.g., because we’re using snprintf.
5981         (parse_datetime2): Simplify call to debug_mktime_not_ok.
5983 2017-04-22  Bruno Haible  <bruno@clisp.org>
5985         *printf: Work around rounding bug on Mac OS X.
5986         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
5987         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
5988         Mac OS X and FreeBSD.
5989         * doc/glibc-functions/*printf.texi: Likewise.
5991 2017-04-22  Bruno Haible  <bruno@clisp.org>
5993         vasnprintf tests: Avoid warnings.
5994         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
5995         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
5996         test.
5998 2017-04-22  Bruno Haible  <bruno@clisp.org>
6000         sys_file tests: Avoid warning.
6001         * tests/test-sys_file.c (main): Add a default clause to the switch
6002         statement.
6004 2017-04-22  Bruno Haible  <bruno@clisp.org>
6006         sethostname: Update doc.
6007         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
6008         Mac OS X.
6010 2017-04-22  Bruno Haible  <bruno@clisp.org>
6012         quotearg tests: Avoid warnings.
6013         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
6014         false.
6016 2017-04-22  Bruno Haible  <bruno@clisp.org>
6018         poll: Enable argument check.
6019         * lib/poll.c: Include intprops.h.
6020         (poll): Check value of nfd correctly.
6021         * modules/poll (Depends-on): Add intprops.
6023 2017-04-22  Bruno Haible  <bruno@clisp.org>
6025         get-rusage-data: Avoid warnings on Mac OS X.
6026         * lib/get-rusage-data.c: On Mac OS X, don't define
6027         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
6028         (get_rusage_data) [Mac OS X]: Just return 0.
6030 2017-04-22  Bruno Haible  <bruno@clisp.org>
6032         xbinary-io: Fix build error.
6033         * modules/xbinary-io (Depends-on): Add gettext-h.
6034         * lib/xbinary-io.c: Include gettext.h and define _().
6035         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6036         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
6038 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6040         parse-datetime: overflow and debug cleanups
6041         This long patch was triggered by this bug report from Ruediger Meier:
6042         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
6043         I fixed the bug he noted, then found some others nearby, and then
6044         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
6045         up some of the code to follow GNU standards while I was at it.
6046         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
6047         use c_isdigit.
6048         (EPOCH_YEAR): Remove; unused.
6049         (TM_YEAR_BASE): Now an enum rather than a macro.
6050         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
6051         time zone offset, since timezones now are in terms of seconds and
6052         not minutes.
6053         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
6054         appropriate.  Verify that intmax_t is wide enough.
6055         (time_overflow, time_zone_str): New functions, used to deal
6056         more reliably with overflow.
6057         (dbg_printf): Add printf attribute, to help catch integer width errors.
6058         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
6059         (%union, to_hour, yylex, parse_datetime2):
6060         Use intmax_t instead of long int and/or long_time_t.
6061         All uses changed.
6062         (DBGBUFSIZE): Move earlier.
6063         (relative_time, set_hhmmss, parser_control):
6064         Just use int for nanoseconds and for time zones; that’s wide enough.
6065         (parser_control): Use bool for members like year_seen that can
6066         be booleans instead of counters.  All uses changed.
6067         Remove debug_default_input_timezone; no longer needed.
6068         All uses removed.
6069         (apply_relative_time): Return a bool overflow flag.
6070         All uses changed to check for overflow.
6071         (apply_relative_time, zone, date, relunit, relunit_snumber)
6072         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
6073         Check for integer overflow portably.
6074         (str_days): Use just int for N, as it’s wide enough.
6075         Prefer 2D char arrays to arrays of char * when it looks like
6076         2D is a win on typical platforms.
6077         Prefer snprintf to strncpy/strncat, for simplicity;
6078         all buffers are smaller than INT_MAX so this is safe.
6079         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
6080         (debug_print_current_time): Don’t assume tv_nsec is of type long,
6081         as this is not true on x32.  Output "." before any nanoseconds.
6082         (debug_print_current_time, parse_datetime2):
6083         Output local zones using a more-consistent format.
6084         (debug_print_current_time, date, parse_datetime2):
6085         (main) [TEST]:
6086         Don’t assume time_t is the same width as long.
6087         (print_rel_part): New function, replacing ...
6088         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
6089         (debug_print_relative_time): Use bool for boolean.
6090         (local_zone): dsts_seen now counts only tDST instances.
6091         (date): Fix printf of size_t to use %z.  Do not assume numeric
6092         tokens have negative values merely because the context suggests
6093         a syntax with "-" separating tokens.
6094         (time_zone_hhmm): Return bool success indicator, which checks for
6095         overflow.  Store result into PC->time_zone instead.  All callers
6096         changed.
6097         (tm_year_str): New function.  Return a bool success indicator and
6098         store the result into a buffer.  All callers changed.  Output the
6099         numerically correct string even if adding 1900 to the year would
6100         overflow.
6101         (to_tm_year): New function, replacing the old to_year.  All
6102         callers changed.
6103         (tm_diff): Sync with glibc.
6104         (lookup_word): Use to_uchar instead of doing it by hand.
6105         (TZBUFSIZE): Now local to the only function that needs it.
6106         (debug_strfdatetime): Simplify now that time zones are int seconds.
6107         (debug_strfdate): Work even if tm_year + 1900 would overflow.
6108         (get_effective_timezone): Remove.  All uses removed.
6109         (parse_datetime2): Use fprintf in pieces instead of snprintfing
6110         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
6111         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
6112         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
6113         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
6114         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
6115         * modules/parse-datetime (Depends-on): Add inttypes.
6117 2017-04-21  Bruno Haible  <bruno@clisp.org>
6119         gettext-h: Avoid -Wundef warning.
6120         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
6121         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
6122         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
6124 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
6126         error: Avoid "function declaration isn't a prototype" warning.
6127         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
6129 2017-04-21  Bruno Haible  <bruno@clisp.org>
6131         vasnprintf: Fix for MSVC 14.
6132         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
6133         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
6134         of !HAVE_SNPRINTF_RETVAL_C99.
6136 2017-04-21  Bruno Haible  <bruno@clisp.org>
6138         mbrtowc tests: Fix test failures on MSVC 14.
6139         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
6140         behaviour for invalid input.
6142 2017-04-21  Bruno Haible  <bruno@clisp.org>
6144         mbsinit: Fix for MSVC 14.
6145         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
6146         implementation that is in sync with mbrtowc.c. On other platforms, use
6147         an adequate ad-hoc implementation.
6149 2017-04-21  Bruno Haible  <bruno@clisp.org>
6151         Fix test-mbrtowc5.sh failure on native Windows.
6152         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
6153         "C".
6155 2017-04-21  Bruno Haible  <bruno@clisp.org>
6157         Avoid accidental use of native Windows APIs on Cygwin.
6158         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
6159         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
6160         * lib/localename.c (WINDOWS_NATIVE): Likewise.
6162 2017-04-20  Bruno Haible  <bruno@clisp.org>
6164         Remove red warnings from the generated MODULES.html.
6165         * modules/fcntl (Description): Disambiguate function references.
6166         * modules/getcwd-lgpl (Description): Likewise.
6167         * modules/hostent (Description): Likewise.
6168         * modules/servent (Description): Likewise.
6169         * modules/tempname (Description): Likewise.
6171 2017-04-20  Bruno Haible  <bruno@clisp.org>
6173         verify tests: Fix spurious failure with parallel make.
6174         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
6175         EXTRA_PROGRAMS.
6176         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
6177         * tests/test-verify-try.c: New file.
6178         * modules/verify-tests (Files): Add it.
6179         (EXTRA_PROGRAMS): Add test-verify-try.
6180         (MOSTLYCLEANFILES): Update accordingly.
6181         Reported by Adam James Stewart <ajstewart@anl.gov>.
6183 2017-04-18  Bruno Haible  <bruno@clisp.org>
6185         vma-iter: Fix compilation error on Solaris 7.
6186         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
6187         like on IRIX, OSF/1.
6188         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6190 2017-04-18  Bruno Haible  <bruno@clisp.org>
6192         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
6193         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
6194         included.
6195         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
6196         <sys/procfs.h>.
6197         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
6198         <sys/procfs.h> cannot be included.
6199         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6201 2017-04-18  Bruno Haible  <bruno@clisp.org>
6203         getopt-gnu: Add comments.
6204         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
6205         * modules/getopt-gnu (configure.ac): Likewise.
6207 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
6209         regex: port better to Solaris 10
6210         Solaris 10 <locale.h> includes <libintl.h>, which #defines
6211         gettext, and this causes a double #define.
6212         Problem reported by Gavin Smith in:
6213         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
6214         * lib/regex_internal.h (gettext): #undef before #defining.
6216 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
6218         intprops: improve comments
6219         * lib/intprops.h: Improve and shorten commentary.
6220         For the record, if we ever run into a pedantic compiler that
6221         behaves differently from GCC when converting an out-of-range value
6222         to a signed integer, we can work around the problem with something
6223         like the following code, where UCT is the signed counterpart of T
6224         (UCT is sometimes narrower than UT) and all callers are changed
6225         accordingly:
6226         #if __SUNPRO_C <= 0x5120
6227         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
6228            ((t) ((ut) (a) op (ut) (b)))
6229         #else
6230         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
6231            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
6232             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
6233                + TYPE_MINIMUM (t)) \
6234             : (t) (uct) ((ut) (a) op (ut) (b)))
6235         #endif
6237 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
6239         intprops: try to avoid tickling similar bugs
6240         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
6241         needs to be the same width as T; it can be wider.
6242         Change callers so that UT is at least as wide as unsigned int,
6243         as I suspect that this is less likely to run into compiler bugs.
6245         intprops: port to Oracle Studio 12.3 x86
6246         Problem reported by Gavin Smith in:
6247         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
6248         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
6249         Convert unsigned to signed via the usual rather than the standard way,
6250         to avoid a compiler bug in Oracle Studio 12.3 x86.
6252 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
6254         getopt: prefer - to _ in new file names
6255         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
6256         * lib/getopt-core.h: Rename from lib/getopt_core.h.
6257         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
6258         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
6259         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
6260         All uses changed.
6262         getopt: port recent getopt changes to macOS
6263         Problem reported by Harald Maier (Bug#26398).
6264         The macOS C compiler uses __nonnull for its own purposes and that
6265         clashes with glibc's __nonnull.
6266         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
6267         * lib/getopt_cdefs.in.h (__nonnull): Remove.
6268         * lib/getopt_core.h (getopt):
6269         * lib/getopt_ext.h (getopt_long, getopt_long_only):
6270         Use _GL_ARG_NONNULL, not __nonnull.
6271         * lib/unistd.in.h: Move snippet hooks to before where the getopt
6272         .h files are included, so that _GL_ARG_NONNULL is defined in time.
6273         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
6274         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
6276 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
6278         getopt-gnu: omit some duplicate code
6279         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
6280         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
6281         gnulib-tool already does this.
6282         * modules/getopt-gnu (configure.ac): Omit code duplicated from
6283         getopt-posix, which we depend on.
6285         getopt-posix: use angle-bracket include
6286         * lib/getopt1.c: Include <config.h>, not "config.h".
6288 2017-04-06  Zack Weinberg  <zackw@panix.com>
6290         getopt: annotate files with relationship to glibc
6292         As the final act in this patchset, adjust the message at the top of
6293         each file to indicate which files are synced with glibc.  (This has
6294         already been done for most of the headers.)
6296         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
6297         Mention in top-of-file boilerplate that these files are shared
6298         between glibc and gnulib.
6301         getopt: split up getopt.in.h and eliminate __need_getopt
6303         Over in glibc, all of the __need macros are being phased out in favor
6304         of small headers that declare only the necessary components, as this
6305         is much simpler and less prone to bugs.  As getopt is shared with
6306         glibc, gnulib needs to do the same for __need_getopt.
6308         __need_getopt is misnamed; what it really means is "we want only the
6309         getopt features specified in POSIX, not the GNU extensions".  glibc
6310         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
6311         these files can be shared verbatim with gnulib.  The portability
6312         wrapper, on the other hand, they have renounced altogether; glibc's
6313         getopt.h will no longer be shared with gnulib at all.  In exchange,
6314         certain glibc-specific quirks (having to do with __posix_getopt) no
6315         longer need appear in gnulib's headers at all.
6317         This patch merges getopt_core.h and getopt_ext.h from glibc, and
6318         splits up the current gnulib-side portability wrapper into three
6319         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
6320         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
6321         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
6322         unistd.in.h just use them.  All new files are clearly marked with
6323         whether they are shared with glibc.
6325         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
6326         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
6327         with glibc, and ...
6328         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
6329         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
6330         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
6331         instead of defining __need_getopt and including the full getopt.h.
6333         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
6334         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
6335         * modules/getopt-posix (Files): Add new headers and sort list.
6336         (Depends-on): No longer need snippet/arg-nonnull.
6337         (Makefile.am): Generate getopt_cdefs.h.
6340         getopt: better handling of ambiguous options
6342         glibc's getopt uses alloca to construct a linked list of possibilities
6343         for an "ambiguous" long option.  In gnulib, malloc should be used
6344         instead.  Providing for both cases complicates things a fair bit.
6346         This patch rewrites ambiguous-option handling to use a boolean vector
6347         instead of a linked list.  There is then only one allocation that
6348         might need freeing; in glibc it can honor __libc_use_alloca as usual,
6349         and in gnulib we define __libc_use_alloca to always be false, so we
6350         don't need ifdefs in the middle of the function.  This should also be
6351         slightly more efficient in the normal case of long options being fully
6352         spelled out -- I think most people aren't even aware they _can_
6353         sometimes abbreviate long options.
6355         One interesting consequence is that the list of possibilities is now
6356         printed in exactly the order they appear in the list of long options,
6357         instead of the first possibility being shuffled to the end.
6359         (The patch looks bigger than it really is because there's a fair bit
6360         of reindentation and code rearrangement.)
6362         * lib/getopt.c: When used standalone, define __libc_use_alloca
6363         as always false and alloca to abort if called.
6364         (process_long_option): Rewrite handling of ambiguous long options
6365         to use a single boolean vector, not a linked list; use
6366         __libc_use_alloca to decide whether to allocate this using alloca.
6369         getopt: refactor long-option handling
6371         There were two copies of the bulk of the code to handle long options.
6372         Now there is only one.
6374         This change temporarily removes the logic to avoid using alloca when
6375         standalone; the next patch in the series will restore it.
6377         * lib/getopt.c (process_long_option): New function split out
6378         from _getopt_internal_r.
6379         (_getopt_internal_r): Replace both copies of the long-option
6380         processing code with calls to process_long_option.
6383         getopt: tidy up _getopt_initialize a bit
6385         _getopt_data.__posixly_correct is completely redundant to
6386         _getopt_data.__ordering, and some work that logically belongs in
6387         _getopt_initialize was being done by _getopt_internal_r, making the
6388         code harder to understand.
6390         As a side effect, getenv will no longer be called if the first
6391         character of the options string is '+' or '-', which is probably a
6392         Good Thing.  (Perhaps we should have a flag character that
6393         specifically asks for the permutation behavior?)
6395         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
6396         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
6397         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
6400         getopt: merge from glibc: repetition reduction
6402         The definitions of the entry point functions 'getopt' and
6403         '__posix_getopt' can be made substantially less repetitive with a
6404         helper macro.
6406         While I was merging the const-correctness changes from gnulib into
6407         glibc I noticed there are still some unnecessary casts in
6408         _getopt_internal_r.
6410         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
6411         a macro.  Consistently cast 'argv' to 'char **' when calling
6412         _getopt_internal.
6413         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
6416         getopt: clean up error reporting
6418         getopt can print a whole bunch of error messages, and when used
6419         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
6420         cancellation point and getopt isn't, and also applying fprintf to a
6421         stream in wide-character mode is not allowed.  So every single error
6422         reporting case has an #ifdef _LIBC block in which it calls internal
6423         libc functions instead.  The counterpart patch series in glibc makes
6424         it possible to simplify all of that down to a set of #defines at the
6425         top of the file; core code is written as if it is safe to just call
6426         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
6427         call any *other* stdio functions.)
6429         * lib/getopt.c: When _LIBC is defined, define fprintf to
6430         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
6431         to _IO_funlockfile.  When neither _LIBC nor
6432         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
6433         funlockfile as no-ops.
6434         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
6435         standalone error-printing code can now be used for libc as well.
6436         Add an flockfile/funlockfile pair around one case where the error
6437         message is printed in several chunks.  Don't use fputc.
6440         getopt: fix fencepost error in ambiguous-W-option handling
6442         getopt_long contains an undocumented (AFAICT) feature in which, if you
6443         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
6444         treated as equivalent to '--foo'.  This is implemented with a partial
6445         second copy of the code for handling long options, and that code
6446         increments optind one too many times when recovering from an ambiguous
6447         abbreviated option, which can cause the main loop to walk past the end
6448         of argv and crash.
6450         I discovered this while writing a test case that tries to exercise all
6451         of getopt's error reporting paths; I wouldn't be surprised to learn
6452         that this feature is never used by real applications.
6454         * lib/getopt.c (_getopt_internal_r): Don't increment
6455         d->optind a second time when reporting ambiguous -W options.
6458         getopt: clean up getopt.c and getopt1.c file headers
6460         In getopt.c, there is no need to include wchar.h at all, and it is
6461         safe nowadays to assume that stdlib.h does declare getenv (several
6462         other gnulib modules make this assumption).
6464         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
6465         by using "" inclusions consistently, and there is no actual need to
6466         include stdlib.h (except in the #ifdef TEST block, where it should be
6467         unconditional), nor to provide a backup definition of NULL at all.
6469         * lib/getopt1.c: Simplify #ifdeffage at top of file.
6470         Move inclusion of stdlib.h to #ifdef TEST block and make
6471         unconditional.  Do not define NULL.
6472         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
6473         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
6474         * modules/getopt-gnu, modules/getopt-posix: Don't call
6475         gl_PREREQ_GETENV.
6478         getopt: harmonize comments with glibc
6480         The comments explaining how the behavior of 'getopt' varies depending
6481         on whether it's the standalone version and whether there are special
6482         characters at the beginning of the options string were inconsistent
6483         between gnulib and glibc, and also out of sync with the code.
6485         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
6488         getopt: remove USE_NONOPTION_FLAGS
6490         getopt includes code to parse an environment variable named
6491         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
6492         in decimal); but all of it has been #ifdefed out since 2001, with no
6493         official way to turn it back on.
6495         According to commentary in glibc's config.h.in, bash version 2.0
6496         set this environment variable to indicate argv elements that were
6497         the result of glob expansion and therefore should not be treated
6498         as options, but the feature was "disabled later" because "it
6499         caused problems".  According to bash's CHANGES file, "later" was
6500         release 2.01; it gives no more detail about what the problems
6501         were.
6503         Version 2.0 of bash was released on the last day of 1996, and version
6504         2.01 in June of 1997.  Twenty years later, I think it is safe to
6505         assume that this environment variable isn't coming back.
6507         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
6508         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
6509         __libc_argc and __libc_argv externs, which were only used by
6510         #ifdef USE_NONOPTION_FLAGS blocks.
6513         getopt: tabify, in preparation for merge with glibc
6515         glibc sticks to the GNU default of indenting with a mix of
6516         8-column tabs and spaces; make the gnulib copy match.
6518         getopt.h is not included because it is *not* going to be merged in its
6519         present form.
6521         * getopt.c, getopt1.c, getopt_int.h: Tabify.
6523 2017-04-02  Bruno Haible  <bruno@clisp.org>
6525         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
6526         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
6527         like it was done in modules/relocatable-lib on 2011-05-21 and in
6528         modules/relocatable-prog on 2011-08-15.
6529         Reported by Reuben Thomas <rrt@sc3d.org>.
6531 2017-03-31  Bruno Haible  <bruno@clisp.org>
6533         glob: Fix invalid free() call.
6534         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
6535         static storage to home_dir.
6536         Reported by Coverity via Tim Rühsen.
6538 2017-03-31  Bruno Haible  <bruno@clisp.org>
6540         glob: Fix memory leaks.
6541         * lib/glob.c (glob): Free allocated memory before returning.
6542         Reported by Coverity via Tim Rühsen.
6544 2017-03-31  Bruno Haible  <bruno@clisp.org>
6546         md5, sha1, sha256, sha512: Add comments regarding correctness.
6547         * lib/md5.h (buflen): Add comments regarding range.
6548         * lib/sha1.h (buflen): Likewise.
6549         * lib/sha256.h (buflen): Likewise.
6550         * lib/sha512.h (buflen): Likewise.
6551         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
6552         * lib/sha1.c (sha1_process_bytes): Likewise.
6553         * lib/sha256.c (sha256_process_bytes): Likewise.
6554         * lib/sha512.c (sha512_process_bytes): Likewise.
6555         Reported by Coverity via Tim Rühsen.
6557 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
6559         getopt: merge from glibc
6560         This does not change anything substantial; it merely simplifies
6561         hypothetical merges back to glibc.
6562         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
6563         Change copyright notice to match what is in glibc.
6564         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
6565         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
6566         __open_memstream rather than open_memstream and __glibc_likely
6567         instead of __builtin_expect.
6568         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
6570 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
6572         dfa: make [0-9] faster in non-C locales
6573         Problem reported by John P. Linderman (Bug#26193).
6574         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
6575         If both ends of the range are ASCII digits, do not worry about
6576         multi-character collating sequences and the like.  Be consistent
6577         about using isalpha as a precondition for setbit_case_fold_c.
6579 2017-03-19  Bruno Haible  <bruno@clisp.org>
6581         lock: Fix compilation error with HP-UX IA64 cc.
6582         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
6583         weak on non-glibc platforms.
6585 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6587         stdalign: tweak version# and test for HP-UX IA64
6588         Problems reported by Bruno Haible in:
6589         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
6590         * lib/stdalign.in.h (_Alignas):
6591         * m4/stdalign.m4 (gl_STDALIGN_H):
6592         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
6593         used octal (as that is how they document it), but it is decimal in
6594         practice now and the ancient implementations no longer matter.
6595         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
6597 2017-03-19  Bruno Haible  <bruno@clisp.org>
6599         vma-iter: Add support for Solaris.
6600         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
6601         approach.
6602         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
6603         * lib/get-rusage-as.c: Update comment about Solaris.
6604         * lib/get-rusage-data.c: Likewise.
6606 2017-03-19  Bruno Haible  <bruno@clisp.org>
6608         vma-iter: Prefer HP-UX specific API on HP-UX.
6609         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
6610         * lib/vma-iter.h: Update.
6611         Just in case HP-UX ever implements mquery().
6613 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
6615         stdalign: restore previous behavior for HP-UX IA64
6616         See Bruno Haible's email in:
6617         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
6618         which cites p 150 of a manual saying that 'aligned' works on Itanium.
6619         * lib/stdalign.in.h (_Alignas):
6620         Assume the '061200' applies to Itanium, not to PA-RISC.
6621         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
6623 2017-03-17  Bruno Haible  <bruno@clisp.org>
6625         stat-time, timespec: Support use of the header files in C++ mode.
6626         * lib/stat-time.h: Add "C" linkage declaration.
6627         * lib/timespec.h: Likewise.
6629 2017-03-17  Bruno Haible  <bruno@clisp.org>
6631         stdalign: Make it work with HP-UX cc.
6632         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
6633         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
6634         for HP-UX cc.
6636 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
6638         flexmember: try to detect HP-UX 11.31 cc bug
6639         Problem reported by Bruno Haible in:
6640         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
6641         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
6642         Attempt to detect bug in HP-UX 11.31 cc.
6644 2017-03-16  Bruno Haible  <bruno@clisp.org>
6646         stdint: Fix test compilation failure with HP-UX 11 cc.
6647         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
6648         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
6649         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
6650         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
6652 2017-03-14  Bruno Haible  <bruno@clisp.org>
6654         gnulib-tool: Don't produce a tests directory with only snippet .h files.
6655         * gnulib-tool (func_modules_transitive_closure_separately): If
6656         testsrelated_modules ends up with no "real" modules, aside from
6657         modules with applicability 'all', set it to empty.
6659 2017-03-14  Bruno Haible  <bruno@clisp.org>
6661         vma-iter: Add support for HP-UX.
6662         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
6663         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
6664         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
6665         * lib/get-rusage-as.c: Update comment about HP-UX.
6666         * lib/get-rusage-data.c: Likewise.
6667         (get_rusage_data): Use get_rusage_data_via_setrlimit.
6669 2017-03-14  Bruno Haible  <bruno@clisp.org>
6671         limits-h: Make it work with HP-UX cc.
6672         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
6673         defined.
6675 2017-03-14  Bruno Haible  <bruno@clisp.org>
6677         Fix test failures on DragonFlyBSD.
6678         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
6679         * tests/test-select.h (test_bad_fd): Likewise.
6680         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
6682 2017-03-14  Bruno Haible  <bruno@clisp.org>
6684         freadahead: Silence warning on DragonFlyBSD.
6685         * lib/freadahead.c (__sreadahead): Declare ourselves.
6687 2017-03-14  Bruno Haible  <bruno@clisp.org>
6689         vma-iter: Add comment about AIX.
6690         * lib/vma-iter.c: Add comment about why this module is not implemented
6691         on AIX.
6693 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
6695         snippets: move unadjusted snippet sources to lib
6696         Problem reported by Michal Privoznik in:
6697         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
6698         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
6699         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
6700         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
6701         * lib/unused-parameter.h: Rename from
6702         build-aux/snippet/unused-parameter.h.
6703         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
6704         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
6705         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
6706         * modules/snippet/c++defs (Files:, CXXDEFS_H):
6707         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
6708         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
6709         Adjust to file renamings.
6711 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
6713         gnulib-tool: don't automatically distribute files from top/
6714         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
6715         not distribute top/README-release by default, don't distribute files
6716         from top/ unconditionally.
6717         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
6718         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
6720 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
6722         gnulib-tool: fix typo in comment output
6723         * gnulib-tool (func_import): Fix typo with previous change.
6725         snippets: work around GNU Make 3.82 VPATH
6726         When using 'gnulib-tool --gnu-make' on Emacs, and building
6727         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
6728         an out-of-source (VPATH) build failed because the sans-copyright
6729         snippet file was not built before the file that used it.
6730         Presumably this is some sort of VPATH thing.  Work around the
6731         problem by using the original snippet, i.e., don’t bother to
6732         remove its copyright notice.
6733         * modules/snippet/_Noreturn, modules/snippet/link-warning:
6734         Don’t assume Automake in comments.  Omit long-incorrect comment.
6735         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
6736         (MOSTLYCLEANFILES):
6737         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
6738         (MOSTLYCLEANFILES):
6739         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
6740         (MOSTLYCLEANFILES):
6741         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
6742         (MOSTLYCLEANFILES):
6743         Remove.
6744         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
6745         * modules/snippet/c++defs (CXXDEFS_H):
6746         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
6747         * modules/snippet/warn-on-use (WARN_ON_USE_H):
6748         Don’t bother to remove the copyright notice; just use the
6749         original snippet as-is.
6751 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
6753         gnulib-tool: minor --gnu-make fixups
6754         * gnulib-tool (func_emit_lib_Makefile_am):
6755         Remove useless code that was a blind alley during implementation.
6756         Problem reported by Thien-Thi Nguyen in:
6757         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
6758         (func_import): Note the "--gnu-make" option in the output comment.
6760 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
6762         gnulib-tool: new option --gnu-make
6763         This is for applications like GNU Emacs that use GNU Make
6764         features instead of Automake.
6765         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
6766         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
6767         Do not assume Automake.
6768         * gnulib-tool (func_determine_path_separator)
6769         (func_modules_transitive_closure, func_update_file)
6770         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
6771         (func_import): Add support for --gnu-make.
6773 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
6775         gnulib-common.m4: avoid aclocal.m4 bloat
6776         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
6777         Hide AM_PROG_AR from aclocal, so that aclocal does not
6778         install irrelevant macro definitions into aclocal.m4.
6780 2017-03-10  Bruno Haible  <bruno@clisp.org>
6782         vma-iter: Let callers know about error.
6783         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
6784         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
6786 2017-03-05  Bruno Haible  <bruno@clisp.org>
6788         Fix value of LD for 64-bit compilers on AIX.
6789         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
6790         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
6792 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
6794         dtotimespec: simplify
6795         * lib/dtotimespec.c (dtotimespec): Simplify.
6797 2017-03-04  Bruno Haible  <bruno@clisp.org>
6799         test-calloc-gnu: Reenable test also for GCC 7.
6800         * tests/test-calloc-gnu.c (eight): New function.
6801         (main): Don't skip test; use eight() instead.
6803 2017-03-04  Jim Meyering  <meyering@fb.com>
6805         test-calloc-gnu: port to GCC7
6806         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
6807         that attempts to calloc more than SIZE_MAX bytes, because GCC7
6808         and newer would detect that at compilation time.
6810 2017-03-04  Bruno Haible  <bruno@clisp.org>
6812         tests: Avoid compiler warning about uses of null_ptr.
6813         * tests/null-ptr.h: New file.
6814         * tests/test-canonicalize.c: Include null-ptr.h.
6815         (null_ptr): Remove function.
6816         * tests/test-canonicalize-lgpl.c: Likewise.
6817         * tests/test-memmem.c: Likewise.
6818         * tests/test-ptsname_r.c: Likewise.
6819         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
6820         * modules/canonicalize-lgpl-tests: Likewise.
6821         * modules/memmem-tests: Likewise.
6822         * modules/ptsname_r-tests: Likewise.
6823         Reported by Jim Meyering.
6825 2017-03-03  Bruno Haible  <bruno@clisp.org>
6827         doc: Mention Mac OS X deficiencies regarding semaphores.
6828         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
6829         * doc/posix-functions/sem_destroy.texi: Likewise.
6830         * doc/posix-functions/sem_getvalue.texi: Likewise.
6832 2017-03-03  Bruno Haible  <bruno@clisp.org>
6834         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
6835         Reported by Assaf Gordon <assafgordon@gmail.com> via
6836         Pádraig Brady <P@draigBrady.com>.
6837         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
6838         semaphores.
6839         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
6840         (atomic_int_semaphore): New macro.
6842 2017-02-28  Bruno Haible  <bruno@clisp.org>
6844         perror tests: Tweak for z/OS.
6845         Reported by Daniel Richard G. <skunk@iskunk.org>.
6846         * tests/test-perror.sh: Don't fail z/OS style perror output.
6848 2017-02-26  Bruno Haible  <bruno@clisp.org>
6850         nproc: Refactor large function.
6851         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
6852         from num_processors.
6853         (num_processors): In this function, only deal with OMP.
6855 2017-02-26  Pádraig Brady  <P@draigBrady.com>
6857         nproc: adjust handling of OpenMP environment variables
6858         to match the return value from omp_get_num_threads(), i.e.:
6859          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
6860          - Treat 0 as an invalid value and ignore
6861         Also remove the call to omp_get_num_threads() because
6862         it's ineffective without the omp pragmas in place.
6863         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
6864         so that it can be ignored.
6865         (num_processors): Honor OMP_THREAD_LIMIT even without
6866         OMP_NUM_THREADS being set.  Also fix a typo in the environment
6867         variable being checked, from the previous recent commit.
6869 2017-02-26  Pádraig Brady  <P@draigBrady.com>
6871         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
6872         * lib/nproc.c (parse_omp_threads): A new function refactored
6873         from num_processors() to support parsing both of the
6874         above environment variables.
6875         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
6876         to accurately reflect the current OpenMP nesting level.
6877         Also support the OMP_THREAD_LIMIT environment variable
6878         to limit the max value determined from OMP_NUM_THREADS.
6879         * modules/nproc: Depend on minmax header.
6880         Suggested by Oliver Heimlich.
6882 2017-02-25  Bruno Haible  <bruno@clisp.org>
6884         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
6885         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
6887 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6889         ftoastr: port to -Wdouble-promotion
6890         Work around -Wdouble-promotion false alarm in recent GCCs.
6891         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
6892         (ftoastr_snprintf, FTOASTR): Use it.
6894 2017-02-21  Bruno Haible  <bruno@clisp.org>
6896         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
6897         Reported by Rene Saavedra <rennes@openmailbox.org> in
6898         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
6899         * lib/glthread/lock.h: On glibc systems without
6900         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
6901         implementation of rwlocks.
6902         * lib/glthread/lock.c: Likewise.
6904 2017-02-20  Bruno Haible  <bruno@clisp.org>
6906         lock tests: Fix build failure on z/OS.
6907         Reported by Daniel Richard G. <skunk@iskunk.org>.
6908         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
6909         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
6910         exist.
6912 2017-02-19  Bruno Haible  <bruno@clisp.org>
6914         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
6915         This helps when CC=clang.
6916         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
6917         of /usr/bin/gcc.
6919         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
6920         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
6922 2017-02-19  Bruno Haible  <bruno@clisp.org>
6924         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
6925         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
6926         --with-tests --single-configure is specified.
6928 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
6930         users.txt: Update links, use HTTPS where possible
6931         * users.txt: Updated to HTTPS where possible,
6932         fixed some links to new locations.
6934 2017-02-16  Bruno Haible  <bruno@clisp.org>
6936         xbinary-io: Fix inlining.
6937         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
6939 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
6941         xbinary-io: rename from xsetmode
6942         This patch is taken from suggestions by Bruno Haible in:
6943         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
6944         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
6945         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
6946         not ENOTTY, when it is an inappropriate device.
6947         * lib/binary-io.h (SET_BINARY): Resurrect.
6948         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
6949         (xset_binary_mode_error): Rename from xsetmode_error.
6950         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
6951         (xset_binary_mode): Rename from xsetmode.
6952         All uses changed.
6953         * modules/xbinary-io: Rename from modules/xsetmode.
6954         Update file names.
6955         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
6956         * NEWS: Update to match revised behavior.
6958 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
6960         tests: Adjust to recent SET_BINARY change
6961         * tests/test-binary-io.c (main):
6962         * tests/test-binary-io.sh: Remove test for SET_BINARY.
6963         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
6964         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
6965         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
6967         xsetmode: new module
6968         This is to fix a problem noted by Eric Blake.
6969         Code was using xfreopen to change files to binary mode, but this
6970         fails for stdout when in append mode.  Such code should use
6971         xsetmode instead.
6972         * NEWS: Document incompatible changes to binary-io module.
6973         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
6974         New function.
6975         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
6976         (set_binary_mode): New function, which also checks for tty.
6977         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
6979 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
6981         headers: fix begin-end typos
6982         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
6983         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
6985         selinux-h: port to PGI 16.10
6986         * lib/se-selinux.in.h: Don't assume that include_next skips over
6987         duplicate -I DIR options.
6989         argp: port to PGI 16.10
6990         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
6992 2017-02-13  Darshit Shah  <darnir@gnu.org>
6994         unicase: Update function protoype to match definition.
6995         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
6996         uses 'size_t' as the datatype for the 'len' parameter in the functions
6997         it generates. Update the prototype specified here to match the newly
6998         generated function.
7000 2017-02-12  Bruno Haible  <bruno@clisp.org>
7002         times test: Avoid gcc warnings on Linux/x32.
7003         * tests/test-times.c (main): Really cast printf arguments from clock_t
7004         to 'long int'.
7006 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
7008         glob: port better to emscripten
7009         Problem reported by Bruno Haible in:
7010         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
7011         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
7013 2017-02-11  Bruno Haible  <bruno@clisp.org>
7015         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
7016         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
7017         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
7018         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
7019         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
7020         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
7021         Distinguish hppa64 from hppa.
7023 2017-02-10  Bruno Haible  <bruno@clisp.org>
7025         search: Don't assume that tsearch() exists if 'VISIT' is defined.
7026         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
7027         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
7028         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
7030 2017-02-09  Bruno Haible  <bruno@clisp.org>
7032         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
7033         * doc/gnulib.texi (Libtool and Windows): Recommend
7034         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
7035         Reported by Reuben Thomas <rrt@sc3d.org>.
7037 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
7039         stddef-tests: port to SIZE_MAX <= INT_MAX
7040         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
7041         Do not assume that INT_MAX < SIZE_MAX.
7043 2017-02-01  Bruno Haible  <bruno@clisp.org>
7045         lock tests: Fix link error.
7046         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
7047         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7049 2017-01-31  Bruno Haible  <bruno@clisp.org>
7051         lock: Fix link error (regression from 2017-01-05).
7052         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
7053         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
7054         pthread_rwlockattr_destroy weak.
7055         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7057 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
7059         Port to PGI 16.10 x86-64
7060         This patch fixes one real bug in gl_anylinked_list2.h, along with
7061         some minor glitches that are not bugs.  It does not silence PGI’s
7062         thousands of bogus warnings when compiling test-intprops.c.
7063         Fortunately, the warnings do not cause a failure.
7064         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
7065         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
7066         My goodness, PGI goes back a long ways - this predates C89!
7067         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
7068         For example, ASYNCSAFE (const void *) should expand to
7069         ‘const void *volatile’, not to ‘volatile const void *’.
7070         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
7071         * lib/verify.h (verify) [!__GNUC__]:
7072         Use shorter albeit meaningless string to bypass silly compiler limits.
7073         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
7074         * tests/nan.h (NaNf, NaNd, NaNl):
7075         Use static functions to avoid misguided compiler diagnostics.
7076         Is there some reason we don’t use static functions on all platforms?
7078 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
7080         parse-datetime: handle timezones reentrantly
7081         This API change was prompted by a report by Pádraig Brady in:
7082         https://bug.debian.org/851934#10
7083         To help fix the bug, make parse_datetime2 more reentrant.
7084         * NEWS: Document this incompatible change.
7085         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
7086         Add two arguments, the timezone and the timezone name.
7087         All callers changed.  If TZ="..." is specified, use it for
7088         calculating defaults.
7089         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
7090         this code should be usable in a library.
7091         (mktime_ok, get_effective_timezone):
7092         Accept timezone arg too.  All callers changed.
7093         (get_tz): Remove.
7094         (get_effective_timezone): Check for failures.
7096 2017-01-20  Eric Blake  <eblake@redhat.com>
7098         localename: port to cygwin 2.6
7099         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
7100         Cygwin.
7101         * modules/localename (Depends-on): Add extensions, since
7102         NL_LOCALE_NAME() is not visible without it.
7104 2017-01-17  Pádraig Brady  <P@draigBrady.com>
7106         parse-datetime: fix dependence on AC_PROG_SED
7107         * modules/parse-datetime: Use `sed` directly like all other modules.
7108         Reported by J William Piggott
7110 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
7112         intprops: update doc URLs
7113         * doc/intprops.texi (Integer Range Overflow): Update URLs.
7115 2017-01-16  Bruno Haible  <bruno@clisp.org>
7117         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
7118         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
7119         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
7120         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
7121         distinguish s390 and s390x.
7122         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
7123         * NEWS: Mention the change regarding 'armel'.
7125 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
7127         localeinfo: case_folded_counterparts and WEOF
7128         * NEWS: Document this.
7129         * lib/localeinfo.c (case_folded_counterparts):
7130         First arg is now wint_t, not wchar_t.  This generalizes the
7131         function to also work on WEOF, where it returns 0.
7133         dfa: port to gcc -fsanitize=undefined
7134         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
7135         as this runs afoul of gcc -fsanitize=undefined.
7137 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
7139         strftime: %z is -00 if unknown
7140         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
7141         the caller's responsibility to set 'negative_number'.  All uses changed.
7142         (__strftime_internal): Put '-' before a zero UTC offset if the time
7143         zone abbreviation starts with "-", which is the recently-introduced
7144         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
7145         * tests/test-strftime.c: Test for this.
7147 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7149         dfa: port to older GCC
7150         Problem reported by Assaf Gordon in:
7151         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
7152         * modules/c99: New module.  This merely attempts to use the latest
7153         C version, which should be enough to solve this particular problem.
7154         The idea is to document which Gnulib modules assume C99 or later.
7155         * modules/dfa (Depends-on): Add it.
7157 2017-01-10  Bruno Haible  <bruno@clisp.org>
7159         Update DEPENDENCIES.
7160         * DEPENDENCIES: List only https URLs. Update recommended version for
7161         autoconf, automake, gperf.
7163 2017-01-10  Jim Meyering  <meyering@fb.com>
7165         maint.mk: enforce spelling of "timestamp" (i.e., no space)
7166         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
7167         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
7169 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7171         dfa: minor simplification with emptyset
7172         * lib/dfa.c (build_state): Simplify by using emptyset.
7174 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
7176         dfa: shrink constraints from 4 bits to 3
7177         * lib/dfa.c (newline_constraint, letter_constraint)
7178         (other_constraint, prev_newline_dependent)
7179         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
7180         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
7181         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
7182         Constraints need only 3 bits, not 4.  Using smaller integers
7183         shrinks the code a bit and makes grep a tad faster on x86-64.
7185         dfa: omit unnecessary ptrdiff_t check
7186         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
7187         overflow, since xnmalloc does that now.
7189         dfa: omit unnecessary allocation
7190         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
7191         an all-zero follow set works just fine.
7193         dfa: omit unused local
7194         * lib/dfa.c (build_state): Fix up recent change.
7196         maint: remove stray .texi files
7197         Although these were superseded by other files like
7198         doc/posix-functions/ctime.texi, the old files were not removed.
7199         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
7201 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
7203         getprogname: fix port to IRIX
7204         * lib/getprogname.c (getprogname) [__sgi]:
7205         Don't dump core if malloc returns NULL.
7207         dfa: fix reallocation bug when matching newlines
7208         Problem reported for sed by S. Gilles (Bug#25390).
7209         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
7210         (dfastate): Reallocate before moving any newline transition ...
7211         (build_state): ... instead of reallocating here, where it is too late.
7213 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
7215         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
7216         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
7218 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
7220         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
7221         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
7223 2017-01-07  Bruno Haible  <bruno@clisp.org>
7225         stdioext: Port to Minix 3.2 and newer.
7226         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
7227         * lib/fseeko.c (fseeko): Likewise.
7228         Reported by Nelson Beebe via Paul Eggert.
7230 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
7232         getprogname: port to IRIX
7233         * lib/getprogname.c (getprogname): Port to IRIX.
7234         Based on an idea by Bastien Roucariès at:
7235         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
7236         via code from Bruno Haible at:
7237         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
7239         localename-tests: port to NetBSD 7
7240         Problem reported by Nelson H. F. Beebe.
7241         * tests/test-localename.c:
7242         Test newlocale and uselocale only if both exist.
7244         glob, intprops, xalloc: work around Clang bug
7245         Work around LLVM bug 16404, which is still not fixed.
7246         https://llvm.org/bugs/show_bug.cgi?id=16404
7247         Problem reported by Nelson H. F. Beebe.
7248         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
7249         Remove.
7250         * lib/glob.c (size_add_wrapv):
7251         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
7252         * lib/xalloc-oversized.h (xalloc_oversized):
7253         Do not use overflow builtins if Clang.
7255         dfa: fix 'return' typo
7256         Problem reported by Nelson H. F. Beebe.
7257         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
7259 2017-01-05  Pádraig Brady  <P@draigBrady.com>
7261         parse-datetime: fix generated paths for coverage files
7262         * modules/parse-datetime: Adjust the paths for parse-datetime.y
7263         within parse-datetime.c, so that gcc generates appropriate .gcno
7264         files, allowing lcov to proceed without error.  Previously it
7265         would error trying to find "lib/lib/parse-datetime.y".
7267 2017-01-05  Pádraig Brady  <P@draigBrady.com>
7269         maint.mk: support parallel execution of coverage
7270         * top/maint.mk (coverage): Run dependencies serially,
7271         thus supporting parallel processing of each one,
7272         particularly build-coverage, which builds and runs tests.
7274 2017-01-05  Bruno Haible  <bruno@clisp.org>
7276         lock tests: Prefer semaphore over mutex.
7277         * tests/test-lock.c (USE_SEMAPHORE): New constant.
7278         (struct atomic_int, init_atomic_int, get_atomic_int_value,
7279         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
7280         Suggested by Torvald Riegel <triegel@redhat.com>.
7282 2017-01-05  Bruno Haible  <bruno@clisp.org>
7284         lock: Provide guarantee to avoid writer starvation for rwlocks.
7285         The rationale is: 1) Read-preferring read-write locks are prone to
7286         writer starvation if the number of reader threads multiplied by the
7287         percentage of time they have the lock held is too high. 2) Write-
7288         preferring read-write locks are the only reliable way to avoid this.
7289         3) There have been reports of 'test-lock' hanging on glibc systems
7290         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
7291         and glibc indeed implements read-preferring rwlocks by default, see
7292         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
7293         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
7294         * m4/pthread_rwlock_rdlock.m4: New file.
7295         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
7296         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
7297         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
7298         of rwlock initialization on glibc systems without
7299         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
7300         of rwlocks altogether on non-glibc systems without
7301         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
7302         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
7303         * lib/glthread/lock.c [USE_POSIX_THREADS]
7304         (glthread_rwlock_init_for_glibc): New function.
7305         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
7306         comment.
7307         [USE_PTH_THREADS]: New implementation of rwlocks.
7308         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
7309         readers.
7310         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
7311         (Depends-on): Add 'extensions'.
7312         * tests/test-rwlock1.c: New file.
7313         * lock-tests (Files): Add it.
7314         (Depends-on): Add usleep.
7315         (Makefile.am): Add test-rwlock1 to the tests.
7317 2017-01-05  Bruno Haible  <bruno@clisp.org>
7319         thread: Fix pth port.
7320         * lib/glthread/thread.h (pth_init): Declare weak.
7321         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
7322         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
7323         function.
7325 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
7327         parse-datetime: fix debug message on lone year number
7328         Input dates such as
7329           date -d "Apr 11 22:59:00 2011"
7330         are parsed as date (Apr 11, with default year 2016), then time, then a
7331         number (2011). Based on the combination of previously seen tokens,
7332         'digits_to_date_time' determines 2011 to be a year value.
7333         This fixes the debug messages to correctly show the updated year.
7334         Before:
7335             $ date --debug -d 'Apr 11 22:59:00 2011'
7336             date: parsed date part: (Y-M-D) 2016-04-11
7337             date: parsed time part: 22:59:00
7338             date: parsed number part: today/this/now
7339         After:
7340             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
7341             date: parsed date part: (Y-M-D) 2016-04-11
7342             date: parsed time part: 22:59:00
7343             date: parsed number part: year: 2011
7344         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
7345         'debug_year_seen' member fields.
7346         (digits_to_date_time): Update 'year_seen' as needed.
7347         (debug_print_current_time): Inform about year updates.
7348         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
7350         parse-datetime: fix local timezone debug messages
7351         "Local timezones" are strings that affect only DST relative to the
7352         default timezone. The debug messages in parse-datetime.y printed
7353         wrong information when encountering local timezones.
7354         Examples:
7355         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
7356              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
7357              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
7358         When the default timezone relates to the zone strings, EET/EEST are
7359         parsed as local timezones (tLOCAL_ZONE), and only change the DST
7360         value (0/1, respectively):
7361              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
7362              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
7363         * lib/parse-datetime.y (debug_print_current_time): If local timezone
7364         was seen, inform about DST change, don't print actual timezone.
7365         (debug_strfdatetime): If local timezone was seen, use default timezone
7366         (and adjust as needed) instead of using incorrect timezone.
7367         (parse_datetime2): Use correct time-zone source string, and adjust
7368         default timezone as needed.
7370         parse-datetime: add debug warning about DST changes
7371         Incorrect date arithmetic due to daylight saving time (DST) are a
7372         common (false) bug report in coreutils.
7373         Detect two such cases and print a warning:
7374         1. year/month/day adjustments (performed on 'struct tm'),
7375            where 'mktime' returns a different isdst value.
7376         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
7377            where the result of 'localtime(3)' on the value will return a
7378            different isdst value.
7379         Note: DST changes could be harmless or unnoticeable.
7380         Examples (with 'TZ=America/New_York'):
7381         Unnoticeable: result is 2016-Dec-14
7382            $ date -d '2016-06-15 EDT + 6 months' +%b
7383            Dec
7384         Unnoticeable: result is 2016-Dec-15 11:00:00
7385            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
7386            2016-12-15
7387         This is unexpected:
7388            $ date -d '2016-06-01 EDT + 6 months' +%F
7389            2016-11-30
7390         The new debug warnings will show:
7391            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
7392            ...
7393            date: warning: daylight saving time changed after date adjustment
7394            ...
7395         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
7396         print an appropriate warning message.
7398         parse-datetime: add debug warning about date arithmetic
7399         Date arithmetic are done directly on the fields of 'struct tm',
7400         which can result in invalid dates. Normalization with 'mktime(3)'
7401         will then produce a different date - which might cause unexpected
7402         results.
7403         Examples:
7404           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
7405           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
7406         Note that date normalization is not inherently wrong and not rejected,
7407         as it has legitimate uses:
7408           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
7409         If the user asked to adjust months but 'mday' changed,
7410         or user asked to adjust years but 'month' changed - warn about it.
7411             $ ./src/date --debug -d '2016-10-31 - 1 month'
7412             ...
7413             date: warning: when adding relative months/years, \
7414                            it is recommended to specify the 15th of the month
7415             ...
7416             date: warning: month/year adjustment resulted in shifted dates:
7417             date:      adjusted Y M D: 2016 09 31
7418             date:    normalized Y M D: 2010 10 01
7419             ...
7420         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
7421         a warning message. Improve recommendation of when to use 15 of the
7422         month or noon for date arithmetic.
7424         parse-datetime: fix debug message of relative part after timezone
7425         Relative part (e.g '+8 days') after a timezone string was not
7426         reported (was only reported after a timezone number). Due to the
7427         parser's structure, timezone strings with numbers were handled
7428         separately.
7429         before:
7430              # Timezone number + relative part: OK
7431              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
7432              ...
7433              date: parsed relative part: -8 day(s)
7434              # Timezone string + relative part: missing
7435              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
7436              [ missing message ]
7437         After: messages are printed in both cases.
7438         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
7440         parse-datetime: fix incorrect debug message on lone number
7441         A lone number is an absolute value, not a relative time part.
7442         before:
7443            $ date --debug -d '20130101'
7444            date: parsed number part: today/this/now
7445         After:
7446            $ ./src/date --debug -d '20130101'
7447            date: parsed number part: (Y-M-D) 2013-01-01
7448         * lib/parse-datetime.y ('item'/'number' tokens): Call
7449         'debug_print_current_time' instead of 'debug_print_relative_time'.
7451 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
7453         doc: modernize for C11 etc.
7454         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
7455         for C11, MinGW, etc.  This responds to Paul Smith's question in:
7456         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
7458         dfa: prefer functions to FETCH_WC macro
7459         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
7460         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
7461         wint_t result into DFA->lex.wctok instead of to a separate arg.
7462         All callers changed.  Move more local decls closer to where
7463         they're used.
7465         dfa: narrow more local var scopes
7466         * lib/dfa.c: Move more local decls to be more local.
7468         dfa: remove duplicate assignment
7469         Problem reported by Bruno Haible in:
7470         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
7471         * lib/dfa.c (parse_bracket_exp): Simplify.
7473 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
7475         dfa: simplify constraint-dependency checking
7476         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
7477         (prev_other_constraint): Remove.
7478         (prev_newline_dependent, prev_letter_dependent):
7479         Simplify, to avoid an unnecessary bitwise AND operation.
7481         dfa: prefer functions and constants to macros
7482         * lib/dfa.c: Prefer constants to macros where either will do.
7483         (streq, isasciidigit, newline_constraint)
7484         (letter_constraint, other_constraint, succeeds_in_context)
7485         (prev_newline_constraint, prev_letter_constraint)
7486         (prev_other_constraint, prev_newline_dependent)
7487         (prev_letter_dependent, accepting, accepts_in_context):
7488         Now static functions instead of function-like macros.
7489         Use lower-case names accordingly.  All uses changed.
7491         dfa: narrow more local var scopes
7492         * lib/dfa.c: Move some more local decls down to nearer where
7493         they're needed.
7495 2016-12-31  Jim Meyering  <meyering@fb.com>
7497         dfa: narrow the scope of many local variables
7498         * lib/dfa.c: Now that we are no longer constrained to c89, move
7499         declarations of many variables (often indices) "down" into the
7500         scope(s) where used or to the point of definition.  This is a
7501         no-semantic-change diff.
7503 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
7505         version-etc: new year
7506         * build-aux/gendocs.sh (version):
7507         * doc/gendocs_template:
7508         * doc/gendocs_template_min:
7509         * doc/gnulib.texi:
7510         * lib/version-etc.c (COPYRIGHT_YEAR):
7511         Update copyright dates by hand in templates and the like.
7512         * all files: Run 'make update-copyright'.
7514 2016-12-31  Eric Blake  <eblake@redhat.com>
7516         do-release-commit-and-tag: avoid shell syntax error
7517         * build-aux/do-release-commit-and-tag (curr_br): $branch can
7518         contain spaces when rebasing.
7520         maint.mk: hoist gnulib_dir definition earlier
7521         * top/maint.mk (gnulib_dir): Move near top of file.
7523 2016-12-31  Jim Meyering  <meyering@fb.com>
7525         maint.mk: do not always evaluate intprops-related shell
7526         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
7527         using gnulib_dir undefined (gnulib_dir is defined later in the
7528         file, which will be fixed separately), and besides, there is no
7529         need to incur the cost of this shell invocation for every single
7530         use of this .mk file.  Reported by Eric Blake in
7531         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
7533 2016-12-30  Jim Meyering  <meyering@fb.com>
7535         maint.mk: improve sc_prohibit_intprops_without_use
7536         * top/maint.mk (_intprops_names): Don't hard-code the list of
7537         symbol names.  Instead, derive it on the fly.
7539 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
7541         dfa: shorten sbit, success
7542         * lib/dfa.c (struct regex_syntax.sbit):
7543         (struct dfa.success): Use char, not int, for array elements, since
7544         they are all in the range 0..7.
7546         dfa: simplify multibyte_prop etc.
7547         This follows up on a change made when dfa.c was in grep, namely grep
7548         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
7549         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
7550         That earlier simplification allows for some more simplification
7551         and trimming down here.
7552         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
7553         (struct lexer_state): New mamber brack.
7554         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
7555         since they must be in the range 0..3 now.
7556         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
7557         the brack member now supersedes them.
7558         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
7559         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
7560         (dfaparse): Remove unnecessary initializations of already-0 storage.
7561         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
7562         (dfassbuild): No need to clear sup->mbcsets.
7564         dfa: minor performance tweak
7565         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
7567         dfa: wrap charclass inside a struct
7568         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
7569         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
7570         about 5% faster, where list.txt is generated by 'aspell dump
7571         master | head -n 100000 >list.txt'.  See Bug#22239.
7572         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
7573         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
7574         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
7575         Adjust to this, e.g., by using charclass * rather than charclass.
7576         All callers changed as needed.
7577         (copyset): Remove.  All uses changed to simple assignment.
7578         (parse_bracket_exp): Use zeroset instead of memset.
7580 2016-12-30  Jim Meyering  <meyering@fb.com>
7582         maint.mk: update list of intprops.h symbol names
7583         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
7584         This avoids a false failure of the sc_prohibit_intprops_without_use
7585         rule in grep.
7587 2016-12-29  Eric Blake  <eblake@redhat.com>
7589         getopt: fix parallel test failure
7590         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
7591         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
7592         * tests/test-getopt-main.h (main): Use different file names
7593         in case test-getopt-gnu and test-getopt-posix run in parallel.
7595 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
7597         xalloc: x2nrealloc check for ptrdiff_t overflow
7598         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
7599         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
7601 2016-12-24  Bruno Haible  <bruno@clisp.org>
7603         lock test: Fix performance problem on multi-core machines.
7604         * tests/test-lock.c (USE_VOLATILE): New macro.
7605         (struct atomic_int): New type.
7606         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
7607         functions.
7608         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
7609         as 'struct atomic_int'.
7610         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
7611         reclock_checker_thread, test_recursive_lock): Use the new functions.
7612         Reported by Eric Blake in
7613         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
7614         and by Pádraig Brady in
7615         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
7617 2016-12-19  Bruno Haible  <bruno@clisp.org>
7619         vma-iter: Fix endless loop on 64-bit Windows.
7620         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
7621         'unsigned long'.
7623 2016-12-19  Bruno Haible  <bruno@clisp.org>
7625         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
7626         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
7627         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
7628         Invoke gt_TYPE_WINT_T instead.
7629         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
7630         * modules/stdint (Files): Add m4/wint_t.m4.
7631         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
7632         * modules/wctype-h (Makefile.am): Likewise.
7633         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
7634         not only on MSVC.
7635         * lib/wctype.in.h (wint_t): Likewise.
7637 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
7639         getopt-posix-tests: fix Makefile typo
7640         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
7641         Fix typo: the last ‘_’ was missing in the name.
7642         I suspect that the typo explains this build failure:
7643         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
7644         although I can’t reproduce the problem on Solaris 10 sparc.
7646 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7648         dfa: improve worst-case 'replace' performance
7649         See my note in Bug#22357#71.
7650         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
7651         (merge_constrained): New function, which is like
7652         the old 'merge' function, except with a new argument C2.
7653         Simplify the body by avoiding the need for different sections
7654         of code depending on whether one input is exhausted.
7655         (merge): Use the new function.
7656         (delete): Return the constraint of the deleted position,
7657         not the entire position.  Caller changed.
7658         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
7660 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
7662         dfa: performance improvement for removal of epsilon closure
7663         See Bug#22357#32.
7664         * lib/dfa.c (delete): Use binary search to find deleted index.
7665         (replace): New function.  It replaces a position with the followed set.
7666         (epsclosure): Replace it with a new algorithm.  Update caller.
7668 2016-12-18  Bruno Haible  <bruno@clisp.org>
7670         Split tests for getopt-posix and getopt-gnu.
7671         * tests/test-getopt-posix.c: New file.
7672         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
7673         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
7674         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
7675         GNULIB_TEST_GETOPT_GNU.
7676         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
7677         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
7678         (Makefile.am): Test test-getopt-posix instead of test-getopt.
7679         * modules/getopt-gnu-tests: New file.
7680         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
7682 2016-12-18  Bruno Haible  <bruno@clisp.org>
7684         posix-modules: Add options for specific platforms.
7685         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
7686         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
7687         Invoke func_tmpdir. Filter out the excludes.
7689 2016-12-18  Bruno Haible  <bruno@clisp.org>
7691         getopt: Fix link error for users of getopt() in <unistd.h>.
7692         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
7693         __need_getopt is defined. Undefine all macros before defining them.
7694         * modules/getopt (Include): Clarify that including <unistd.h> is also
7695         OK.
7696         * tests/test-getopt.c: Add comment.
7698 2016-12-17  Bruno Haible  <bruno@clisp.org>
7700         getaddrinfo tests: Avoid compilation error on MSVC.
7701         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
7702         getaddrinfo on native Windows.
7704 2016-12-17  Bruno Haible  <bruno@clisp.org>
7706         getlogin, getlogin_r: Fix link errors on MSVC.
7707         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
7708         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
7709         (Link): New section.
7710         * modules/getlogin_r (Files): Add m4/getlogin.m4.
7711         (configure.ac): Require gl_LIB_GETLOGIN.
7712         (Link): New section.
7713         * NEWS: Mention the new link requirements.
7714         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
7715         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
7717 2016-12-17  Bruno Haible  <bruno@clisp.org>
7719         Un-deprecate the 'progname' module.
7720         * NEWS: Describe the appropriate use-cases of 'progname' versus
7721         'getprogname'. Based on discussion summary at
7722         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
7724 2016-12-17  Bruno Haible  <bruno@clisp.org>
7726         Reorganize NEWS a bit.
7727         * NEWS: Move some not so important changes away from section
7728         "Important Notes".
7730 2016-12-17  Bruno Haible  <bruno@clisp.org>
7732         tanhf: Avoid redefinition error on MSVC.
7733         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
7734         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
7735         may be defined as an inline function.
7736         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
7737         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
7739 2016-12-17  Bruno Haible  <bruno@clisp.org>
7741         tanf: Avoid redefinition error on MSVC.
7742         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
7743         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
7744         may be defined as an inline function.
7745         * modules/math (Makefile.am): Substitute REPLACE_TANF.
7746         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
7748 2016-12-17  Bruno Haible  <bruno@clisp.org>
7750         sqrtf: Avoid redefinition error on MSVC.
7751         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
7752         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
7753         may be defined as an inline function.
7754         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
7755         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
7757 2016-12-17  Bruno Haible  <bruno@clisp.org>
7759         sinhf: Avoid redefinition error on MSVC.
7760         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
7761         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
7762         may be defined as an inline function.
7763         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
7764         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
7766 2016-12-17  Bruno Haible  <bruno@clisp.org>
7768         sinf: Avoid redefinition error on MSVC.
7769         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
7770         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
7771         may be defined as an inline function.
7772         * modules/math (Makefile.am): Substitute REPLACE_SINF.
7773         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
7775 2016-12-17  Bruno Haible  <bruno@clisp.org>
7777         logf: Avoid redefinition error on MSVC.
7778         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
7779         may be defined as an inline function.
7781 2016-12-17  Bruno Haible  <bruno@clisp.org>
7783         log10l: Avoid redefinition error on MSVC.
7784         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
7785         may be defined as an inline function.
7787 2016-12-17  Bruno Haible  <bruno@clisp.org>
7789         log10f: Avoid redefinition error on MSVC.
7790         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
7791         may be defined as an inline function.
7793 2016-12-17  Bruno Haible  <bruno@clisp.org>
7795         hypotl: Avoid redefinition error on MSVC.
7796         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
7797         may be defined as an inline function.
7799 2016-12-17  Bruno Haible  <bruno@clisp.org>
7801         hypotf: Avoid redefinition error on MSVC.
7802         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
7803         may be defined as an inline function.
7805 2016-12-17  Bruno Haible  <bruno@clisp.org>
7807         fmodl: Avoid redefinition error on MSVC.
7808         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
7809         may be defined as an inline function.
7811 2016-12-17  Bruno Haible  <bruno@clisp.org>
7813         fmodf: Avoid redefinition error on MSVC.
7814         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
7815         may be defined as an inline function.
7817 2016-12-17  Bruno Haible  <bruno@clisp.org>
7819         expf: Avoid redefinition error on MSVC.
7820         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
7821         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
7822         may be defined as an inline function.
7823         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
7824         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
7826 2016-12-17  Bruno Haible  <bruno@clisp.org>
7828         coshf: Avoid redefinition error on MSVC.
7829         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
7830         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
7831         may be defined as an inline function.
7832         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
7833         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
7835 2016-12-17  Bruno Haible  <bruno@clisp.org>
7837         cosf: Avoid redefinition error on MSVC.
7838         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
7839         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
7840         may be defined as an inline function.
7841         * modules/math (Makefile.am): Substitute REPLACE_COSF.
7842         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
7844 2016-12-17  Bruno Haible  <bruno@clisp.org>
7846         atan2f: Avoid redefinition error on MSVC.
7847         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
7848         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
7849         may be defined as an inline function.
7850         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
7851         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
7853 2016-12-17  Bruno Haible  <bruno@clisp.org>
7855         atanf: Avoid redefinition error on MSVC.
7856         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
7857         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
7858         may be defined as an inline function.
7859         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
7860         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
7862 2016-12-17  Bruno Haible  <bruno@clisp.org>
7864         asinf: Avoid redefinition error on MSVC.
7865         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
7866         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
7867         may be defined as an inline function.
7868         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
7869         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
7871 2016-12-17  Bruno Haible  <bruno@clisp.org>
7873         acosf: Avoid redefinition error on MSVC.
7874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
7875         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
7876         may be defined as an inline function.
7877         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
7878         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
7880 2016-12-17  Bruno Haible  <bruno@clisp.org>
7882         Avoid redefinition errors on MSVC.
7883         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
7884         the function may be defined as an inline function.
7885         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
7886         the function may be defined as an inline function.
7888 2016-12-17  Bruno Haible  <bruno@clisp.org>
7890         Avoid redefinition errors on MSVC.
7891         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
7892         * lib/unistd.in.h: Include <stdio.h> when necessary.
7894 2016-12-17  Bruno Haible  <bruno@clisp.org>
7896         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
7897         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
7898         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
7899         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
7900         WINT_MAX.
7902 2016-12-17  Bruno Haible  <bruno@clisp.org>
7904         Avoid autoconf warning.
7905         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
7906         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
7908 2016-12-17  Bruno Haible  <bruno@clisp.org>
7910         fpending: Revert workaround against Emacs bug.
7911         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
7912         The Emacs bug is fixed by Eli Zaretskii in
7913         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
7915 2016-12-17  Bruno Haible  <bruno@clisp.org>
7917         getlogin_r tests: Port to mingw.
7918         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
7919         regression introduced on 2014-05-19.
7921 2016-12-17  Bruno Haible  <bruno@clisp.org>
7923         getlogin: Port to newer mingw.
7924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
7925         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
7926         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
7927         HAVE_GETLOGIN.
7928         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
7929         HAVE_GETLOGIN.
7930         * doc/posix-functions/getlogin.texi: Mention the issue.
7931         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
7932         regression introduced on 2014-05-14.
7934 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
7936         builtin-expect: improve port to IBM XL C
7937         Problem reported for z/OS by Daniel Richard G. in:
7938         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
7939         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
7940         Test for <builtins.h> directly.
7942         builtin-expect: port to IBM XL C
7943         Problem reported for z/OS by Daniel Richard G. in:
7944         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
7945         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
7946         Also allow __builtin_expect defined via a standard include file.
7948         regex: fix dependency
7949         Problem reported by Bruno Haible in:
7950         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
7951         * modules/regex: Depend on builtin-expect.
7953         builtin-expect: new module
7954         Fix fnmatch to use it.
7955         Problem reported for z/OS by Daniel Richard G.
7956         * lib/fnmatch.c (__builtin_expect):
7957         * lib/glob.c (__builtin_expect):
7958         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
7959         * lib/memmem.c (__builtin_expect) [!_LIBC]:
7960         * lib/scandir.c (__builtin_expect):
7961         * lib/strstr.c (__builtin_expect) [!_LIBC]:
7962         Remove macro; config.h now does this.
7963         * lib/gl_anytreehash_list1.h (add_to_bucket):
7964         * lib/regex_internal.h (BE):
7965         Assume __builtin_expect.
7966         * m4/builtin-expect.m4, modules/builtin-expect: New files.
7967         * modules/avltreehash-list, modules/fnmatch, modules/glob:
7968         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
7969         * modules/scandir, modules/strstr-simple:
7970         Depend on builtin-expect.
7972 2016-12-15  Bruno Haible  <bruno@clisp.org>
7974         init.sh: Add possibility to not delete temporary files.
7975         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
7976         to yes, don't erase the temporary directory.
7978 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
7980         regex: fix integer-overflow bug in never-used code
7981         Problem reported by Clément Pit–Claudel in:
7982         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
7983         * lib/regex_internal.h: Include intprops.h.
7984         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
7985         behavior on integer overflow.
7986         * modules/regex (Depends-on): Add intprops.
7988         fpending: fix port to MinGW on Emacs
7989         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
7990         Problem reported by Eli Zaretskii in:
7991         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
7992         Is Plan 9 still a valid porting target, anyway?
7994 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7996         safe-alloc: use xalloc-oversized
7997         * lib/safe-alloc.c: Include xalloc-oversized.h.
7998         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
7999         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
8001         xalloc: do not exceed PTRDIFF_MAX
8002         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
8003         xalloc_oversized check, since objects larger than PTRDIFF_MAX
8004         bytes have pointer-subtraction problems.
8006         malloca: do not exceed PTRDIFF_MAX
8007         * lib/malloca.h: Include xalloc-oversized.
8008         (nmalloca): Use xalloc_oversized instead of rolling our own.
8009         * modules/malloca (Depends-on):
8010         * modules/relocatable-prog-wrapper (Depends-on):
8011         Add xalloc-oversized.
8013         quotearg: pacify GCC better
8014         * modules/quotearg (Depends-on): Add minmax, stdint.
8015         * lib/quotearg.c: Include minmax.h, stdint.h.
8016         (nslots): Now int, as there seems little point to going to extra
8017         work merely to support the INT_MAX slot, which nobody ever uses.
8018         (quotearg_n_options): Redo size-overflow checks to pacify GCC
8019         and to catch (mostly-theoretical) ptrdiff_t problems too.
8020         This can be done via one comparison.
8022 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
8024         xalloc-oversized: check for PTRDIFF_MAX too
8025         This avoids undefined behavior when subtracting pointers to
8026         objects containing more than PTRDIFF_MAX bytes.
8027         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
8028         Also return 1 if the result would exceed PTRDIFF_MAX>
8029         * modules/xalloc-oversized (Depends-on):
8030         Add stdint.
8032         dfa: fix glitches in previous commit
8033         Sorry, I don't know how I managed to commit the wrong version.
8034         * lib/dfa.c (MIN): Move up.
8035         (xpalloc): Now static.
8037         dfa: fix some unlikely integer overflows
8038         I found these while reviewing the recent Coverity-related fix.
8039         This patch changes part of dfa.c to prefer ptrdiff_t instead of
8040         size_t for object counts.  Using ptrdiff_t is the style typically
8041         used in Emacs; although it wastes a sign bit as sizes can never be
8042         negative, it makes -fsanitize=undefined more likely to catch
8043         integer overflows in index calculation, and nowadays the upside is
8044         typically more important than the downside.  Although perhaps the
8045         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
8046         of dfa.c already does, since it uses state_num which is signed),
8047         that is a bigger change and is not needed to fix the bugs I found.
8048         * lib/dfa.c: Include stdint.h and intprops.h.
8049         (TOKEN_MAX): New macro.
8050         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
8051         (charclass_index, parse_bracket_exp, addtok, insert, merge)
8052         (realloc_trans_if_necessary, free_mbdata):
8053         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
8054         This is safe because xpalloc checks that the sizes do not exceed
8055         either SIZE_MAX or PTRDIFF_MAX.
8056         (xpalloc): New function, mostly taken from Emacs.
8057         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
8058         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
8059         (charclass_index): Check for integer overflow in computing
8060         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
8061         added to it later.
8062         (alloc_position_set): Check for integer overflow.  On typical
8063         platforms this check has zero overhead, since the constant
8064         expression is false.
8065         (realloc_trans_if_necessary):
8066         Remove assertion, which I hope Coverity no longer needs.
8068         * modules/dfa (Depends-on): Add intprops, stdint.
8070 2016-12-12  Jim Meyering  <meyering@fb.com>
8072         dfa: add an assertion to avoid coverity false positive
8073         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
8074         warned that "newalloc1 - 2" could overflow.
8076 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
8078         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
8079         * dfa.h (DFA_CASE_FOLD): Remove.
8080         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
8082 2016-12-13  John W. Eaton  <gnu@jweaton.org>
8084         link: fix test to declare use of rename()
8085         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
8086         -Werror=implicit-function-declaration
8088 2016-12-12  Bruno Haible  <bruno@clisp.org>
8090         fpending: Port to native Windows with MSVC.
8091         * lib/fpending.c: Include stdio-impl.h.
8092         (__fpending): Include all known implementations. Err out if it's not
8093         ported.
8094         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
8095         * modules/fpending (Files): Add lib/stdio-impl.h.
8096         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
8098 2016-12-12  Bruno Haible  <bruno@clisp.org>
8100         stdioext: Port to native Windows with MSVC.
8101         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
8102         (struct _gl_real_FILE): New type.
8103         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
8104         Windows.
8105         * lib/fbufmode.c (fbufmode): Add code for native Windows.
8106         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
8107         other SystemV derived implementations.
8108         * lib/fpurge.c (fpurge): Likewise.
8109         * lib/freadable.c (freadable): Likewise.
8110         * lib/freadahead.c (freadahead): Likewise.
8111         * lib/freading.c (freading): Likewise.
8112         * lib/freadptr.c (freadptr): Likewise.
8113         * lib/freadseek.c (freadptrinc): Likewise.
8114         * lib/fseeko.c (fseeko): Likewise.
8115         * lib/fseterr.c (fseterr): Likewise.
8116         * lib/fwritable.c (fwritable): Likewise.
8117         * lib/fwriting.c (fwriting): Likewise.
8118         Reported by Gisle Vanem <gvanem@yahoo.no>.
8120 2016-12-11  Jim Meyering  <meyering@fb.com>
8122         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
8123         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
8124         to work with most shells, but not with the one provided by many
8125         Solaris 10 systems, so running configure with such a /bin/sh evokes
8126         e.g., "./configure: syntax error at line 33602: `(' unexpected".
8127         Reported by Assaf Gordon in
8128         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
8130 2016-12-10  Bruno Haible  <bruno@clisp.org>
8132         threadlib: Optimize out runtime test on Solaris >= 10.
8133         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
8134         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
8135         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
8137 2016-12-10  Bruno Haible  <bruno@clisp.org>
8139         stdint: Update doc about Solaris 9.
8140         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
8142 2016-12-09  Bruno Haible  <bruno@clisp.org>
8144         c-ctype tests: Fix link error on Solaris 9.
8145         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
8146         Reported at <https://savannah.gnu.org/bugs/?46827>.
8148 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
8150         dfa: fix performance bug that recomputes trans
8151         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
8152         25 on-demand changes.  The bug caused build_state to reset all
8153         d->trans elements to -2 even when d->trans was already non-null.
8154         Use C99 style decls after statements in this function.
8156         same-inode: port to MinGW
8157         Here st_ino is always 0, so change the definition of SAME_INODE so
8158         that 1 means the two files are the same, 0 with st_ino != 0 means
8159         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
8160         reported by Bruno Haible (Bug#25146).
8161         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
8162         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
8164 2016-12-04  Bruno Haible  <bruno@clisp.org>
8166         javacomp-script: Support Java 7 and 8.
8167         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
8168         target-version 1.7, 1.8.
8170 2016-12-02  Daiki Ueno  <ueno@gnu.org>
8172         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
8173         GPLv2" rewriting.
8175 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
8177         * gnulib-tool (func_import): Adhere to the license guideline when
8178         rewriting the license text to "LGPLv3+ or GPLv2":
8179         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
8181 2016-12-02  Bruno Haible  <bruno@clisp.org>
8183         localcharset: Avoid theoretical buffer overrun.
8184         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
8185         return value from setlocale if it would lead to a buffer overrun.
8187 2016-12-01  Bruno Haible  <bruno@clisp.org>
8189         Relicense some modules under LGPLv2+.
8190         Kevin Cernekee's approval is in
8191         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
8192         * modules/fseterr (License): Change to LGPLv2+.
8193         * modules/mbchar (License): Likewise.
8194         * modules/mbiter (License): Likewise.
8195         * modules/mbsnlen (License): Likewise.
8196         * modules/wcwidth (License): Likewise.
8198 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
8200         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
8201         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
8202         OS/2 kLIBC.
8204 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
8206         alphasort, scandir: Port to OS/2 kLIBC
8207         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
8208         declaration.
8209         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
8211 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
8213         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
8214         * lib/relocatable.c (relocate): Do not touch pathname if it is started
8215         with '/@unixroot'.
8217 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
8219         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
8220         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
8221         OS/2 kLIBC unless TCPV40HDRS is defined.
8223 2016-11-29  Jim Meyering  <meyering@fb.com>
8225         dfa: avoid new infinite loop
8226         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
8227         * lib/dfa.c (dfastate): When constructing a new state table, we could
8228         initially declare that we had found a match, and later find that
8229         constraints eliminate that possibility, yet continue to use the
8230         now stale "matched" indicator.  That would lead to an infinite loop.
8231         The solution is to update "matched" when necessary.
8232         Introduced by commit v0.1-983-g403adf1.
8234 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
8236         dfa: avoid match middle in multibyte character
8237         * lib/dfa.c (transit_state): If fails in matching single byte characters
8238         on a state including period expression in non-UTF8 multibyte locales,
8239         skip trailing bytes.
8240         (dfa_supported): Revert previous change.
8242 2016-11-27  Jim Meyering  <meyering@fb.com>
8244         dfa: avoid false match in non-UTF8 multibyte locales
8245         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
8246         as "not supported" so that callers will resort to using regex-based
8247         matcher.  This will surely hurt performance, but correctness trumps
8248         performance here, and the affected locales are less and less relevant,
8249         these days.  See grep's bug report https://bugs.gnu.org/24975.
8251 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
8253         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
8254         * lib/ptsname_r.c: Include the appropriate headers.
8255         [__sun]: Delete sys/sysmacros.h include.
8256         [_AIX || __osf__]: Likewise.
8257         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
8259 2016-11-27  Pádraig Brady  <P@draigBrady.com>
8261         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
8262         * lib/md4.c (md4_process_bytes): The existing define is made internal
8263         in recent versions of glibc, so also use this new public define.
8264         * lib/md5.c (md5_process_bytes): Likewise.
8265         * lib/sha1.c (sha1_process_bytes): Likewise.
8266         * lib/sha256.c (sha256_process_bytes): Likewise.
8267         * lib/sha512.c (sha512_process_bytes): Likewise.
8269 2016-11-27  Pádraig Brady  <P@draigBrady.com>
8271         maint: use a more standard return from mbrtowc test
8272         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
8273         from the test program as this often indicates an
8274         unhandled case in the test program.
8275         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
8276         (gl_MBRTOWC_SANITYCHECK): Likewise.
8277         (gl_MBRTOWC_NULL_ARG2): Likewise.
8278         (gl_MBRTOWC_NUL_RETVAL): Likewise.
8280 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
8282         freopen: work around glibc bug with closed fd
8283         Work around glibc bug#15589, where freopen mishandles the case
8284         where stdin etc. are already closed.
8285         * doc/posix-functions/freopen.texi (freopen): Document the bug.
8286         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
8287         instead of __need_FILE, as the latter does not work with glibc.
8288         Include <fcntl.h>, for open flags.
8289         (rpl_freopen): Work around glibc bug.
8290         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
8291         * modules/freopen (Depends-on): Add fcntl-h.
8292         * tests/test-freopen.c (main): Test for bug.
8294 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
8296         fnmatch: fix typo introduced on 2016-08-17
8297         This fixes the port to non-GCC compilers that lack __builtin_expect.
8298         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
8300         dfa: simplify with new function fillset
8301         * lib/dfa.c (fillset): New function.
8302         Use it for clarity when applicable.
8304         dfa: fix glitches with on-demand states
8305         Also, adjust commentary to better match new code.
8306         Some of these glitches predate the recent change.
8307         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
8308         only non-initial states.
8309         (dfastate): Rename locals to better match new roles.
8310         Move them into nested scopes if this is easy.
8311         Omit unnecessary calls to zeroset.
8312         Simplify test for whether to throw in the positions of state 0.
8313         Omit C99-ism (decl after statement) since Gawk still wants C89.
8314         (build_state): Omit unnecessary test and assignment.
8315         Fix some confusion that counted transition tables inaccurately
8316         and could cause a memory leak.
8317         (dfaexec_main): Redo to make it clearer to the compiler that
8318         -1 and -2 are the only negative state numbers here.
8320 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
8322         dfa: addition of new state on demand
8323         * src/dfa.c (dfastate): Add argument UC, the current input character.
8324         Fill only a group including the character in transition table.
8325         (realloc_trans_if_necessary): Add the dummy state which means that a
8326         transition table is assigned but the next state is not assigned.
8327         (build_state): Return the next state.  All callers updated.
8328         (transit_state_singlebyte): If we get the dummy state,
8329         fill the transition table.
8330         (dfaexec_main): Handle the dummy state.
8331         (free_mbdata, dfafree): Consider the dummy state.
8333 2016-11-24  Daiki Ueno  <ueno@gnu.org>
8335         srclist: sync with released gettext
8336         * config/srclist.txt: Set "release" option to the files under
8337         $GETTEXT.
8339 2016-11-24  Daiki Ueno  <ueno@gnu.org>
8341         srclist: add "release" option
8342         * config/srclist.txt: Change the format so that the first column
8343         of each line points to the top-level directory of the source
8344         archive.
8345         * config/srclist-update: Accept "release" option that checks files
8346         from the most recently tagged revision in the source archive.
8348 2016-11-21  Bruno Haible  <bruno@clisp.org>
8350         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
8351         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
8352         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
8353         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
8354         Inline and remove member function 'rpl ()' of the wrapper struct.
8356 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8358         dfa: fix logic typo
8359         Problem reported by Stephane Chazelas (Bug#24973).
8360         * lib/dfa.c (using_simple_locale): Fix typo that caused some
8361         non-simple locales like fr_FR to be treated as simple.
8363 2016-11-20  Jim Meyering  <meyering@fb.com>
8365         fix test driver leaks: exclude, malloc, realloc
8366         * tests/test-exclude.c (main): Fix trivial leak.
8367         * tests/test-malloc-gnu.c (main): Likewise.
8368         * tests/test-realloc-gnu.c (main): Likewise.
8369         With these changes, grep's tests are now leak free.
8370         I.e., running them with ASAN elicits no failure:
8371           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
8372             AM_LDFLAGS='-fsanitize=address -static-libasan' check
8374 2016-11-11  Bruno Haible  <bruno@clisp.org>
8376         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
8377         * modules/libunistring: (License): Change from LGPL to
8378         "LGPLv3+ or GPLv2".
8379         * modules/libunistring-optional: Likewise.
8380         * modules/unicase/*: Likewise.
8381         * modules/uniconv/*: Likewise.
8382         * modules/unictype/*: Likewise.
8383         * modules/unigbrk/*: Likewise.
8384         * modules/unilbrk/*: Likewise.
8385         * modules/uniname/*: Likewise.
8386         * modules/uninorm/*: Likewise.
8387         * modules/unistdio/*: Likewise.
8388         * modules/unistr/*: Likewise.
8389         * modules/uniwbrk/*: Likewise.
8390         * modules/uniwidth/*: Likewise.
8392 2016-11-12  Bruno Haible  <bruno@clisp.org>
8394         Relicense some modules under LGPLv2+.
8395         Paul Eggert's approval is in
8396         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
8397         Eric Blake's approval is in
8398         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
8399         Ludovic Courtès's approval is in
8400         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
8401         * modules/isnand-nolibm (License): Change to LGPLv2+.
8402         * modules/isnanf-nolibm (License): Likewise.
8403         * modules/isnanl-nolibm (License): Likewise.
8405 2016-11-19  Bruno Haible  <bruno@clisp.org>
8407         Relicense some modules under LGPLv2+.
8408         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
8409         modules/vasnprintf.
8410         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
8411         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
8412         All other significant changes to the files in lib/ of these modules
8413         are from me.
8414         * modules/memcmp2 (License): Change to LGPLv2+.
8415         * modules/amemxfrm (License): Likewise.
8416         * modules/fpieee (License): Likewise.
8417         * modules/fpucw (License): Likewise.
8418         * modules/frexp-nolibm (License): Likewise.
8419         * modules/frexpl-nolibm (License): Likewise.
8420         * modules/printf-frexp (License): Likewise.
8421         * modules/printf-frexpl (License): Likewise.
8422         * modules/printf-safe (License): Likewise.
8423         * modules/signbit (License): Likewise.
8425 2016-11-17  Bruno Haible  <bruno@clisp.org>
8427         Enable Unicode decoder safety unconditionally.
8428         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
8429         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
8430         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
8431         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
8432         * lib/unistr/u8-prev.c (u8_prev): Likewise.
8433         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
8434         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
8435         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
8436         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
8437         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
8438         * lib/unistr/u16-prev.c (u16_prev): Likewise.
8439         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
8440         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
8441         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
8442         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
8443         * lib/unistr/u32-prev.c (u32_prev): Likewise.
8444         * lib/unistr/u32-next.c (u32_next): Likewise.
8445         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
8446         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
8447         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
8448         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
8449         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
8450         CONFIG_UNICODE_SAFETY tests unconditionally.
8451         * tests/unistr/test-u32-mblen.c (main): Likewise.
8452         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
8453         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
8454         * tests/unistr/test-u32-next.c (main): Likewise.
8455         * tests/unistr/test-u32-strmblen.c (main): Likewise.
8456         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
8457         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
8458         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
8459         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
8460         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
8461         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
8462         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
8463         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
8464         * lib/unistr/u16-check.c (u16_check): Update comment.
8465         * NEWS: Mention the changes that callers should be aware of.
8467 2016-11-19  Bruno Haible  <bruno@clisp.org>
8469         relocatable-prog-wrapper: Fix breakage on Cygwin.
8470         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
8471         (Depends-on): Remove intprops.
8472         * lib/relocwrapper.c: Update dependency tree.
8473         (strerror): Undefine.
8474         * build-aux/install-reloc (func_create_wrapper): Do not compile
8475         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
8477 2016-11-19  Bruno Haible  <bruno@clisp.org>
8479         strerror: Make it compile in C++ mode.
8480         * lib/strerror.c (strerror): Ignore the return value of memcpy().
8482 2016-11-15  Pedro Alves  <palves@redhat.com>
8484         sys_time: add gnulib::timeval for C++
8485         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
8486         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
8487         timeval macro.
8489 2016-11-14  Pedro Alves  <palves@redhat.com>
8491         snippet/c++defs: fix real-floating arg functions in C++ mode
8492         Also, define isfinite, isinf, isnan, signbit in the gnulib
8493         namespace instead of in the global namespace.
8494         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
8495         (_GL_END_NAMESPACE): New.
8496         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
8497         (isfinite, isinf, isnan, signbit) [__cplusplus &&
8498         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
8499         instead of in the global namespace.
8500         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
8501         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
8502         of in the global namespace.
8504 2016-11-13  Jim Meyering  <meyering@fb.com>
8506         strftime: don't use __THROW
8507         Each use of __THROW would provoke this from gcc-7-to-be:
8509           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
8510             on unit local functions [-Wattributes]
8511           static int iso_week_days (int, int) __THROW;
8512           ^~~~~~
8513         * lib/strftime.c (__THROW): Don't define.
8514         Remove each use of __THROW.
8515         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
8516         (tm_diff, iso_week_days, __strftime_internal): Likewise.
8518 2016-11-14  Paul Eggert  <eggert@union>
8520         obstack: port to gcc -fcheck-pointer-bounds
8521         Problem found by 'make check' failure on bleeding-edge coreutils
8522         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
8523         6.2.0-5ubuntu12), configured via "./configure
8524         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
8525         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
8526         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
8527         New macro, copied from fts_.h.
8528         (struct _obstack_chunk.contents): Use it.
8530 2016-11-14  Eric Blake  <eblake@redhat.com>
8532         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
8533         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
8534         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
8536 2016-11-14  Pádraig Brady  <P@draigBrady.com>
8538         strptime: fix compile error in recent change
8539         * lib/strptime.c (__strptime_internal): Fix ported code.
8541 2016-11-11  Bruno Haible  <bruno@clisp.org>
8543         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
8544         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
8545         (func_import): Extend determination of license_incompatibilities.
8546         (func_create_testdir): Extend table of license compatibility. Handle
8547         also the licenses GPLv3+, GPL, LGPLv3+.
8549 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
8551         strftime: tune %q
8552         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
8554         Merge strftime.c changes from glibc
8555         This incorporates:
8556         2007-10-16 [BZ #5184] Add tzset_called argument
8557         2008-06-13 [BZ #6612] pass reference to tzset_called around
8558         2009-10-30 Implement Burmese language locale for Myanmar
8559         2010-01-09 Add support for XPG7 testing
8560         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
8561         2015-10-20 Convert miscellaneous function definitions to prototype style
8562         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
8563         it anyway and this lessens the difference between gnulib and glibc.
8564         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
8565         (__THROW): Define if standard headers do not.
8566         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
8567         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
8568         Declare with __THROW.
8569         (__strftime_internal): Rename from strftime_case_. Add arg for
8570         whether tzset is called.  All uses changed.  Call tzset at most
8571         once.  Allow %OC, for Burmese.
8572         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
8573         Don't assume values are in range.
8575 2016-11-12  Eric Blake  <eblake@redhat.com>
8577         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
8578         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
8579         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
8580         different value.
8582 2006-11-12  Pedro Alves  <palves@redhat.com>
8584         Fix gnulib C++ namespace support and std::frexp
8585         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
8586         _GL_CXXALIASWARN.
8588 2006-11-12  Pedro Alves  <palves@redhat.com>
8590         GNULIB_NAMESPACE::func need not pull in rpl_func
8591         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
8592         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
8593         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
8594         struct instead of a function pointer.
8596 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
8598         manywarnings: fix -Wno-missing-field-initializers detection
8599         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
8600         to be independent of -Wunused-variable.  I.E. ensure the latter
8601         warning doesn't occur so that detection of the former is accurate.
8603 2016-11-05  Pádraig Brady  <pbrady@fb.com>
8605         strftime,strptime: support %q to represent the quarter
8606         * lib/strftime.c (strftime_case_): Add %q case.
8607         * lib/strptime.c (__strptime_internal): Likewise.
8608         * tests/test-strftime.c (quarter_test): A new test case.
8610 2016-11-03  Eric Blake  <eblake@redhat.com>
8612         bootstrap: Fix get_version() for AIX 5.3
8613         * build-aux/bootstrap (get_version): Factor out sed script, since
8614         indented comments choke AIX 5.3 sed.
8615         Reported-by: Michael Felt <aixtools@gmail.com>
8617 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
8619         intprops: port to older XL C
8620         Problem reported by Alexander Samoilov in:
8621         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
8622         http://savannah.nongnu.org/bugs/?49448
8623         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
8624         Define to 1 only for XL C 12.1 or later, since this bug
8625         occurs in XL C for AIX 6.0 but not in 12.1.
8627 2016-11-02  Pádraig Brady  <P@draigBrady.com>
8629         backupfile: initialize default suffix within the implementation
8630         * lib/backupfile.c (find_backup_file_name): Initialize the
8631         global variable here, to simplify usage, and to only call
8632         getenv() when needed.
8634 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8636         futimens: remove FIXME for old Linux kernels
8637         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
8638         this in 2012" FIXME, like that for utimensat.
8640         utimensat: remove FIXME for old Linux kernels
8641         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
8642         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
8643         this in 2012" FIXME, by assuming the file system bug is absent
8644         unless demonstrated to be present.  We no longer need to worry
8645         about Linux kernel 2.6.32 when building with newer kernels.
8647 2016-10-16  Bruno Haible  <bruno@clisp.org>
8649         qsort_r: Fix macrology for platforms that lack the function.
8650         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
8651         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
8652         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
8653         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
8654         not exist.
8655         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
8656         the function exists.
8657         * modules/qsort_r: Add comments.
8659 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
8661         sys_types: fix Texinfo typos
8662         * doc/glibc-functions/gnu_dev_major.texi:
8663         * doc/glibc-functions/gnu_dev_makedev.texi:
8664         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
8666 2016-10-26  John David Anglin  <dave.anglin@bell.net>
8668         getprogname: port to HP-UX
8669         See Bug#24805.
8670         * lib/getprogname.c (getprogname) [__hpux]: Port.
8671         * tests/test-getprogname.c (STREQ) [__hpux]:
8672         Special-case for HP-UX limitations on program name length.
8674 2016-10-20  Bruno Haible  <bruno@clisp.org>
8676         Update doc about target platforms.
8677         * doc/gnulib-intro.texi (Target Platforms): Update list.
8679 2016-10-15  Bruno Haible  <bruno@clisp.org>
8681         opendir, readdir, closedir: Relicense under LGPLv2+.
8682         * modules/opendir (License): Change to LGPLv2+.
8683         * modules/readdir (License): Likewise.
8684         * modules/closedir (License): Likewise.
8686 2016-10-16  Bruno Haible  <bruno@clisp.org>
8688         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
8689         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
8690         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
8691         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
8692         HAVE_DECL_STRERROR_R.
8694 2016-10-16  Bruno Haible  <bruno@clisp.org>
8696         Make the 'argp' module work without the 'error' module.
8697         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
8699 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
8701         diffseq: restore TOO_EXPENSIVE heuristic
8702         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
8703         (Bug#24715).  The simplest solution is to restore the
8704         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
8705         using a higher threshold to avoid Bug#16848 on smaller files.
8706         * lib/diffseq.h (struct context): Restore member too_expensive.
8707         (struct partition): Restore members lo_minimal, hi_minimal.
8708         (diag, compareseq): Restore arg find_minimal.  All uses changed.
8709         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
8710         1993 to make 'diff' run faster (but not as well) on large inputs,
8711         but use a threshold of 4096 instead of the old 256.
8712         * lib/fstrcmp.c (strcmp_bounded):
8713         * lib/git-merge-changelog.c (compute_differences):
8714         Adjust to diffseq.h changes.
8716 2016-10-22  Bruno Haible  <bruno@clisp.org>
8718         iconv: Avoid compilation error when bootstrapping GNU libiconv.
8719         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
8720         declaration yet, define ICONV_CONST to empty.
8722 2016-10-15  Bruno Haible  <bruno@clisp.org>
8724         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
8725         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
8726         module.
8728 2016-10-16  Bruno Haible  <bruno@clisp.org>
8730         system-quote tests: Avoid compiler warning on AIX.
8731         * tests/test-system-quote-child.c (fopen): Redefine like the system's
8732         <stdio.h> does.
8734 2016-10-16  Bruno Haible  <bruno@clisp.org>
8736         Fix some "gcc -Wall" warnings.
8737         * tests/test-ffsl.c (main): Use variable x, not i.
8738         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
8739         freopen.
8740         * tests/test-sethostname1.c (main): Explicitly ignore the return value
8741         of sethostname.
8743 2016-10-16  Bruno Haible  <bruno@clisp.org>
8745         gnulib-tool: Make --create-testdir on all modules work again.
8746         * gnulib-tool (func_create_testdir): Don't include the
8747         non-recursive-gnulib-prefix-hack module.
8749 2016-10-21  Daiki Ueno  <ueno@gnu.org>
8751         libunistring: change the maintainer to 'all'
8752         * modules/gen-uni-tables, modules/libunistring:
8753         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
8754         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
8755         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
8756         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
8757         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
8758         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
8759         * modules/uniwidth/*: Change the maintainer to 'all'.
8761 2016-10-16  Bruno Haible  <bruno@clisp.org>
8763         Simplify "configure: checking ..." messages.
8764         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
8765         AC_MSG_NOTICE.
8766         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
8768 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
8770         quotearg-tests: pacify gcc -Wall
8771         Problem reported by Bruno Haible in:
8772         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
8773         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
8774         * tests/test-quotearg.h: ... from here.
8776 2016-10-20  Pádraig Brady  <P@draigBrady.com>
8778         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
8779         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
8780         Needed on Centos <= 4.
8782 2016-10-20  Jim Meyering  <meyering@fb.com>
8784         printf.m4: fix a bug in detecting printf %j support
8785         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
8786         uintmax_t is defined in neither stdint.h nor inttypes.h.
8787         Before, this macro might have mistakenly set
8788         gl_cv_func_printf_sizes_c99=yes on such a system.
8789         Spotted by Zev Weiss.
8791 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
8793         sched: substitute HAVE_SYS_CDEFS_H too
8794         Problem reported by Tom G. Christensen in:
8795         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
8796         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
8797         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
8799 2016-10-19  Pádraig Brady  <P@draigBrady.com>
8801         quotearg: never write beyond the returned length
8802         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
8803         scan of the string when we initially encounter a single quote when
8804         shell quoting, so that if we then switch to a more concise quoting method
8805         we will not have written beyond that returned length.
8806         This is significant for sh-quote, which has separate routines
8807         to determine the length and do the actual quoting.
8808         * tests/test-quotearg.h: Reinstate the buffer bounds checking
8809         now that we never write more than the returned length.
8811 2016-10-18  Bruno Haible  <bruno@clisp.org>
8813         getprogname tests: Avoid failure in packages that use libtool.
8814         * tests/test-getprogname.c (main): Strip "lt-" prefix.
8815         Based on a patch by Jim Meyering.
8817 2016-10-16  Bruno Haible  <bruno@clisp.org>
8819         getprogname: Fix test failure on Cygwin. Comments.
8820         * lib/getprogname.h: Add comments.
8821         * lib/getprogname.c: Add comments. Fix #elif indentation.
8822         * tests/test-getprogname.c (main): On Cygwin, expect a result without
8823         ".exe" suffix.
8825 2016-10-16  Bruno Haible  <bruno@clisp.org>
8827         Make sure the libunistring detection rejects older versions with a
8828         known bug.
8829         * modules/unistr/u8-strtok (configure.ac): Bump required version.
8830         * modules/unistr/u16-strtok (configure.ac): Likewise.
8831         * modules/unistr/u32-strtok (configure.ac): Likewise.
8833 2016-10-18  Bruno Haible  <bruno@clisp.org>
8835         sh-quote, system-quote: revert regression of unit test.
8836         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
8837         * tests/test-system-quote-main.c (check_one): Likewise.
8839 2016-10-16  Pádraig Brady  <P@draigBrady.com>
8841         quotearg: fix stale tests
8842         * tests/test-quotearg.c [locale_results]: Add the missing str7
8843         entries to the expected results.
8844         * tests/test-system-quote-main.c (check_one): Don't enforce that we
8845         don't write beyond the returned length, since that's no longer the
8846         case if we switch to a more concise quoting style.
8847         * tests/test-sh-quote.c (check_one): Likewise.
8848         (main): Adjust for the new more concise quoting style.
8849         Reported by Bruno Haible.
8851 2016-10-16  Jim Meyering  <meyering@fb.com>
8853         non-recursive-gnulib-prefix-hack: fix inconsequential typo
8854         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
8855         to "$1".  This macro is always invoked with $1 == lib.
8856         Spotted by Bruno Haible
8858 2016-10-16  Bruno Haible  <bruno@clisp.org>
8860         Fix a test crash.
8861         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
8862         fails.
8864 2016-10-16  Pádraig Brady  <P@draigBrady.com>
8866         test-limits-h: suppress -Woverlength-strings
8867         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
8869 2016-10-15  Bruno Haible  <bruno@clisp.org>
8871         gettime, timespec, utimens: Relicense under LGPL.
8872         * modules/gettime (License): Change to LGPL.
8873         * modules/timespec (License): Likewise.
8874         * modules/utimens (License): Likewise.
8876 2016-10-14  Bruno Haible  <bruno@clisp.org>
8877             Pádraig Brady  <P@draigBrady.com>
8879         canonicalize-lgpl: Support the case path_max > INT_MAX.
8880         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
8881         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
8883 2016-10-13  Jim Meyering  <meyering@fb.com>
8885         getprogname: IBM z/OS: avoid NULL-dereference
8886         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
8887         upon strdup failure.
8889 2016-10-12  Jim Meyering  <meyering@fb.com>
8891         test-stdint: use _GL_VERIFY rather than "verify" for some tests
8892         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
8893         and an abbreviated diagnostic rather than verify with the full one,
8894         because the full-length strings would evoke warnings from gcc with
8895         -Woverlength-strings.
8897 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8899         stdint: port SIZE_MAX to glibc s390
8900         Problem reported by Eric Blake in:
8901         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
8902         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
8903         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
8904         correct type, if possible.
8906 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
8908         getprogname: port to IBM z/OS
8909         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
8911 2016-10-11  Jim Meyering  <meyering@fb.com>
8913         maint: remove stray space after "." in AC_DEFINE comment.
8914         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
8915         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
8917 2016-10-05  Jim Meyering  <meyering@fb.com>
8919         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
8920         * lib/long-options.c (parse_long_options): Add a break statement
8921         to avoid this new warning/failure:
8922         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
8923           --create-testdir --dir=/t/x --with-tests --test long-options
8924         ../../gllib/long-options.c: In function 'parse_long_options':
8925         ../../gllib/long-options.c:66:12: error: this statement may \
8926           fall through [-Werror=implicit-fallthrough]
8927                    (*usage_func) (EXIT_SUCCESS);
8928                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
8930 2016-10-05  Jim Meyering  <meyering@fb.com>
8932         utimecmp: avoid new GCC 7 warning from -Wbool-operation
8933         Testing this module would fail when using GCC 7 like this:
8934         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
8935           --dir=/tmp/x --with-tests --test utimecmp
8936         ../../gllib/utimecmp.c: In function ‘utimecmp’:
8937         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
8938           [-Werror=bool-operation]
8939                          time_t s = src_s & ~ (res == 2 * BILLION);
8940                                             ^
8941         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
8942           [-Werror=bool-operation]
8943                src_s &= ~ (res == 2 * BILLION);
8944                         ^
8945         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
8946         Instead, make it explicit that we intend to apply it to 0 or 1.
8948 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
8950         dfa: save memory for states
8951         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
8952         states if dfa has a lot of caches.
8954 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
8956         wchar, wctype-h: fix for MinGW 3.22.2
8957         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
8958         special invocation, to fix issues with MinGW 3.22.2 wchar.h
8959         when included from <string.h>.
8960         * lib/wctype.in.h [__MINGW32__]: Add special invocation
8961         convention for MinGW 3.22.2, to solve issues with their
8962         wctype.h when included from <ctype.h>.
8964 2016-10-05  Jim Meyering  <meyering@fb.com>
8966         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
8967         * lib/long-options.c (parse_long_options): Add a break statement
8968         to avoid this new warning/failure:
8969         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
8970           --create-testdir --dir=/t/x --with-tests --test long-options
8971         ../../gllib/long-options.c: In function ‘parse_long_options’:
8972         ../../gllib/long-options.c:66:12: error: this statement may \
8973           fall through [-Werror=implicit-fallthrough]
8974                    (*usage_func) (EXIT_SUCCESS);
8975                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
8977         utimecmp: avoid new GCC 7 warning from -Wbool-operation
8978         Testing this module would fail when using GCC 7 like this:
8979         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
8980           --dir=/tmp/x --with-tests --test utimecmp
8981         ../../gllib/utimecmp.c: In function ‘utimecmp’:
8982         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
8983           [-Werror=bool-operation]
8984                          time_t s = src_s & ~ (res == 2 * BILLION);
8985                                             ^
8986         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
8987           [-Werror=bool-operation]
8988                src_s &= ~ (res == 2 * BILLION);
8989                         ^
8990         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
8991         Instead, make it explicit that we intend to apply it to 0 or 1.
8993 2016-10-03  Pádraig Brady  <P@draigBrady.com>
8995         quotearg: minimize shell quoting using double quotes
8996         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
8997         quote in encountered then use double quotes (c style quoting)
8998         when possible, as it simplifies the quoting.
8999         * tests/test-quotearg-simple.c: Add test cases.
9000         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
9001         for the fact we now may write beyond the returned length.
9003 2016-10-02  Jim Meyering  <meyering@fb.com>
9005         vasnprintf.c: avoid spurious warning from GCC 7
9006         The presence of cpp directives renders this "FALLTHROUGH" comment
9007         ineffective, so does not suppress the -Wimplicit-fallthrough warning
9008         from GCC 7 built from git on 2016-10-02.
9009         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
9010         directives, so that it takes effect once again.  This is clearly
9011         not a proper change, and I will revert it once this bug is fixed:
9012         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
9014 2016-10-01  Jim Meyering  <meyering@fb.com>
9016         getprogname: correct the test for a __progname variable
9017         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
9018         and AC_LINK_IFELSE to check for a global __progname.  If found,
9019         define HAVE_VAR___PROGNAME.
9020         * lib/getprogname.c (getprogname): Reflect the new name of the
9021         feature- checked preprocessor symbol:
9022         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
9024 2016-09-28  Jim Meyering  <meyering@fb.com>
9026         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
9027         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
9028         fall-through case with a /* fallthrough */ comment.
9030         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
9031         * lib/dfa.c (dfassbuild): Mark the end of this case with a
9032         /* fallthrough */ comment.
9034         getprogname: avoid __progname vs program_invocation_short_name pitfall
9035         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
9036         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
9037         not with Fedora 24's glibc-2.23.1-10.
9038         * lib/getprogname.c (__progname): Move this declaration down...
9039         (getprogname): ... into the #elif block where used, and make it
9040         explicitly "extern".
9042         getprogname: port to OpenBSD 5.1
9043         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
9044         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
9045         * modules/getprogname (configure.ac): Move most of this code...
9046         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
9047         increment serial number, and add a test for __progname.
9048         https://bugs.gnu.org/24562
9049         Reported by Nelson H. F. Beebe.
9051 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
9053         sched: port to GCC 6.2.1 on macOS Sierra
9054         Problem reported by Denis Davydov in:
9055         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
9056         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
9057         Include <sys/cdefs.h> before <sched.h>.
9058         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
9059         so that we needn’t worry about the sched.h include bug here.
9060         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
9061         and include it before <sched.h> if it exists, when
9062         checking for <sched.h>.
9064         tests/init.sh: port Alpine fix to AIX 7.1
9065         * tests/init.sh (compare_): When attempting to use diff -U3,
9066         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
9067         diff -u not outputting a space after leading '+', as the users
9068         of 'compare' should not be that picky about its output format.
9069         In the AIX 7.1 case, return with diff exit status (or with 2 if
9070         trouble), instead of some random nonzero exit status.
9071         * tests/test-init.sh (test_compare): Remove space after leading
9072         '+', so that AIX 7.1 'diff' passes the test.
9074 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9076         nl_langinfo: pacify GCC
9077         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
9078         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
9080         stdint: also set GL_GENERATE_LIMITS_H
9081         Problem reported by Jim Meyering in:
9082         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
9083         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
9085         limits-h, stdint: Don't assume extensions, fix typo
9086         * m4/limits-h.m4 (gl_LIMITS_H):
9087         * m4/stdint.m4 (gl_STDINT_H):
9088         Don't assume AC_USE_SYSTEM_EXTENSIONS.
9089         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
9090         reported by Jim Meyering in:
9091         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
9093 2016-09-21  Jim Meyering  <meyering@fb.com>
9095         getprogname: port to AIX
9096         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
9097         and strdup to obtain a short program name string.  Using code from
9098         Bruno Haible and an idea from Bastien ROUCARIÈS, in
9099         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
9100         Assaf Gordon reported that this new file would fail to compile on
9101         AIX-7.1 32bit.
9103 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
9105         extensions: fix typo in comment
9106         * m4/extensions.m4: Sync from Autoconf master.
9108         stdint: support new _WIDTH macros
9109         * doc/posix-headers/stdint.texi: Document this.
9110         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
9111         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
9112         support for INTMAX_WIDTH, etc. as well as for support for just C99.
9113         * modules/stdint (Depends-on): Add limits-h.
9114         (Makefile.am): Substitute HAVE_C99_STDINT_H.
9115         * modules/stdint-tests (Depends-on): Add extensions, so that
9116         INTMAX_MAX etc. are defined.
9117         * tests/test-stdint.c: Verify the new macros.
9119         limits-h: new module
9120         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
9121         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
9122         * doc/posix-headers/limits.texi: Document new module.
9123         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
9124         * modules/limit-h-tests, tests/test-limits-h.c: New files.
9126         stdio: don't redefine __USE_MINGW_ANSI_STDIO
9127         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
9128         if it is already defined.  Apparently GNU Emacs relies on this.  See:
9129         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
9131 2016-09-15  Eric Blake  <eblake@redhat.com>
9133         sys_types: avoid glibc 2.25 warnings about major()
9134         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
9135         older autoconf.
9136         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
9137         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
9138         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
9139         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
9141         mountlist: include sysmacros.h for glibc
9142         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
9143         AC_HEADER_MAJOR.
9144         * lib/mountlist.c (includes): Use correct headers.
9146 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
9148         extensions: port to more ISO C TSes
9149         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
9150         master, to add support for more recent ISO C TRs and TSes.
9152 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9154         intprops: new macro TYPE_WIDTH
9155         * lib/intprops.h (TYPE_WIDTH): New macro.
9156         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
9157         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
9158         * lib/parse-datetime.y (parse_datetime2):
9159         Use it.
9161         extensions: port to recent ISO C TRs
9162         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
9163         Sync from Autoconf master, to add support for recent ISO C TRs.
9164         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
9165         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
9166         the MinGW option is not an extension.
9168 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
9170         dfa: port to Solaris 9
9171         Problems reported by Tom G. Christensen in:
9172         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
9173         * modules/dfa (Depends-on): Add isblank.
9174         * modules/dfa-tests (dfa_match_aux_LDADD):
9175         Rename from test_stat_LDADD, to fix typo.
9176         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
9178 2016-09-10  Jim Meyering  <meyering@fb.com>
9180         strverscmp: avoid link failure on OS X
9181         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
9182         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
9184 2016-08-16  Jim Meyering  <meyering@fb.com>
9186         dfa: new module, importing grep's DFA matcher
9187         Since grep's DFA matcher is now being used by two gnulib-enabled
9188         projects, grep and sed, it makes sense to version-control its
9189         sources and unit tests in one place: here.
9190         * modules/dfa: New module.
9191         * modules/dfa-tests: New file.
9192         * lib/dfa.c: New file, from grep.
9193         * lib/dfa.h: Likewise.
9194         * lib/localeinfo.c: Likewise.
9195         * lib/localeinfo.h: Likewise.
9196         * tests/dfa-match-aux.c: Likewise.
9197         * tests/dfa-invalid-char-class.sh: Likewise.
9198         * tests/dfa-match.sh: Likewise, with minor changes.
9199         * MODULES.html.sh (Misc): Add "dfa" to this list.
9201 2016-09-09  Jim Meyering  <meyering@fb.com>
9203         getprogname-tests: don't depend on assert-h
9204         * modules/getprogname-tests (Depends-on): Remove assert-h.
9205         It was not needed, and in fact would cause build failure for
9206         coreutils on some systems.  Reported by Assaf Gordon in https:
9207         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
9209 2016-09-07  Jim Meyering  <meyering@fb.com>
9211         getprogname-tests: work also when EXEEXT is nonempty
9212         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
9213         * tests/test-getprogname.c (main): Use it.
9214         Suggested by Gisle Vanem.
9216 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
9218         getprogname: fix errors in previous change
9219         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
9220         s/program_invocation_name/base/
9221         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
9223 2016-09-08  Pádraig Brady  <P@draigBrady.com>
9225         parse-datetime: restrict debug output to input string
9226         * lib/parse-datetime.y (parse_datetime2): If we parse
9227         all of the input but determine it's invalid, ensure
9228         we don't output the now invalid input pointer.
9229         This issue was seen with `date -d 'now +1'`.
9231 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
9233         flexmember: new macro FLEXALIGNOF
9234         * lib/flexmember.h: Include <stddef.h>, for offsetof.
9235         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
9236         this macro.  Update comments.
9238 2016-09-07  Jim Meyering  <meyering@fb.com>
9240         getprogname: port to systems with __argv (mingw, msvc)
9241         * lib/getprogname.c (getprogname): Include "dirname.h" and use
9242         last_component: more general than open coding it with hard-coded "/".
9243         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
9244         * modules/getprogname (Depends-on): Add dirname-lgpl.
9245         (configure.ac): Check for __argv in <stdlib.h>.
9246         * modules/getprogname-tests: New file.
9247         * tests/test-getprogname.c: New file.
9248         Suggested by Gisle Vanem in
9249         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
9251 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
9253         flexmember: port better to GCC + valgrind
9254         With a char[] flexible array member in a struct with nontrivial
9255         alignment, GCC-generated code can access past the end of the
9256         array, because GCC assumes there are padding bytes to get the
9257         struct aligned.  So the common idiom of malloc (offsetof (struct
9258         s, m), n) does not properly allocate an n-byte trailing member, as
9259         malloc’s argument should be the next multiple of alignof (struct s).
9260         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
9261         Although C11 apparently permits this GCC optimization (i.e., there
9262         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
9263         See the thread containing:
9264         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
9265         * lib/flexmember.h: New file.
9266         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
9267         * lib/localename.c, lib/time_rz.c:
9268         Include flexmember.h.
9269         * lib/fnmatch_loop.c (struct patternlist):
9270         * lib/localename.c (struct hash_node):
9271         Use FLEXIBLE_ARRAY_MEMBER.
9272         * lib/fnmatch_loop.c (EXT):
9273         * lib/fts.c (fts_alloc):
9274         * lib/glob.c (glob_in_dir):
9275         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
9276         * lib/localename.c (gl_lock_define_initialized):
9277         * lib/time_rz.c (tzalloc):
9278         Use FLEXSIZEOF instead of offsetof.
9279         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9280         Check that the size of the struct can be taken.
9281         * modules/flexmember (Files): Add lib/flexmember.h.
9282         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
9283         Add flexmember.
9285 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9287         getprogname: port to Solaris 10
9288         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
9289         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
9290         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
9292         stdalign: correct mistake in alignof doc
9293         Problem reported by Joseph Myers in:
9294         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
9295         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
9296         alignof(S) where S is a structure containing a flexible array
9297         member.  The Gnulib substitute does not support this, but C11 does.
9299 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
9301         main.mk: remove sc_program_name, since there is no more need to
9302         use set_program_name in tools (getprogname is enough for most
9303         of the cases).
9304         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
9305         * top/maint.mk (sc_program_name): Remove.
9307 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
9309         Port tests away from progname, since modules that need the
9310         program name already depend on getprogname.
9311         * modules/acl-tests (Depends-on): Remove progname.
9312         * modules/argmatch (Depends-on): Likewise.
9313         * modules/argmatch-tests (Depends-on): Likewise.
9314         * modules/argp-tests (Depends-on): Likewise.
9315         * modules/argp-version-etc-tests (Depends-on): Likewise.
9316         * modules/array-list-tests (Depends-on): Likewise.
9317         * modules/array-oset-tests (Depends-on): Likewise.
9318         * modules/avltree-list-tests (Depends-on): Likewise.
9319         * modules/avltree-oset-tests (Depends-on): Likewise.
9320         * modules/avltreehash-list-tests (Depends-on): Likewise.
9321         * modules/carray-list-tests (Depends-on): Likewise.
9322         * modules/copy-file-tests (Depends-on): Likewise.
9323         * modules/exclude-tests (Depends-on): Likewise.
9324         * modules/fchownat-tests (Depends-on): Likewise.
9325         * modules/fdopendir-tests (Depends-on): Likewise.
9326         * modules/filenamecat-tests (Depends-on): Likewise.
9327         * modules/fstatat-tests (Depends-on): Likewise.
9328         * modules/fstrcmp-tests (Depends-on): Likewise.
9329         * modules/linked-list-tests (Depends-on): Likewise.
9330         * modules/linkedhash-list-tests (Depends-on): Likewise.
9331         * modules/mkdirat-tests (Depends-on): Likewise.
9332         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
9333         * modules/nonblocking-socket-tests (Depends-on): Likewise.
9334         * modules/obstack-printf-tests (Depends-on): Likewise.
9335         * modules/openat-tests (Depends-on): Likewise.
9336         * modules/parse-datetime-tests (Depends-on): Likewise.
9337         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
9338         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
9339         * modules/quotearg-simple-tests (Depends-on): Likewise.
9340         * modules/quotearg-tests (Depends-on): Likewise.
9341         * modules/rbtree-list-tests (Depends-on): Likewise.
9342         * modules/rbtree-oset-tests (Depends-on): Likewise.
9343         * modules/rbtreehash-list-tests (Depends-on): Likewise.
9344         * modules/spawn-pipe-tests (Depends-on): Likewise.
9345         * modules/system-quote-tests (Depends-on): Likewise.
9346         * modules/uniname/uniname-tests (Depends-on): Likewise.
9347         * modules/uninorm/nfc-tests (Depends-on): Likewise.
9348         * modules/uninorm/nfd-tests (Depends-on): Likewise.
9349         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
9350         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
9351         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
9352         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
9353         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
9354         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
9355         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
9356         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
9357         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
9358         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
9359         * modules/unlinkat-tests (Depends-on): Likewise.
9360         * modules/version-etc-tests (Depends-on): Likewise.
9361         * modules/xalloc-die-tests (Depends-on): Likewise.
9362         * modules/xmemdup0-tests (Depends-on): Likewise.
9363         * modules/xprintf-posix-tests (Depends-on): Likewise.
9364         * modules/xvasprintf-tests (Depends-on): Likewise.
9365         * tests/test-argmatch.c: Do not include progname.h.
9366         (main) Stop calling set_program_name.
9367         * tests/test-argp-version-etc.c: Likewise.
9368         * tests/test-argp.c: Likewise.
9369         * tests/test-argv-iter.c: Likewise.
9370         * tests/test-array_list.c: Likewise.
9371         * tests/test-array_oset.c: Likewise.
9372         * tests/test-avltree_list.c: Likewise.
9373         * tests/test-avltree_oset.c: Likewise.
9374         * tests/test-avltreehash_list.c: Likewise.
9375         * tests/test-carray_list.c: Likewise.
9376         * tests/test-copy-acl.c: Likewise.
9377         * tests/test-copy-file.c: Likewise.
9378         * tests/test-exclude.c: Likewise.
9379         * tests/test-fchownat.c: Likewise.
9380         * tests/test-fdopendir.c: Likewise.
9381         * tests/test-filenamecat.c: Likewise.
9382         * tests/test-fstatat.c: Likewise.
9383         * tests/test-fstrcmp.c: Likewise.
9384         * tests/test-linked_list.c: Likewise.
9385         * tests/test-linkedhash_list.c: Likewise.
9386         * tests/test-mkdirat.c: Likewise.
9387         * tests/test-nonblocking-pipe-main.c: Likewise.
9388         * tests/test-nonblocking-socket-main.c: Likewise.
9389         * tests/test-obstack-printf.c: Likewise.
9390         * tests/test-openat.c: Likewise.
9391         * tests/test-parse-datetime.c: Likewise.
9392         * tests/test-pipe-filter-gi1.c: Likewise.
9393         * tests/test-pipe-filter-gi2-main.c: Likewise.
9394         * tests/test-pipe-filter-ii1.c: Likewise.
9395         * tests/test-pipe-filter-ii2-main.c: Likewise.
9396         * tests/test-quotearg-simple.c: Likewise.
9397         * tests/test-quotearg.c: Likewise.
9398         * tests/test-rbtree_list.c: Likewise.
9399         * tests/test-rbtree_oset.c: Likewise.
9400         * tests/test-rbtreehash_list.c: Likewise.
9401         * tests/test-sameacls.c: Likewise.
9402         * tests/test-set-mode-acl.c: Likewise.
9403         * tests/test-spawn-pipe-main.c: Likewise.
9404         * tests/test-system-quote-main.c: Likewise.
9405         * tests/test-unlinkat.c: Likewise.
9406         * tests/test-version-etc.c: Likewise.
9407         * tests/test-xalloc-die.c: Likewise.
9408         * tests/test-xfprintf-posix.c: Likewise.
9409         * tests/test-xmemdup0.c: Likewise.
9410         * tests/test-xprintf-posix.c: Likewise.
9411         * tests/test-xvasprintf.c: Likewise.
9412         * tests/uniname/test-uninames.c: Likewise.
9413         * tests/uninorm/test-u32-nfc-big.c: Likewise.
9414         * tests/uninorm/test-u32-nfd-big.c: Likewise.
9415         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
9416         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
9417         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
9418         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
9419         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
9420         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
9421         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
9422         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
9423         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
9424         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
9425         * tests/test-c-stack.c: (program_name): Do not define.
9426         (main): Do not set program_name.
9427         * tests/test-closein.c: Likewise.
9428         * tests/test-xstrtol.c: Likewise.
9429         * tests/test-yesno.c: Likewise.
9431 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
9433         Port modules to use getprogname explicitly, instead of requiring
9434         progname to be used (or program_name to be provided).
9435         * lib/argmatch.c: Do not include progname.h.
9436         [TEST] (program_name): Do not define.
9437         [TEST] (main): Call getprogname instead of using program_name.
9438         * lib/c-stack.c: Do not include progname.h.
9439         (program_name): Do not define.
9440         (die): Call getprogname instead of using program_name.
9441         * lib/chdir-long.c: Do not include progname.h.
9442         [TEST_CHDIR] (main): Do not set program_name.
9443         * lib/error.c [!_LIBC]: Include progname.h.
9444         [!_LIBC] (program_name): Define using getprogname.
9445         * lib/euidaccess.c: Do not include progname.h.
9446         [TEST] (main): Do not set program_name.
9447         * lib/git-merge-changelog.c: Include getprogname.h instead of
9448         progname.h.
9449         (usage): Call getprogname instead of using program_name.
9450         (main): Likewise.  Stop calling set_program_name.
9451         * lib/group-member.c: Do not include progname.h.
9452         [TEST] (main): Do not set program_name.
9453         * modules/argmatch (Depends-on): Add getprogname.
9454         * modules/c-stack (Depends-on): Likewise.
9455         * modules/error (Depends-on): Likewise.
9456         * modules/git-merge-changelog (Depends-on): Likewise.
9457         Also remove progname.
9459 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
9461         * NEWS: Document the deprecation of the 'progname' module.
9463 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
9465         getprogname: new module
9466         This provides a LGPL module for getting the name of the current
9467         program, using the same API found on *BSD systems.
9468         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
9469         * modules/getprogname: New files.
9470         * MODULES.html.sh (Misc): Add getprogname.
9472 2016-09-02  Jim Meyering  <meyering@fb.com>
9474         manywarnings: add -fno-common
9475         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
9476         to the list.  Quoting the manual, "Compiling with -fno-common is
9477         useful on targets for which it provides better performance, or if
9478         you wish to verify that the program will work on other systems that
9479         always treat uninitialized variable declarations this way [putting
9480         it in the data section]."  If diffutils had been using this sooner,
9481         it would have prevented this duplicate declaration issue:
9482         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
9484 2016-08-31  Simon Josefsson  <simon@josefsson.org>
9486         parse-datetime: Fix typo.
9487         * lib/parse-datetime.y (parse_datetime2): Fix typo.
9489 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9491         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
9492         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
9493         GCC 5 and 6 that have __builtin_sub_overflow but not
9494         __builtin_sub_overflow_p.  With the recent changes, these
9495         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
9496         implementation than with INT_SUBTRACT_OVERFLOW implementation,
9497         since the former needs just one runtime comparison whereas the
9498         latter needs two.
9500         strverscmp: sync with glibc
9501         Although this doesn't exactly synchronize with glibc
9502         byte-for-byte, it makes the code behave the same as glibc.
9503         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
9504         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
9505         difference shouldn't matter in practical use.  All uses changed
9506         back to isdigit.
9507         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
9508         (next_state): Now unsigned char array; redo elements.
9509         (result_type): Now signed char array; redo elements.
9510         (__strverscmp): Fix glibc bug 9913 by using new states.
9511         * tests/test-strverscmp.c (main): Test glibc bug 9913.
9513 2016-08-29  Jim Meyering  <meyering@fb.com>
9515         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
9516         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
9517         similarly to how it was done to intprops.h.
9519 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9521         intprops.h: port recent changes to GCC 6.2.0
9522         * lib/intprops.h (__has_builtin): Move earlier.
9523         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
9524         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
9525         the last argument can be null.  All uses changed.
9526         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
9527         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
9528         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
9529         and it's not clear which GCC versions it works for.
9530         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
9531         its definiens.
9533         intprops.h: use __typeof__ with GCC 7
9534         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
9535         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
9536         This avoids computing the expression's value (which might overflow!).
9538 2016-08-29  Jim Meyering  <meyering@fb.com>
9540         intprops.h, xalloc-oversized.h: work with gcc 7
9541         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
9542         __builtin_mul_overflow each accept a NULL pointer as the third
9543         argument.  However in gcc 7, that is no longer accepted.
9544         Instead, one must use the "_p"-suffixed names, with which, the
9545         third parameter is no longer a pointer.
9546         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
9547         the definition: not true for gcc 7 and subsequent.
9548         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
9549         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
9550         Provide new definitions for gcc 7 and subsequent.
9551         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
9552         that works with gcc-7.
9554         intprops.h: fix missing-backslash problems
9555         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
9556         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
9558 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9560         intprops: fix paren typo on old platforms
9561         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
9562         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
9563         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
9564         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
9565         && !defined LLONG_MAX]:
9566         Remove stray paren.
9568         intprops: port to OpenVMS
9569         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
9570         * doc/posix-headers/limits.texi: Document the problem.
9571         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
9572         Define if not already defined.
9574 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
9576         parse-datetime: improve debug implementation
9577         Follow-up to commit 12ad79069 ("add optional debug printing").
9578         Improve parse-datetime's debug implementation: remove macros,
9579         replace global debug flag variable with a function parameter,
9580         use nstrftime for formatting.
9581         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
9582         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
9583         (parse_datetime2): New function, accepts 'flags' parameter, supporting
9584         debug flag. Existing interface 'parse_datetime' left unmodified.
9585         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
9586         (struct parser_control): add 'parse_datetime_debug' member variable.
9587         (parse_datetime): Call new function 'parse_datetime2' without debug.
9588         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
9589         pc.parse_datetime_debug variable as needed.
9590         (to_year): Accept new flags parameter, instead of using global variable.
9591         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
9592         use struct 'debug' variable instead of global variable.
9593         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
9594         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
9595         correspnding functions directly instead of using macros.
9596         * modules/parse-datetime: Add gnulib's strftime module.
9598 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
9600         c-strcase-tests: port to EBCDIC
9601         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
9602         which assume ASCII encoding semantics to run only in ASCII
9603         mode, as they fail in EBCDIC.
9605         sigpipe-tests: fix typo
9606         * tests/test-sigpipe.sh: C, not B.
9608 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
9610         canonicalize-lgpl: fix errno after malloca fails
9611         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
9612         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
9613         * lib/canonicalize-lgpl.c (__realpath):
9614         Don't assume malloca sets errno on failure.
9616 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
9618         strtod: port errno handling to z/OS
9619         * lib/strtod.c (strtod): Save and restore errno more reliably.
9621 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
9623         strtod: port to z/OS
9624         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
9625         implementation.
9627 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
9629         strtod: port to z/OS
9630         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
9631         implementation.
9633         regex, string: rename to avoid '__string'
9634         * lib/regex.h, lib/string.in.h: Do not use the identifier
9635         '__string', as it is effectively reserved by string.h on z/OS.
9637         c-strcase-tests, wcwidth-tests: depend on c-ctype
9638         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
9639         Add c-ctype.
9641 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
9643         thread: port to z/OS
9644         * lib/glthread/thread.c, lib/glthread/thread.h:
9645         Rudimentary gl_thread support for z/OS.
9647         maint: port tests to z/OS errno behavior
9648         * tests/test-nonblocking-reader.h:
9649         * tests/test-nonblocking-writer.h:
9650         Accommodate z/OS errno code preferences. (I believe this should
9651         still be within spec; IBM is good at following the letter if not
9652         the spirit of such things.)
9654         maint: preprocessor changes to support z/OS
9655         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
9656         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
9657         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
9658         * tests/test-nonblocking-pipe.h:
9660         fclose, strstr-simple, wchar: port to z/OS
9661         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
9662         Changes to the Autoconf M4 code to support z/OS.  Note that
9663         fclose() is broken in a different way on z/OS than it is on other
9664         systems, thus the special-case in fclose.m4.
9666         iconv_open-utf-tests, iconv-tests: port to EBCDIC
9667         * tests/test-iconv-utf.c, tests/test-iconv.c:
9668         Added appropriately conditional #pragmas so that the test strings
9669         in test-iconv-utf.c are correctly interpreted in ASCII instead of
9670         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
9671         addressed in a more portable way by simply rewriting all the ASCII
9672         literal characters as octal escapes, but then you would lose the
9673         partial readability that the strings have now. Also, iconv_open()
9674         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
9676         c-strcase-tests, wcwidth-tests: port to EBCDIC
9677         * tests/test-c-strcasecmp.c: Include c-ctype.h.
9678         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
9679         * tests/test-wcwidth.c: Likewise.
9681 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
9683         stdbool: don't require _Bool for C++
9684         Problem reported by David Seifert in:
9685         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
9686         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
9687         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
9688         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
9689         stricter about checking that bool and _Bool are compatible in C.
9691 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
9693         getdelim: remove dependency on realloc-posix
9694         * lib/canonicalize-lgpl.c (alloc_failed)
9695         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
9696         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
9697         Use __set_errno where needed, for consistency.
9698         * lib/getdelim.c (alloc_failed): New function.
9699         (getdelim): Use it.
9701 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
9703         parse-datetime: add optional debug printing
9704         Print parsing information, warnings, and errors to stderr.
9705         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
9706         * lib/parse-datetime.y:
9707         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
9708         (PROGRESS*): Same as DEBUG, for progress reporting.
9709         (dbg_printf): Print message to stderr, with 'date' prefix.
9710         (struct parser_control): Add 'debug_*_seen' variables.
9711         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
9712         (debug_print_current_time, debug_print_relateive_time): Prints the
9713         current/relative date/time value of parser_control.
9714         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
9715         (to_year): Warn about 2-digit year parsing.
9716         (yylex):   Warn about unrecognized words.
9717         (get_effective_timezone): Returns current timezone in minutes.
9718         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
9719         clearly and unambigiously as possible.
9720         (debug_mktime_not_ok): Print detailed information about failed
9721         date/time values.
9722         (parse_datetime): Add DEBUG messages for failures, warnings. Add
9723         PROGRESS messages for status messages.
9724         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
9726 2016-08-06  Jim Meyering  <meyering@fb.com>
9728         tests/init.sh: exclude dash with bad "local" semantics
9729         * tests/init.sh (gl_shell_test_script_): Add a function to
9730         eliminate a shell like "dash" (unlike bash, zsh) that has
9731         surprising/risky "local var='...'" semantics.  Inspired by
9732         the problem and discussion in https://bugs.gnu.org/24116#11.
9734 2016-08-02  Ján Tomko  <jtomko@redhat.com>
9736         maint.mk: expand the prohibit_doubled_word regex
9737         This check has a static list of words that are checked for
9738         repetitions.  Expand it before running the perl script to
9739         avoid using expensive captures.  This decreases the cost
9740         for libvirt from 1.66s to 0.66s.
9741         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
9742         (sc_prohibit_doubled_word): Use it.
9744 2016-07-26  Ján Tomko  <jtomko@redhat.com>
9746         useless-if-before-free: skip non-matching lines early
9747         * build-aux/useless-if-before-free: First match each line with the
9748         simple/quick /\bif\b/ and reject if there is no match. This often
9749         saves the cost of the much more involved regular expression.
9750         For libvirt, this decreases the cost from 1.44s to 1.02s.
9752 2016-07-26  Ján Tomko  <jtomko@redhat.com>
9754         maint.mk: speed up sc_po_check
9755         sc_po_check would skip files based on their names, or on the
9756         existence of files with derived names. Rewrite it to use perl
9757         instead of shell to make the check faster.
9758         * top/maint.mk (perl_translatable_files_list_): Define.
9759         (sc_po_check): Use it.
9761 2016-07-30  Ján Tomko  <jtomko@redhat.com>
9763         maint.mk: speed up require_config_h_first
9764         Instead of spawning three processes per file,
9765         rewrite the check in perl and run it once for all the files.
9766         * top/maint.mk (perl_config_h_first_): Define.
9767         (sc_require_config_h_first): Use it in place of shell code.
9769 2016-07-26  Ján Tomko  <jtomko@redhat.com>
9771         maint.mk: speed up sc_po_check
9772         sc_po_check would skip files based on their names, or on the
9773         existence of files with derived names. Rewrite it to use perl
9774         instead of shell to make the check faster.
9775         * top/maint.mk (perl_translatable_files_list_): Define.
9776         (sc_po_check): Use it.
9778 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9780         obstack: pacify GCC 6 with -Wnull-dereference
9781         Problem reported by Assaf Gordon in:
9782         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
9783         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
9784         Declare with __attribute_noreturn__.
9785         * lib/obstack.h (__attribute_noreturn__): New macro.
9787 2016-07-13  Eric Blake  <eblake@redhat.com>
9789         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
9790         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
9791         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
9793 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
9795         doc: mention glibc SSIZE_MAX buglet
9796         * doc/posix-headers/limits.texi (limits.h): Document the bug.
9798 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
9800         printf-posix: Fix mingw build
9801         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
9802         expression for detecting C symbol prefixes but forgot to qoute square
9803         brackets in the command line arguments for grep.  That way when
9804         building with mingw the condition was false although it ought to be
9805         true instead.  In particular scenarios this led to the following
9806         compile error:
9808             Cannot export rpl_printf: symbol not found
9809             Cannot export rpl_scanf: symbol not found
9810             collect2: error: ld returned 1 exit status
9812         Fix this by properly quoting square brackets.
9814 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
9816         mktime: call tzset as per POSIX
9817         Problem reported by Ludovic Courtès in:
9818         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
9819         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
9820         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
9822 2016-06-26  Pádraig Brady  <P@draigBrady.com>
9824         fts: handle readdir() errors
9825         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
9826         but also upon error when it will also set errno.  Therefore
9827         flag the error case from readdir().  We treat the case where
9828         no items are read the same as if the dir can't be accessed,
9829         i.e. by setting fts_errno to FTS_DNR.
9831 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
9833         intprops: port better to GCC 7
9834         GCC 7 __builtin_add_overflow supports a new usage form, where the
9835         last argument is a null pointer, and which merely returns 1 if an
9836         overflow would occur.  This is a constant expression if all
9837         arguments are constants, and should generate faster code when code
9838         needs to be generated.
9839         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
9840         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
9841         Use builtin operations if available.
9842         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
9843         operations are available, as it's almost surely faster.
9845 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
9847         intprops-test: port to GCC 6
9848         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
9849         since the bug is not fixed in GCC 6.1.
9851 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
9853         xalloc-oversized: port to GCC 7; fewer warnings
9854         GCC 7 will have a better way to deal with integer overflow.
9855         Plus, fix a warnings problem reported by Tim Ruehsen in:
9856         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
9857         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
9858         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
9859         For GCC 5, use __xalloc_oversized if both args are constants,
9860         or if pedantic.
9862 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
9864         regex: port to Sun C
9865         Reported by Daiki Ueno.
9866         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
9867         __restrict, in prototype.  This fixes a problem I introduced in
9868         the 2016-02-19 merge from glibc.
9870 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
9872         stdbool: Restore __bool_true_false_are_defined check
9873         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
9874         __bool_true_false_are_defined is still defined, even with C++11.
9876 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
9878         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
9879         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
9881 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
9883         Use GCC_LINT, not lint
9884         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
9885         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
9886         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
9887         Document problem with lint and _Noreturn.
9888         * lib/diffseq.h (IF_LINT, IF_LINT2):
9889         * lib/fts.c (sccsid):
9890         * lib/getndelim2.c (IF_LINT):
9891         * lib/gl_anylinked_list2.h (gl_linked_iterator)
9892         (gl_linked_iterator_from_to):
9893         * lib/gl_anytree_list2.h (gl_tree_iterator)
9894         (gl_tree_iterator_from_to):
9895         * lib/gl_anytree_oset.h (gl_tree_iterator):
9896         * lib/gl_array_list.c (gl_array_iterator)
9897         (gl_array_iterator_from_to):
9898         * lib/gl_array_oset.c (gl_array_iterator):
9899         * lib/gl_carray_list.c (gl_carray_iterator)
9900         (gl_carray_iterator_from_to):
9901         * lib/idcache.c:
9902         * lib/inet_ntop.c (IF_LINT):
9903         * lib/regcomp.c (build_charclass_op, create_tree):
9904         * lib/regex_internal.c (re_acquire_state)
9905         (re_acquire_state_context):
9906         * lib/trigl.c (rcsid):
9907         * lib/trim.c (IF_LINT):
9908         * lib/vasnprintf.c (IF_LINT):
9909         * lib/verify.h (assume):
9910         Treat GCC_LINT like lint.
9912 2016-05-29  Bruno Haible  <bruno@clisp.org>
9914         secure_getenv: Port to many more platforms.
9915         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
9916         functions.
9917         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
9918         for non-BSD Unix platforms and for native Windows.
9919         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
9920         Prompted by a request from Nikos Mavrogiannopoulos.
9922 2016-05-27  Eric Blake  <eblake@redhat.com>
9924         canonicalize: Fix broken probe for realpath.
9925         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
9926         in logic introduced in 54615b95.
9928 2016-05-26  Eric Blake  <eblake@redhat.com>
9930         unsetenv: relax to LGPLv2+
9931         * modules/unsetenv (License): Match setenv license.
9933 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
9935         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
9936         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
9937         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
9938         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
9939         (commonarg, dirargs, dirs, infoarg, generate_ascii)
9940         (generate_html, generate_info, generate_tex, outdir)
9941         (source_extra, split, srcfile, texarg): Move above 'version'.
9942         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
9944 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
9946         manywarnings: update for GCC 6.1
9947         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
9948         Add GCC 6.1 options that apply to C.
9949         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
9950         do not apply to C, are obsolescent, etc.
9952 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
9954         glob: size_t overflow checks
9955         * lib/glob.c (__has_builtin): New macro.
9956         (size_add_wrapv, glob_use_alloca): New static functions.
9957         (glob, glob_in_dir): Check for size_t overflow in several places,
9958         and fix some size_t checks that were not quite right.
9960         glob: don't assume INT_MAX < SIZE_MAX
9961         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
9962         latter is not portable to (probably theoretical) hosts where
9963         SIZE_MAX <= INT_MAX.
9965 2016-05-09  Bruno Haible  <bruno@clisp.org>
9967         Fix undefined behaviour in gettext.h.
9968         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
9969         pointer's value after the storage it points to has been freed.
9970         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
9971         Spotted by Coverity.
9973 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
9975         git-version-gen: avoid undefined shift
9976         Problem reported by Mosè Giordano in:
9977         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
9978         * build-aux/git-version-gen: Avoid undefined behavior if invoked
9979         with --prefix or --fallback but without a later argument.  While
9980         we're at it, omit unnecessary quotes.
9982 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
9984         glob: merge glibc changes into lib/glob.c
9985         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
9986         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
9987         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
9988           struct dirent [BZ #19779]
9989         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
9990           callback gl_readdir
9991         2015-10-20 Convert miscellaneous function definitions to prototype style
9992         2015-10-20 Convert 113 more function definitions to prototype style
9993           (files with assertions)
9994         2015-06-12 Fix getlogin_r namespace (bug 18527).
9995         2014-02-10 Use glibc_likely instead __builtin_expect.
9996         2013-10-20 When glob pattern contains a trailing slash match only
9997           directories. Fixes bug 10278.
9998         2013-09-04 glob: silence -Wattribute warnings
9999         2013-06-07 Avoid use of "register" as optimization hint.
10000         2012-09-25 Use size_t instead of int for internal variables in glob
10001           (bug 14621)
10002         2011-07-20 Check for overflows in expressions
10003         2011-05-28 Remove unused variable
10004         2011-05-22 Add a few more alloca size checks
10005         2010-03-27 Whitespace fixes
10006         2010-03-27 Fix one more issue with the glob patch
10007         2010-03-24 Fix glob with empty pattern
10008         2008-05-27 Remove useless more "if" tests before "free"
10009         * modules/glob (Depends-on): Add stdint.
10011 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
10013         mktime: port to stricter signed overflow checking
10014         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
10015         (long_int): Require width for INT_MAX * 3 * (seconds per year),
10016         instead of merely for INT_MAX * 2.  In practice platforms that
10017         do the latter also do the former.
10018         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
10019         (shr): New static function, replacing SHR.  All uses changed.
10020         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
10021         and TIME_T_MAX.  All uses changed.
10022         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
10023         Use long_int, not time_t.
10024         (long_int_avg): New static function, replacing time_t_avg.
10025         All uses changed.  Round toward positive infinity, as that
10026         generates slightly better code.
10027         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
10028         by INT_ADD_WRAPV.
10029         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
10030         (convert_time): New static function.
10031         (ranged_convert): Use it
10032         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
10033         Use simpler test for loop exit.
10034         (__mktime_internal): Store negative of guessed offset, to simplify
10035         overflow checking.  Remove no-longer-needed test for small time_t
10036         overflows.
10038         mktime: speed up DEBUG_MKTIME benchmarks
10039         Call tzset just once, at the start, rather than for every test
10040         case.  This lets us measure the CPU cost of mktime as opposed to
10041         that of tzset.  This is relevant when TZ is not set and glibc is
10042         being used.  This speeds up tests by a factor of 40 on my Fedora
10043         23 x86-64 platform.
10044         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
10045         to call tzset and as a sanity check.  Later on, use localtime_r
10046         instead of localtime.
10048         mktime: resurrect DEBUG_MKTIME testing
10049         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
10050         Include <string.h>, for strcmp.
10052         mktime: simplify DEBUG_MKTIME
10053         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
10054         Simplify later usage accordingly.
10056         Port mktime_internal offset to unsigned time_t
10057         This avoids some assumptions about wraparound arithmetic on
10058         signed integer overflow.
10059         * lib/mktime-internal.h (mktime_offset_t): New type.
10060         (mktime_internal): Use it in decl.
10061         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
10063         * lib/mktime.c (__mktime_internal, localtime_offset):
10064         * lib/timegm.c (timegm): Use it.
10065         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
10066         (gl_FUNC_MKTIME): Require it.
10068 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
10070         xstrtol: prohibit monstrosities like "1bB"
10071         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
10072         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
10073         "B" only if the first suffix needs a base.
10074         * tests/test-xstrtol.sh: Test this.
10076 2016-04-21  Pádraig Brady  <P@draigBrady.com>
10078         xstrtod: reinstate setting of *result upon ERANGE
10079         * lib/xstrtod.c (XSTRTOD): The user may decide to use
10080         the returned limits upon ERANGE, so allow and document that.
10082 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
10084         xstrtod: modify *result only if no errors
10085         * lib/xstrtod.c (XSTRTOD).
10087 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
10089         btowc: document problems in C locale
10090         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
10091         with mbrtowc.  See: http://bugs.gnu.org/23269#32
10093 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
10095         mktime: improve integer overflow checking
10096         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
10097         (WRAPV): Remove; no longer needed.
10098         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
10099         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
10100         Remove.  Use intprops.h defns instead.
10101         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
10102         Use bool for Boolean, for clarity.
10103         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
10104         detect integer overflow.
10105         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
10107         intprops: check two's complement assumption
10108         Suggested by Eric Blake in:
10109         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
10110         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
10111         short, int, long, and (if available) long long are two's complement.
10112         * modules/intprops (Depends-on): Add 'verify'.
10114         intprops, mktime, strtol: assume two's complement
10115         These macros were not portable to every conforming C11 ones'
10116         complement platform.  It's not worth the hassle of porting to some
10117         platforms that use ones' complement or signed magnitude, as such
10118         platforms are almost purely theoretical nowadays and porting even
10119         to some of them makes the code harder to review for little
10120         practical benefit.  Problem reported by Florian Weimer in:
10121         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
10122         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
10123         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
10124         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
10125         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
10126         (TYPE_SIGNED_MAGNITUDE):
10127         Remove.  All uses rewritten to assume two's complement, which is
10128         all we can reasonably test nowadays anyway.
10129         * top/maint.mk (_intprops_names): Remove the removed macros.
10131 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
10133         stdint: port to strict C11 left shift
10134         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
10135         Pacify clang -Wshift-negative-value, which should be an issue only
10136         on clang setups where stdint.h does not conform to C11 or to C++11.
10137         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
10139 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
10141         mbrtowc: work around glibc bug#19932
10142         Fix mbrtowc so that it never returns -1 in the C locale,
10143         as this conflicts with a future version of POSIX
10144         http://austingroupbugs.net/view.php?id=663#c2738
10145         and causes problems with GNU grep: http://bugs.gnu.org/23234
10146         See glibc bug 19932:
10147         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
10148         * doc/posix-functions/mbrlen.texi (mbrlen):
10149         * doc/posix-functions/mbrtowc.texi (mbrtowc):
10150         Document the glibc bug.
10151         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
10152         Include hard-locale.h, locale.h.
10153         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
10154         if the bug is possible.
10155         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
10156         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
10157         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
10158         * modules/mbrtowc (Depends-on): Add hard-locale.
10159         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
10160         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
10161         * tests/test-mbrtowc5.sh: New file.
10163 2016-04-03  Pedro Alves  <palves@redhat.com>
10165         stdint: detect good enough pre-C++11 stdint.h in C++ mode
10166         When gnulib is configured in C++ mode for a system with a working C99
10167         implementation of stdint.h that predates C++11, gnulib ends up
10168         substituting stdint.h anyway.  This works on most targets, but on e.g.,
10169         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
10170         MinGW is LLP64.  Instead of trying to detect the right types, detect
10171         good-enough-pre-C++11 stdint.h and in such case define
10172         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
10173         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
10174         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
10175         conforms to C99.  If it does, check whether it hides symbols
10176         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
10177         does, define those macros in config.h.
10179 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
10181         argp: merge changes from glibc
10182         Among other things, this should fix problems found by a Coverity
10183         scan and reported by Andrei Borzenkov:
10184         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
10185         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
10186         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
10187         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
10188         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
10189         * lib/argp.h:
10190         Merge changes from glibc.
10191         * tests/test-argp-2.sh: Adjust to match new behavior.
10193 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
10195         stddef: support configuring with g++
10196         Problem reported by Ángel González in:
10197         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
10198         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
10199         Do not define if _GCC_MAX_ALIGN_T is defined.
10201 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
10203         test-framework-sh: minor cleanups
10204         * tests/init.sh (testdir_prefix_): Output a trailing newline,
10205         since strictly speaking POSIX requires this.
10206         (setup_): Do not use the variable 'fail', as that makes the
10207         trace output harder to read ('fail' is typically used by
10208         tests to mean the test failed).  Treat // portably.
10209         Check that new directory is not merely a sibling of the tmp dir.
10210         Avoid unnecessary invocation of tr.
10212         test-framework-sh: revert port to NetBSD 7.0
10213         It was a false alarm; I misinterpreted Assaf Gordon's report.
10214         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
10215         Restore.
10216         (test_dir_): Adjust to mktempd_ change.
10217         (mktempd_): Restore 2nd arg.  Use -t again.
10218         (base_template_, template_, nx_): Resurrect old code.
10220         Port better to Alpine Linux
10221         Its diff implementation does not support -c, but does support -U3.
10222         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
10223         * tests/init.sh (diff_opt_): New var.
10224         (compare_): Prefer diff -U3 to diff -c to plain diff.
10226 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
10228         test-framework-sh: port to NetBSD 7.0
10229         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
10230         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
10231         Remove.  All uses removed.
10232         (test_dir_): Adjust to mktempd_ change.
10233         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
10234         (base_template_, template_, nx_): Simplify by hardcoding.
10236 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
10238         gitlog-to-changelog: suppress ignored chatter
10239         * build-aux/gitlog-to-changelog: Do not warn about skipping
10240         an SHA if it would have been ignored anyway.
10242 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
10244         setlocale: add "sv" to Windows language table
10245         * lib/setlocale.c (language_table) [W32]: Add "sv".
10246         Reported in <https://savannah.gnu.org/bugs/?44588>.
10248 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
10250         sys_select: port to new Cygwin
10251         Problem reported by Ken Brown in:
10252         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
10253         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
10254         diagnostics.
10256 2016-03-17  Jim Meyering  <meyering@fb.com>
10258         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
10259         * tests/test-userspec.c (main): Remove unnecessary braces and fix
10260         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
10261           test-userspec.c:176:9: error: statement is indented as if it were \
10262             guarded by... [-Werror=misleading-indentation]
10263                    {
10264                    ^
10265           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
10266                  if (!diag && !T[i].result)
10267                  ^~
10269 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
10271         time_rz: port to clang -Wunused-const-variable
10272         * lib/time_rz.c (TZ): Remove.  All uses removed.
10274         std-gnu11: improve clang support
10275         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
10276         2016-03-15 Also try clang
10277         2016-03-15 Port C11 and C++11 testing to clang
10279         select: port more to Intel 2016.1.150 compiler
10280         Problem reported by Balázs Hajgató in:
10281         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
10282         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
10284 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
10286         select: try to port to 2016.1.150 compiler
10287         Problem reported by Balázs Hajgató in:
10288         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
10289         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
10290         POSIX specifies 'restrict'.
10292 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
10294         localename-tests: memory allocation fixes
10295         * tests/test-localename.c (test_locale_name)
10296         (test_locale_name_thread): Don't call freelocale on a locale
10297         that was the base of a successful newlocale, as that
10298         results in a double free.  Problem reported by Assaf Gordon.
10299         (test_locale_name_thread): Free saved names after use, to pacify
10300         gcc -fsanitize=address.
10302 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
10304         intprops: make .h file license match module
10305         * lib/intprops.h: Change the license wording to match glibc format.
10306         This is what is in modules/intprops anyway.  See:
10307         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
10309 2016-03-08  Eric Blake  <eblake@redhat.com>
10311         acl: fix missing return on Cygwin
10312         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
10313         fall off end of function. Fixes http://bugs.gnu.org/22949
10315 2016-03-05  Bruno Haible  <bruno@clisp.org>
10317         extern-inline: port to PGI CC
10318         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
10319         keyword 'inline'.
10320         Reported by Adam James Stewart in:
10321         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
10323 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10325         signbit: port back to pre-C++11 GCC
10326         * lib/math.in.h (signbit): Do previous change only if
10327         __cplusplus < 201103.  See Jonathan Wakely in:
10328         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
10330 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
10332         mountlist: recognize autofs-mounted remote file systems, too
10333         Originally reported at: https://bugzilla.redhat.com/1309247
10334         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
10335         "-hosts" because it is used by autofs to mount remote file systems.
10337 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
10339         signbit: port to C++ with GCC 6
10340         * lib/math.in.h (signbit) [__cplusplus]:
10341         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
10342         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
10344         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
10346         regex: make it closer to libc
10347         Make Idx a signed type, rather than possibly unsigned.
10348         The unsignedness was not really buying us anything, since the code
10349         overflows for other reasons before getting to PTRDIFF_MAX.  Making
10350         it signed allows us to use -1 and -2 with abandon, like libc does,
10351         thus lessening the number of differences between gnulib and libc.
10352         Also, it should help avoid gratuitous warnings like the one
10353         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
10354         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
10357         regex: merge patches from libc
10359         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
10360         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
10361         Convert miscellaneous function definitions to prototype style.
10362         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
10363         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
10364         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
10365         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
10366         (re_search_internal):
10367         Convert to prototype-style function definition.
10368         Use internal_function for internal functions.
10370 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
10372         stdalign: port to older HP and IBM cc
10373         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
10374         C compilers, by checking their version numbers.  These version
10375         numbers appear in MariaDB and in Qt code that dates way back and
10376         that conditiionally uses the 'aligned' attribute.
10378 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
10380         stdalign: port to clang 3.7.0
10381         Problem reported by Herbert J. Skuhra in:
10382         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
10383         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
10384         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
10385         https://llvm.org/bugs/show_bug.cgi?id=26547
10387 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
10389         readdir_r: now obsolescent
10390         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
10391         * lib/mountlist.c (read_file_system_list): Add a FIXME.
10393 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
10395         misc: port better to gcc -fsanitize=address
10396         Without these patches, ./configure CFLAGS='-fsanitize=address'
10397         would compute incorrect values.  This patch fixes some (but not all)
10398         test failures with recent glibc, with this configuration.
10399         * m4/acl.m4 (gl_ACL_GET_FILE):
10400         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
10401         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
10402         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
10403         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
10404         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
10405         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
10406         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
10407         * m4/getline.m4 (gl_FUNC_GETLINE):
10408         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
10409         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
10410         * m4/regex.m4 (gl_REGEX):
10411         * m4/strndup.m4 (gl_FUNC_STRNDUP):
10412         * tests/test-calloc-gnu.c (main):
10413         * tests/test-duplocale.c (main):
10414         * tests/test-getgroups.c (main):
10415         * tests/test-getline.c (main):
10416         * tests/test-inttostr.c (main):
10417         * tests/test-localename.c (test_locale_name)
10418         (test_locale_name_thread, test_locale_name_environ)
10419         (test_locale_name_default):
10420         * tests/test-regex.c (main):
10421         * tests/test-setlocale1.c (main):
10422         * tests/test-stat.h (test_stat_func):
10423         Free heap-allocated storage before exiting.
10424         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
10425         Don't match *_foo symbols inserted by AddressSanitizer.
10426         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
10428 2016-02-02  Jim Meyering  <meyering@fb.com>
10430         verify-tests: also remove stray test-verify.Tpo
10431         * modules/verify-tests (Makefile.am): Arrange for "make clean"
10432         to remove the test-verify.Tpo file that is left behind by
10433         the automake-generated rule upon compilation failure.
10434         Otherwise, that .Tpo file would cause a failed "make distcheck"
10435         at least for grep.
10437 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
10439         std-gnu11: new module
10440         This makes it easier for applications to prefer C11 and C++11
10441         to older variants, when compiling C and C++ code.
10442         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
10443         a nontrivial chunk of GPLed Autoconf source code.
10444         * COPYING: Mention the m4/*.m4 copyright situation.
10445         * MODULES.html.sh (std-gnu11): New module.
10446         * m4/std-gnu11.m4, modules/std-gnu11: New files.
10448 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
10450         get-permissions, strftime: fix grammar in comments
10451         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
10452         some grammar fixes Alan Mackenzie made to GNU Emacs.
10454 2016-01-25  Daiki Ueno  <ueno@gnu.org>
10456         gettext: mark as obsolete
10457         Suggested by Paul Eggert in:
10458         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
10459         * modules/gettext (Status): Mark as obsolete.
10460         (Notice): Suggest to use 'gettext-h' instead.
10461         * modules/gettext-h (Description): Suggest GNU gettext, instead of
10462         the 'gettext' module.
10464 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
10466         gnulib-tool: don't give up on ln -s so easily
10467         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
10468         because an earlier one failed.  The targets could be on different
10469         file systems.  Problem reported by KO Myung-Hun in:
10470         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
10472         closedir: fix OS/2-related typos
10473         Problem reported by KO Myung-Hun in:
10474         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
10475         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
10476         in the last couple of changes.
10478 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
10480         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
10481         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
10482         copying a directory.
10484 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
10486         regex: treat [x] as x if x is a unibyte encoding error
10487         Problem reported by Aharon Robbins in:
10488         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
10489         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
10490         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
10492         closedir, dirfd, opendir: port to OpenSolaris 5.10
10493         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
10494         * m4/dirfd.m4 (gl_FUNC_DIRFD):
10495         * m4/opendir.m4 (gl_FUNC_OPENDIR):
10496         Don't use ${word##pat} substitution, as it doesn't work in
10497         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
10498         http://bugs.gnu.org/22443#11
10500 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10502         bootstrap: use American spelling
10503         * build-aux/bootstrap: Honor American spelling.
10505 2016-01-22  Karl Berry  <karl@freefriends.org>
10507         * doc/posix-functions/localtime.texi,
10508         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
10510 2016-01-21  Bruno Haible  <bruno@clisp.org>
10512         hash-pjw-bare: fix comment
10513         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
10515         wcwidth: Replace also on OpenBSD 5.8
10516         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
10517         * doc/posix-functions/wcwidth.texi: Update.
10519 2016-01-20  Pádraig Brady  <P@draigBrady.com>
10521         gnu-web-doc-update: fix addition of new files
10522         If there were already added (emnpty) dirs,
10523         then cvs aborts the add with the message:
10524           cvs [add aborted]: there is a version in <./dirname> already
10525         * build-aux/gnu-web-doc-update: Add directories separately
10526         to the addition of files, to avoid the above issue
10527         impacting the addition of files.
10529 2016-01-19  Daiki Ueno  <ueno@gnu.org>
10531         utimens-tests: avoid pulling gettext .m4 files
10532         Although this is not the right fix to the original problem:
10533         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
10534         it makes it possible again for consumer projects to use arbitrary
10535         version of gettext, through the steps described at:
10536         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
10537         See here for details:
10538         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
10539         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
10540         'gettext'.
10541         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
10542         'gettext'.
10544 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10546         regex: pacify static checkers
10547         Problem and draft fix reported by Aharon Robbins in:
10548         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
10549         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
10550         Clear memory to pacify static checkers.
10552         regex: fix [ diagnostic
10553         Problem and fix reported by Aharon Robbins in:
10554         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
10555         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
10557         regex: fix memory leaks
10558         Problem and draft fix reported by Aharon Robbins in:
10559         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
10560         * lib/regcomp.c (build_range_exp, build_charclass_op)
10561         * lib/regex_internal.c (re_dfa_add_node):
10562         Fix memory leak on failure.
10564 2016-01-18  Pádraig Brady  <P@draigBrady.com>
10566         fts: don't unconditionally use leaf optimization for NFS
10567         NFS st_nlink are not accurate on all implementations,
10568         leading to aborts() if that assumption is made.
10569         See <https://bugzilla.redhat.com/1299169>
10570         * lib/fts.c (leaf_optimization_applies): Remove NFS from
10571         the white list, and document the issue.
10573 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
10574             KO Myung-Hun  <komh@chollian.net>
10576         gnulib-tool: don't assume ln -s works
10577         * gnulib-tool (func_ln_s): New function.
10578         (func_ln): Use it.
10580 2016-01-15  KO Myung-Hun  <komh@chollian.net>
10582         utimes: detect utimes() correctly on OS/2 kLIBC
10583         utimes() of OS/2 kLIBC has some limitations.
10584         1. OS/2 itself supports a file date since 1980 year in local time.
10585         2. OS/2 itself supports only even seconds for a file time.
10586         3. utimes() of OS/2 kLIBC does not work on an opened file.
10587         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
10588         * doc/posix-functions/utimes.texi: Document the above limitations of
10589         utimes() on OS/2 kLIBC.
10591 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
10592             KO Myung-Hun  <komh@chollian.net>
10594         openat_proc_name: port to OS/2 kLIBC
10595         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
10596         instead of /proc/self/fd.
10597         * lib/openat-proc.c (openat_proc_name):
10598         Don't assume file name length is less than INT_MAX.
10599         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
10601 2016-01-14  KO Myung-Hun  <komh@chollian.net>
10603         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
10604         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
10605         definitions of intptr_t and uintptr_t (which use int and unsigned)
10606         to avoid clashes with declarations of system functions like sbrk.
10607         * lib/stdint.in.h (intptr_t, uintptr_t): Check
10608         _INTPTR_T_DECLARED before defining them.
10610         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
10611         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
10612         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
10613         Declare on kLIBC.
10614         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
10615         fd associated with dirp.
10616         (_gl_register_dirp_fd): New. Register fd associated with dirp to
10617         dirp_fd_list.
10618         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
10619         (dirfd): Implemented for kLIBC.
10620         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
10621         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
10622         succeeds.
10623         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
10624         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10625         (REPLACE_DIRFD): Define to 1 if replaced.
10626         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
10627         * modules/closedir (Depends-on): Add dirfd.
10628         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
10629         condition.
10630         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
10631         * modules/opendir (Depends-on): Add dirfd.
10633         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
10634         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
10635         * lib/dup.c (dup_nothrow): New.
10636         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
10637         (klibc_dup2): New.
10638         * lib/fcntl.c (klibc_fcntl): New.
10639         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
10640         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
10641         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
10642         fd.
10644         pipe_filter_ii_execute: port to OS/2 kLIBC
10645         Pipes on kLIBC do not support O_NONBLOCK like Win32.
10646         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
10647         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
10648         Reuse Win32 code on OS/2 kLIBC.
10649         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
10650         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
10652         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
10653         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
10654         static inline function.  The implementation of wcwidth in wcwidth.c
10655         causes a "conflicting types" error.
10656         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
10658         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
10659         spawn() on OS/2 kLIBC is not silly like one on Windows
10660         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
10661         empty string on OS/2 kLIBC.
10663         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
10664         On OS/2 kLIBC, select() works only on sockets.
10665         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
10667         binary-io: don't put fd in binary mode if it is a console on EMX
10668         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
10669         a console on EMX.
10671 2016-01-15  Pádraig Brady  <P@draigBrady.com>
10673         doc: mention unfixed issues with unsupported localtime() values
10674         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
10675         returns nonsense for localtime(2^56).
10676         * doc/posix-functions/localtime_r.texi: Likewise.
10678 2016-01-14  Pádraig Brady  <P@draigBrady.com>
10680         doc: mention setlocale() issues on OpenBSD
10681         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
10682         never fails, and the need to check categories individually.
10684 2016-01-14  Pádraig Brady  <P@draigBrady.com>
10686         sig2str: list all signals on FreeBSD >= 7
10687         FreeBSD >= 7 is contravening POSIX by not defining NSIG
10688         to the maximal statically defined signal value.
10689         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
10690         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
10691         where available, even when NSIG is defined.
10693 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
10695         acl-permissions: port to USE_ACL==0 platforms
10696         I ran into this problem when building bleeding-edge GNU Emacs
10697         with gcc -fsanitize=address on Fedora 23.  On this platform
10698         the ACL library does not pass the 'configure' test and Emacs
10699         then does not build due in part to what appear to be typos in the
10700         ACL part of Gnulib.
10701         * lib/acl-internal.c (free_permission_context):
10702         * lib/acl-internal.h (struct permission_context):
10703         Test whether USE_ACL is nonzero, not whether it is defined.
10705 2016-01-12  Martin Sebor  <msebor@redhat.com>
10707         mktime: rename macro to avoid glibc clash
10708         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
10709         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
10711 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
10713         Port "$@" to OpenIndiana ksh93
10714         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
10715         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
10716         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
10717         bug long-dead shells, so remove the workaround.
10718         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
10719         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
10720         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
10721         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
10722         Use "$@" instead of ${1+"$@"}.
10724         Port Universal Time settings to strict POSIX
10725         * build-aux/announce-gen, build-aux/bootstrap:
10726         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
10727         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
10728         * build-aux/gnupload, build-aux/mkinstalldirs:
10729         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
10730         * build-aux/update-copyright, build-aux/useless-if-before-free:
10731         * build-aux/vc-list-files, tests/test-strftime.c:
10732         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
10733         but POSIX says the behavior of TZ="UTC" is undefined.
10735 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
10737         msvc-inval: fix problem with unset shell var
10738         Problem reported by Karl Berry in:
10739         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
10740         * modules/msvc-inval (Depends-on):
10741         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
10742         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
10744 2016-01-01  Pádraig Brady  <P@draigBrady.com>
10746         tests: for compare_(), use cmp -s where available
10747         * tests/init.sh (compare_): Only fall back to cmp without
10748         the POSIX defined -s option, where this is not available.
10750 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
10752         version-etc: new year
10753         * build-aux/gendocs.sh (version):
10754         * doc/gendocs_template:
10755         * doc/gendocs_template_min:
10756         * doc/gnulib.texi:
10757         * lib/version-etc.c (COPYRIGHT_YEAR):
10758         Update copyright dates by hand in templates and the like.
10759         * all files: Run 'make update-copyright'.
10761 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
10763         human: fix output buffer overrun by 1
10764         * lib/human.c (human_readable): Fix off-by-one typo in buffer
10765         calculation that could lead to a one-byte buffer overrun.
10767 2015-12-28  Daiki Ueno  <ueno@gnu.org>
10769         maint: fix operator precedence in mbrtowc test
10770         This is a fix for test breakage introduced by commit 45228d96; the
10771         equality expression must be parenthesized when negated with '!',
10772         otherwise we always get:
10774           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
10776         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
10777         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
10779 2015-12-23  James Youngman  <jay@gnu.org>
10781         regexprops-generic: update from regex.h
10782         * doc/regexprops-generic.texi: update by running the regexprops binary
10783         from findutils (the command line is 'regexprops "Regular Expressions"
10784         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
10785         gnulib with GNU grep had made this document out-of-date.
10787 2015-12-23  Pádraig Brady  <P@draigBrady.com>
10789         strftime-tests: avoid false failure on OS X
10790         * tests/test-strftime.c (struct localtime_rz_test): Add an
10791         ahistorical member which is used to warn rather than fail
10792         when tm_isdst isn't set for such entries.  This is the case for
10793         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
10795 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
10797         fts: ensure leaf optimization is used for NFS
10798         NFS provides usable dirent.d_type but not necessarily for all entries
10799         of large directories.  See <https://bugzilla.redhat.com/1252549>
10800         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
10802 2015-12-20  Pádraig Brady  <P@draigBrady.com>
10804         fts: enable leaf optimization for XFS
10805         XFS provides usable dirent.d_type only for DT_DIR,
10806         but the noleaf optimization still applies.
10807         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
10809 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10811         intprops: comment fix
10812         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
10813         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
10815         intprops-test: work around GCC bug 68971
10816         Problem reported by Pádraig Brady in:
10817         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
10818         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
10819         (main): Add a case that better tests 64-bit long in this area.
10821 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
10823         gnulib-tool: allow multiple --local-dir usage
10824         * gnulib-tool: Use --local-dir to construct compound
10825         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
10826         PATH_SEPARATOR early.
10827         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
10828         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
10829         func_determine_path_separator because that needs to be detected
10830         earlier now.
10831         (func_determine_path_separator): New function.
10832         (func_path_foreach, func_path_foreach_inner): New functions.
10833         (func_path_prepend, func_path_append): Likewise.
10834         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
10835         (func_lookup_file, func_all_modules): Use new functions to work
10836         with local_gnulib_path.
10837         (func_modules_in_dir, func_exists_module): New callbacks for
10838         func_path_foreach.
10839         (func_exists_module, func_get_tests_module): Likewise.
10840         (func_is_local_file, func_should_symlink): New helper methods.
10841         (func_add_file, func_update_file): Use new func_should_symlink
10842         instead, DRY.
10843         (func_reconstruct_cached_local_gnulib_path): New helper.
10844         (func_reconstruct_cached_dir): New callback.
10845         (func_import): The cached_local_gnulib_dir renamed to
10846         cached_local_gnulib_path similarly to local_gnulib_dir.
10847         Use new func_reconstruct_cached_local_gnulib_path.
10848         (func_count_relative_local_gnulib_path): New sub-method.
10849         (func_create_testdir): Use func_should_symlink, DRY.
10850         (func_create_megatestdir): Use new functions to work with
10851         local_gnulib_path correctly.
10852         (func_append_local_dir): New helper.
10854 2015-12-08  Pádraig Brady  <P@draigBrady.com>
10856         fix freadptr to work with ungetc on all uClibc configs
10857         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
10858         where GNU coreutils cut(1) generates invalid output on uClibc
10859         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
10860         * lib/freadptr.c (freadptr): Return NULL if there are
10861         ungotten chars.  In this case freadseek() will iterate
10862         again to process the ungotten character.
10864 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
10866         xalloc-oversized: improve performance with GCC 5
10867         * lib/xalloc-oversized.h (xalloc_oversized):
10868         Improve performance with GCC 5 by using __builtin_mul_overflow.
10870 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10872         intprops: new public macro EXPR_SIGNED
10873         Emacs can use this macro, so make it public.
10874         * doc/intprops.texi (Arithmetic Type Properties): Rename from
10875         'Integer Type Determination', since some of these macros apply
10876         to non-integer types.  Clarify what kinds of constant expressions
10877         these macros return.  Say when the arguments can be non-integers.
10878         Mention newly published macro EXPR_SIGNED.
10879         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
10880         make it public.  All uses changed.
10882         intprops: fix typo in clang port
10883         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
10884         '__builtin_add_overflow' that is not caught by compiler.
10886 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
10888         test-timespec: fix typo in previous change
10889         * tests/test-timespec.c (main): Fix typo that reduced test quality.
10891         timespec-sub: fix overflow bug; add tests
10892         * lib/timespec-add.c (timespec_add):
10893         * lib/timespec-sub.c (timespec_sub):
10894         Work even if time_t is narrower than int (a theoretical
10895         possibility).  Redo code for a bit more clarity.
10896         * lib/timespec-sub.c (timespec_sub):
10897         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
10898         * modules/timespec-tests, tests/test-timespec.c: New files.
10900         intprops-test: suppress -Woverlength-strings
10901         Problem reported by Pádraig Brady in:
10902         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
10903         It is not worth the hassle to port this test to compilers that
10904         cannot handle long strings in diagnostics.
10905         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
10907 2015-11-03  Pádraig Brady  <P@draigBrady.com>
10909         quotearg: add quotearg_n_style_colon()
10910         This quotes with default options of the specified style,
10911         but with quoting enabled for instances of ':'.
10912         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
10913         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
10915 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10917         intprops: revise _WRAPV macros, revert _OVERFLOW
10918         The incompatible changes to the _OVERFLOW macros were too much of
10919         a hassle in practice, so revert them.  Instead, change the new
10920         _WRAPV macros to make them closer in behavior to GCC 5's new
10921         builtin_add_overflow etc. functions.  No other software was using
10922         these newly-added macros yet, so this should be OK.
10923         * NEWS: Revert previous change, since the incompatible change
10924         has been reverted, and nobody used the incompatible version.
10925         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
10926         Document revised behavior.
10927         (Integer Range Overflow): Adjust example to match above revisions.
10928         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
10929         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
10930         these can be used in integer constant expressions again.
10931         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
10932         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
10933         needed.
10934         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
10935         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
10936         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
10937         Remove, as they did not seem that useful.
10938         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
10939         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
10940         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
10941         Support new semantics.
10942         (__has_builtin): New macro, if not alreay defined.
10943         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
10944         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
10945         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
10946         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
10947         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
10948         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
10949         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
10950         New macros.
10951         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
10953 2015-11-03  Jim Meyering  <meyering@fb.com>
10955         intprops: add parentheses for when OP has precedence lower than "-"
10956         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
10957         "a OP b" must be parenthesized for when OP is like "<<", which has
10958         lower precedence than the following "-". Reported by Pádraig Brady.
10960 2015-11-03  Pádraig Brady  <P@draigBrady.com>
10962         quotearg: constify get_quoting_style parameters
10963         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
10964         * lib/quotearg.c (get_quoting_style): Likewise.
10966 2015-11-02  Pádraig Brady  <P@draigBrady.com>
10968         quotearg: add support for $'' shell escaping
10969         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
10970         items and descriptions.
10971         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
10972         above types by quoting like "shell", but using $'...' syntax
10973         for non printable characters, which should provide unambiguous
10974         printable output for any input.
10975         * tests/test-quotearg-simple.c: Update accordingly.
10977 2015-11-02  Pádraig Brady  <P@draigBrady.com>
10979         maint: use a more standard return from mbrtowc test
10980         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
10981         from the test program as this is non standard and often
10982         indicates an unhandled case in the test program.
10983         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
10985 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
10987         intprops: add WRAPV and const flavors for GCC 5
10988         If available, use GCC 5's builtin functions for efficient integer
10989         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
10990         and safely compute the low-order bits of the correct answer.
10991         A downside of these efficient functions is that they cannot be
10992         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
10993         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
10994         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
10995         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
10996         Document the changes.
10997         (Wraparound Arithmetic): New section.
10998         (Integer Range Overflow):
10999         Put this subsection last, since it's least useful.
11000         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
11001         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
11002         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
11003         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
11004         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
11005         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
11006         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
11007         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
11008         New macros.
11009         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
11010         Generate calls to GCC builtins if available, for speed.
11011         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
11012         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
11013         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
11014         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
11015         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
11016         (CHECK_QUOTIENT, CHECK_REMAINDER):
11017         Test WRAPV and CONST flavors (when available) too.
11019 2015-10-30  Pádraig Brady  <P@draigBrady.com>
11021         doc: use extended timezone format in iso-8601 example
11022         * doc/parse-datetime.texi: The standard states that extended format
11023         is to be used consistently throughout.
11024         Note that lib/parse-datetime.y can handle either tz format.
11026 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
11028         stdalign: port to Sun C 5.9
11029         * doc/posix-headers/stdalign.texi: Document this.
11030         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
11031         __attribute__ ((__aligned__ (...))).
11033 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
11035         time_rz: fix comment about tzalloc
11036         * lib/time_rz.c (tzalloc): Fix comment.
11038 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
11040         stdalign: work around pre-4.9 GCC x86 bug
11041         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
11042         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
11043         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
11045 2015-10-18  Pádraig Brady  <P@draigBrady.com>
11047         maint.mk: sc_tight_scope: remove extraneous expressions
11048         * top/maint.mk (tight_scope): This is not really required since
11049         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
11050         that matches all nm entries.  But it does remove extraneous entries
11051         that may be confusing or cause issue in future maintenance.
11053 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
11055         time_rz: return NULL if localtime_r fails
11056         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
11057         while still attempting to pacify bleeding-edge GCC.
11059         fts: port to C11 alignof
11060         * doc/posix-headers/stdalign.texi (stdalign.h):
11061         Document the C11 restriction.
11062         * lib/fts.c: Include stddef.h, for max_align_t.
11063         (fts_alloc): Align using max_align_t, not FTSENT.
11064         * modules/fts (Depends-on): Add stddef.
11066 2015-10-18  Jim Meyering  <meyering@fb.com>
11068         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
11069         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
11070         would see this:
11072         lib/time_rz.c: In function 'localtime_rz':
11073         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
11074           [-Werror=nonnull]
11075                    if (tm && !save_abbr (tz, tm))
11076                        ^
11078         That was complaining about "tm" because it is a parameter that was
11079         declared with the __nonnull__ attribute.
11080         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
11081         result of localtime_r.
11083 2015-10-17  Jim Meyering  <meyering@fb.com>
11085         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
11086         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
11087         name-extraction regexp mistakenly used \S+, and would mistakenly
11088         extract "*F" from "extern int *F()" rather than the desired "F".
11089         Use \w+ instead.
11091 2015-10-17  Jim Meyering  <meyering@fb.com>
11093         maint.mk: sc_tight_scope: factor and support OS X
11094         * top/maint.mk (_gl_tight_scope): Address three issues:
11095         - factor out four instances of code that wraps a string in "^...$"
11096         - allow nm-reported symbol names to have an optional leading "_"
11097         - add "main" to the list of ignored variable names, because on os x,
11098         "main" has nm-reported type "S" in the variable-checking section.
11100 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
11102         safe-alloc-tests: fix typo in license header
11103         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
11105 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
11107         copy-file: fix mem leak in error case
11108         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
11109         upon error opening or performing I/O to the src and dest files.
11111 2015-10-15  Mike Frysinger  <vapier@chromium.org>
11113         localename: control langinfo.h inclusion
11114         This header is only used to work around buggy behavior in old
11115         versions of glibc, so do not include it all the time.  Otherwise
11116         we get build failures on systems that do not provide langinfo.h.
11117         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
11118         in the source later on.
11119         The patch was originally submitted to gettext as:
11120         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
11122 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11124         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
11125         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
11126         * lib/u64.c, lib/unistd.c:
11127         Append 'typedef int dummy;', to pacify compilers that are picky
11128         about empty translation units.
11130 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
11132         accept4-tests: fix to avoid non portable flags
11133         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
11134         as they are the only documented ones, and passing others may trigger
11135         EINVAL (seen on FreeBSD 10.1-RELEASE).
11136         * doc/glibc-functions/accept4.texi: Mention that we don't provide
11137         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
11139 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
11141         gnulib-tool: fix tests of 'extensions' module
11142         This complements f8fe25fab60e3c687a124 commit.
11143         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
11144         emitting of initial gl_EARLY macros.
11145         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
11146         replaced with func_emit_pre_early_macros call.
11148 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
11150         unicase/locale-language: fix typo in utf-8 cookie
11151         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
11152         Problem reported by Zbigniew Jędrzejewski-Szmek.
11154 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11156         xalloc: do not worry about GCC 5 warning on 32 bit
11157         * lib/xalloc.h: Revert previous change.
11158         I found a better way to fix this in coreutils.
11160 2015-10-02  Pádraig Brady  <P@draigBrady.com>
11162         xalloc: avoid GCC 5.1 warning on 32 bit
11163         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
11164         xalloc_oversized(), which was seen to give this warning
11165         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
11166         when simplifying conditional".
11168 2015-10-02  Daiki Ueno  <ueno@gnu.org>
11170         uniname/uniname-tests: avoid compiler warnings
11171         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
11172         unused local variables.
11173         (test_alias_lookup): Fix alias name display in failure cases.
11175 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11177         c-ctype: do not worry about EBCDIC + char signed
11178         Drop support for EBCDIC with char being signed, as this breaks too
11179         many programs.  Problem reported by Ben Pfaff in:
11180         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
11181         * lib/c-ctype.h: Verify that we are not using EBCDIC with
11182         char being signed.
11183         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
11184         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
11185         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
11186         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
11187         * tests/test-c-ctype.c (test_all):
11188         Simplify by assuming standard char values cannot be negative.
11189         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
11191 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
11193         c-ctype: port better to z/OS EBCDIC
11194         Problems reported by Daniel Richard G. in:
11195         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
11196         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
11197         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
11198         (_C_CTYPE_OTHER_CNTRL): New macro.
11199         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
11200         from SCHAR_MIN, as the functions are defined only from values
11201         promoted from char or from unsigned char, not necessarily from
11202         signed char.
11204 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
11206         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
11208         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
11209         and ARFLAGS variables.  Doing this unconditionally could break
11210         later Automake's AM_PROG_AR invocation (at least it's
11211         AC_CHECK_TOOLS call to detect correct 'ar' binary).
11213         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
11214         Amsterdam Compiler Kit, so make the previous code to have effects
11215         only on ACK, and rather automatically call the Automake's
11216         AM_PROG_AR as soon as possible to decide other cases.
11218         References:
11219         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
11221         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
11222         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
11223         is possible, keep setting AR/ARFLAGS to reasonable defaults.
11224         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
11225         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
11226         'extensions' module is used.
11227         * modules/extensions (configure.ac-early): Remove as this snippet
11228         is added to gnulib-comp.m4 earlier anyway.
11230 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
11232         sockets: MS Windows initalization fixes
11233         Problem reported by Test User in:
11234         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
11235         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
11236         Correct the endianness.
11237         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
11238         number mismatch, not just on <.  Cleanup before any such failure.
11240 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
11242         gc: fix detection of installed libgcrypt version
11243         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
11244         at least as recent as 1.4.4.  The previously used macro is not
11245         available now, since modules were removed in version 1.6.0.
11247 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
11249         c-ctype: rewrite to use inline functions
11250         This simplifies maintenance, since it makes for just one
11251         implementation of each function, letting the compiler have the fun
11252         of optimization.  In practice this works well nowadays with GCC.
11253         E.g., c_isascii might need only three instructions even though the
11254         source code lists every ASCII character individually in a large
11255         switch statement.
11256         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
11257         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
11258         * NEWS: Document the API change.
11259         * lib/c-ctype.c: Drastically simplify, since this now just expands
11260         inline functions.
11261         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
11262         (C_CTYPE_INLINE): New macro.
11263         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
11264         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
11265         Verify that either ASCII or EBCDIC is being used.
11266         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
11267         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
11268         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
11269         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
11270         New private macros.
11271         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
11272         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
11273         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
11274         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
11275         (c_tolower, c_toupper): When converting, return the unsigned char,
11276         as that is what z/OS does.
11277         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
11278         of some c-ctype.h macros.
11279         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
11280         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
11281         c_tolower promotion to be compatible with z/OS.
11283 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
11285         gitlog-to-changelog: trim only trailing whitespaces
11286         This is fix for --format regression introduced by commit
11287         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
11288         doubled %n string) had no effect anymore.  This format
11289         specification has been used e.g. by GNU paxuitils (commit
11290         edfd8bcc3).
11292         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
11293         newlines in commmit messages.
11295 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11297         Test that c_iscntrl agrees with iscntrl, etc.
11298         Suggested by Daniel Richard G. in:
11299         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
11300         * modules/c-ctype-tests (Depends-on): Add ctype.
11301         * tests/test-c-ctype.c: Include <ctype.h>.
11302         (NCHARS): New constant.
11303         (test_agree_with_C_locale): New function.
11304         (main): Use it.
11305         (test_all): Use named constants.
11307         c-ctype: improve c_isascii testing
11308         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
11309         Add a test to count the number of ASCII characters.
11311 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11313         savewd: remove SAVEWD_CHDIR_READABLE
11314         It was problematic in the light of file systems that ignore umask.
11315         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
11316         * NEWS: Document this.
11317         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
11318         successful, -1 (setting errno) on failure, rather than something
11319         more complicated than that.
11320         * lib/mkdir-p.c (make_dir_parents):
11321         Do not use SAVEWD_CHDIR_READABLE.
11322         * lib/savewd.c (savewd_chdir):
11323         Remove support for SAVEWD_CHDIR_READABLE.
11324         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
11326         c-ctype: port better to EBCDIC
11327         Problems reported by Daniel Richard G. in
11328         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
11329         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
11330         Include "verify.h".
11331         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
11332         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
11333         Define as enum constants with value false, if not defined, so that
11334         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
11335         code more portable, as both branches of the 'if' are compiled on
11336         all platforms.
11337         (C_CTYPE_EBCDIC): New constant.
11338         Verify that the character set is either ASCII or EBCDIC.
11339         (to_char): New static function.
11340         (c_isascii, c_iscntrl):
11341         Assume standard control-character assignments for EBCDIC.
11342         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
11343         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
11344         Rewrite to use 'if' instead of 'ifdef'.
11345         Use to_char if non-ASCII.  Prefer <= to >=.
11346         Prefer true and false to 1 and 0, for booleans.
11347         (c_iscntrl): Use 'if', not 'ifdef'.
11348         * modules/c-ctype (Depends-on): Add verify.
11349         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
11350         (to_char): New function.
11351         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
11353 2015-09-21  Pádraig Brady  <P@draigBrady.com>
11355         nanosleep: fix return code for interrupted replacement
11356         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
11357         that we return -1 in the case the call is interrupted by a signal,
11358         rather than the current value of 1.
11359         Diagnosed and tested by Daniel Richard G.
11361 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
11363         Diagnose ERE '()|\1'
11364         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
11365         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
11366         track of the set of previously-completed subexpressions available
11367         before the first alternative, and restore this set just before
11368         parsing each subsequent alternative.  This lets us diagnose the
11369         invalid back-reference in the ERE '()|\1'.
11371         regex: merge patches from libc
11373         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
11374         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
11375         * lib/regex_internal.h:
11376         Include <libc-lock.h> instead of <bits/libc-lock.h>.
11378         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
11379         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
11380         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
11381         wcscoll.
11382         * lib/regexec.c (check_node_accept_bytes): Likewise.
11384         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
11385         Fix regex wcrtomb namespace (bug 18496).
11386         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
11387         instead of wcrtomb.
11389         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
11390         Fix regex wctype namespace (bug 18495).
11391         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
11392         instead of towlower.
11393         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
11394         instead of iswlower.  Call __towupper instead of towupper.
11395         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
11396         instead of iswalnum.
11398         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
11399         * lib/regcomp.c (parse_bracket_exp): Initialize type to
11400         COLL_SYM in a couple of places to avoid uninitialized variable
11401         wanings on tilegx gcc 4.8.2.
11403         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
11404         * lib/regex_internal.h: Remove NOT_IN_libc.
11406         2014-11-17  Andreas Schwab  <schwab@suse.de>
11407         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
11409         2014-09-11  Roland McGrath  <roland@hack.frob.com>
11410         Move findidx nested functions to top-level.
11411         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
11412         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
11413         Pass new arguments to findidx.
11414         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
11415         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
11416         Don't #include it inside the function.  Pass new arguments to findidx.
11417         * lib/regex_internal.h:
11418         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
11419         (re_string_elem_size_at): Don't #include it inside the function.
11420         Pass new arguments to findidx.
11422         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
11423         Check if DEBUG is defined in regex_internal.c
11424         * lib/regex_internal.c: Check if DEBUG is defined and is set.
11426 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
11428         ceill: detect buggy OpenBSD implementation
11429         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
11430         which returns zero for small values.  Discussed here:
11431         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
11433 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
11435         mountlist: add me_mntroot field on Linux machines
11436         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
11437         mount_entry so Linux machines based on /proc/self/mountinfo can
11438         distinguish between bind mounts and original mounts.  In reality bind
11439         mounts aren't treated differently than mountroot=/ mounts by the
11440         kernel, but the user often wants these bind mounts distinguished.
11441         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
11442         More details at https://pad.lv/1432871
11444 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
11446         doc: Describe to use multiple instances of gnulib
11447         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
11448         instances of gnulib with different modules can be used, for example one
11449         for a lib and another one for associated tools.
11451 2015-09-01  Pádraig Brady  <P@draigBrady.com>
11453         base32: mark function as __attribute__ const
11454         * lib/base32.h (isbase32): Mark __attribute__ const as
11455         suggested by GCC, and consistent with the base64 module.
11457 2015-08-20  Daiki Ueno  <ueno@gnu.org>
11459         gnulib-tool: don't transform binary files with sed
11460         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
11461         .mo and .class files.
11462         Reported by Denis Denisov.
11464 2015-08-10  Daiki Ueno  <ueno@gnu.org>
11466         gperf: respect silent rules
11467         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
11468         V_GPERF_0 for silent rules.
11469         * modules/iconv_open (Makefile.am): Use V_GPERF.
11470         * modules/unicase/locale-language (Makefile.am): Likewise.
11471         * modules/unicase/special-casing (Makefile.am): Likewise.
11472         * modules/unictype/category-byname (Makefile.am): Likewise.
11473         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
11474         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
11475         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
11476         * modules/unictype/property-byname (Makefile.am): Likewise.
11477         * modules/unictype/scripts (Makefile.am): Likewise.
11478         * modules/uninorm/composition (Makefile.am): Likewise.
11480 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
11482         Improve port of stdalign to C++11
11483         Problem reported by Sundaram in:
11484         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
11485         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
11486         (__alignas_is_defined): Define if C++11 or newer.
11488 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
11490         pmccabe2html: fix gawk regex escaping
11491         * build-aux/pmccabe2html: Add one more backslash to properly
11492         escape the gsub replacement value.  Fixes this error:
11493         gawk: ./build-aux/pmccabe2html:425: \
11494         warning: escape sequence `\&' treated as plain `&'
11496 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
11498         time_rz: port to pedantic memcpy
11499         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
11500         that reject memcpy (..., NULL, 0).
11502 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
11504         time_rz: port better to MinGW
11505         Don't change tzname, as this makes MinGW dump core (Bug#21020).
11506         Instead, store the tzname copy in the struct tm_zone object.
11507         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
11508         * lib/strftime.c [!_LIBC]:
11509         * lib/time_rz.c: Include time-internal.h.
11510         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
11511         name from *TZ rather than from TZNAME, doable because *TZ now has
11512         a tzname_copy member.
11513         * lib/time-internal.h: New file, with contents taken from
11514         lib/time_rz.c.  It's separate because strftime.c now accesses
11515         struct tm_zone members.
11516         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
11517         New member tzname_copy.
11518         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
11519         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
11520         Initialize tzname_copy member.
11521         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
11522         in tzname_copy member.
11523         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
11524         (restore_tzname): Remove; no longer needed.  All calls removed.
11525         * modules/time_rz (Files): Add lib/time-internal.h.
11527         time: port __need_time_t to MinGW
11528         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
11529         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
11531 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11533         strftime: fix newly-introduced bug on Solaris
11534         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
11535         consistently at the start, rather than doing some of the setup at
11536         the start and some in the %Z format spec.  This is cleaner, and
11537         works better with time_rz on platforms like Solaris where struct
11538         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
11539         mktime_z and localtime_rz can mess up the tzname cache.
11541         test-strftime: test for Solaris bug
11542         * modules/strftime-tests (Depends-on): Add strerror.
11543         * tests/test-strftime.c: Include <errno.h>.
11544         (posixtm_test): New function, containing the old 'main'.
11545         (struct tzalloc_test, struct localtime_rz_test): New types.
11546         (TZ, LT): New static vars.
11547         (tzalloc_test): New function.
11548         (main): Rewrite in terms of posixtm_test and tzalloc_test.
11550         time_rz: port to Solaris etc.
11551         Works around a tzname problem on platforms like Solaris that have
11552         tzname but not tm_zone, by setting tzname at the appropriate time
11553         and restoring it later.
11554         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
11555         New static vars.
11556         (save_abbr) [HAVE_TZNAME]: Set them.
11557         (revert_tz) [HAVE_TZNAME]: Clear or use them.
11558         (restore_tzname): New function.
11559         (localtime_rz, mktime_z): Use it.
11561         time_rz: now LGPL
11562         * modules/time_rz (License): Now LGPL, because strftime depends on it.
11564         time_rz: make a constant 'const'
11565         * lib/time_rz.c (local_tz): Now const.
11567         time_rz: fix off-by-one typo
11568         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
11570 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
11572         fprintftime, strftime: use timezone_t args
11573         * NEWS: Document the change.
11574         * lib/fprintftime.h (fprintftime):
11575         * lib/strftime.c (extra_args) [my_strftime]:
11576         * lib/strftime.h (nstrftime):
11577         Time zone arg is now of type timezone_t, not int.
11578         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
11579         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
11580         (my_strftime) [emacs && !my_strftime]:
11581         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
11582         Remove; Emacs doesn't need this any more.
11583         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
11584         fprintftime and nstrftime to call tzset.
11585         (ut) [!my_strftime]: Remove, replacing with ...
11586         (tz) [!my_stftime]: ... this new macro.  All uses changed.
11587         (strftime_case_): Use localtime_rz and mktime_z instead
11588         of localtime_r and mktime.
11589         * modules/fprintftime (Depends-on): Add time_rz.
11590         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
11591         * tests/test-strftime.c (main): Adjust to new nstrftime API.
11593         time_rz: new module
11594         * MODULES.html.sh: Add time_rz.
11595         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
11596         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
11597         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
11598         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
11599         New var HAVE_TIMEZONE_T (default 0).
11600         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
11601         New var GNULIB_TIME_RZ (default 0).
11602         * modules/time (time.h): Substitute the new vars.
11604         flexmember: license is now unlimited
11605         * modules/flexmember (License): Change to unlimited,
11606         since its only source file gives an unlimited license.
11608 2015-07-15  Eric Blake  <eblake@redhat.com>
11610         maint: update copyright paper procedures
11611         * config/srclist.txt: Drop outdated files.
11612         * doc/Copyright/conditions.txt: Update to latest.
11613         * doc/Copyright/assign.changes.manual: Delete.
11614         * doc/Copyright/assign.future.manual: Likewise.
11615         * doc/Copyright/assign.manual: Likewise.
11616         * doc/Copyright/assign.translation.manual: Likewise.
11617         * doc/Copyright/disclaim.changes.manual: Likewise.
11618         * doc/Copyright/disclaim.manual: Likewise.
11619         * doc/Copyright/disclaim.program: Likewise.
11621 2015-07-07  Daiki Ueno  <ueno@gnu.org>
11623         localename: fix link error on Illumos
11624         Illumos defines __sun, but does not have getlocalename_l nor the
11625         equivalent.  This partially reverts commit 387c214.
11626         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
11627         available, as well as uselocale.
11628         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
11629         use getlocalename_l if it is not available.
11631 2015-07-07  Daiki Ueno  <ueno@gnu.org>
11633         unistr/uN-strtok-tests: avoid a trivial leak
11634         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
11635         input and delim after the multibyte delimiter tests.
11637 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
11639         file-has-acl, acl-permissions: fix HP-UX typos
11640         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
11641         * lib/file-has-acl.c (file_has_acl):
11642         * lib/set-permissions.c (context_acl_from_mode)
11643         (context_aclv_from_mode, set_acls):
11644         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
11645         They were introduced by the recent ACL changes.
11647         regex: match current GNU grep behavior
11648         These symbols have not matched GNU grep behavior for quite some time.
11649         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
11650         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
11651         Change to match current GNU behavior.
11652         Simplify by expressing it as differences from POSIX BREs and EREs.
11653         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
11655 2015-07-03  Jim Meyering  <meyering@fb.com>
11657         set-permissions.c: adjust acl_from_mode's cpp guard
11658         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
11659         directives identical to those guarding the sole use.
11660         Otherwise, on some systems, we'd get a warning about
11661         the function being defined but not used.
11662         Also, filter through cppi to correct misleading indentation
11663         of cpp directives.
11665 2015-07-03  Pádraig Brady  <P@draigBrady.com>
11667         tests: restrict shells to those that support 'local'
11668         The local keyword is very widely supported and used
11669         in tests in coreutils and grep at least.  Therefore
11670         restrict to testing with shells that support it.
11671         This mainly excludes /bin/sh on Solaris.
11672         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
11674 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
11675         and Daiki Ueno  <ueno@gnu.org>
11677         unistr/uN-strtok: handle multibyte delimiters
11678         Previously, uN_strtok moved PTR to the next unit to the token end.
11679         When DELIM contained a multibyte character, the new position could
11680         be a middle of a multibyte character.
11681         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
11682         after the token.
11683         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
11684         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
11685         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
11686         * modules/unistr/u8-strtok (Depends-on): Depend on
11687         unistr/u8-strmblen.
11688         * modules/unistr/u16-strtok (Depends-on): Depend on
11689         unistr/u16-strmblen.
11690         * modules/unistr/u32-strtok (Depends-on): Depend on
11691         unistr/u32-strmblen.
11692         * tests/unistr/test-u-strtok.h: New file.
11693         * tests/unistr/test-u8-strtok.c: New file.
11694         * tests/unistr/test-u16-strtok.c: New file.
11695         * tests/unistr/test-u32-strtok.c: New file.
11696         * modules/unistr/u8-strtok-tests: New file.
11697         * modules/unistr/u32-strtok-tests: New file.
11698         * modules/unistr/u16-strtok-tests: New file.
11700 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
11702         update-copyright: fix test failure with perl >= 5.22 (trivial)
11703         * build-aux/update-copyright: Escape a literal left curly bracket,
11704         required with perl >= 5.22
11706 2015-07-02  Daiki Ueno  <ueno@gnu.org>
11708         u{16,32}-strstr-tests: relax timeout condition
11709         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
11710         tests can take longer than 5 seconds to complete.
11711         Reported by Dagobert Michelsen in:
11712         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
11713         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
11714         seconds to 10 seconds.
11715         * tests/unistr/test-u32-strstr.c (main): Likewise.
11717 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
11719         gnulib-common.m4: change the ARFLAGS default to 'cr'
11720         In some GNU/Linux distributions people started to compile 'ar'
11721         binary with --enable-deterministic-archives (binutils project).
11722         That, however, in combination with previous autotools long time
11723         working default AR{_,}FLAGS=cru causes warnings on such
11724         installations:
11725         ar: `u' modifier ignored since `D' is the default (see `U')
11726         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
11727         set already.
11729 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
11731         selinux-h: avoid double free after *getfilecon()
11732         Originally reported by Ben Shelton on bug-tar:
11733         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
11734         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
11735         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
11736         param should be freed by freecon(3) (regardless the return value).
11738 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
11740         fix pty related tests issues on Windows (trivial)
11741         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
11742         however it's still present in tests/ subdirectory of the final project.
11743         Therefore avoid it to pass `make check`.
11744         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
11745         will just return -ENOSYS, so avoid this non applicable test allowing
11746         the build to proceed.
11748 2015-07-01  Pádraig Brady  <P@draigBrady.com>
11750         acl: fix definition of acl_from_mode on FreeBSD
11751         This was causing basic coreutils copy operations to fail
11752         with ENOTSUP or ENOENT error messages.
11753         * lib/acl-internal.h (acl_from_mode): Only define when
11754         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
11755         of acl_from_mode() defined in lib/set-permissions.c to
11756         be used on FreeBSD at least.
11757         * lib/set-permissions.c: Fix up comment spelling,
11758         and a redundant variable assignment; noticed in passing.
11760 2015-06-30  Pádraig Brady  <P@draigBrady.com>
11762         readutmp: port to FreeBSD >= 9
11763         * lib/readutmp.h: Map utmpxname() to setutxdb().
11764         With that coreutils who(1) and pinky(1) tests pass.
11766 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
11768         mgetgroups: port to strict OS X
11769         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
11770         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
11771         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
11772         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
11774 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
11776         mgetgroups: port to strict OS X
11777         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
11778         Document the getgrouplist problem.
11779         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
11780         New macro.
11781         (mgetgroups): Use it.
11782         * m4/mgetgroups.m4 (gl_MGETGROUPS):
11783         Check for OS X signature for getgrouplist.
11785 2015-06-29  Jim Meyering  <meyering@fb.com>
11787         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
11788         It started like this when building coreutils' latest on OS X,
11789         invoking ./configure with a nonempty --cache=.cache:
11791           lib/linkat.c:46:42: error: operator '||' has no right operand
11792           lib/linkat.c: In function 'rpl_linkat':
11793           lib/linkat.c:330:27: error: #if with no expression
11795         Here's linkat.c's line 46:
11797           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
11799         Here's some context:
11801           $ grep linkat_nofoll .cache
11802           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
11803           $ grep LINKAT_SYM lib/config.h
11804           #define LINKAT_SYMLINK_NOTSUP
11806         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
11807         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
11808         but that violates a tenet of AC_CACHE_CHECK: it must
11809         have no side effect other than setting its cache variable.
11811         What happens is that when the cache is set, we'd skip the
11812         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
11813         defined to whatever value it happened to have in configure's
11814         environment.  In my case, it was not defined, so this later code:
11816           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
11817             [Define to 1 if linkat can create hardlinks to symlinks])
11819         would emit code with an empty RHS.
11821         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
11822         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
11824 2015-06-28  Jim Meyering  <meyering@fb.com>
11826         mountlist: avoid an unused-label warning on OS X
11827         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
11828         Building on OS X, I saw a warning about the "free_then_fail" label
11829         being unused.  Give it the _GL_UNUSED_LABEL attribute.
11831         error.c: correct printf-style format: %d -> %u
11832         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
11833         rather than %d, to match the type of "line_number", unsigned int.
11835 2015-06-25  Pádraig Brady  <P@draigBrady.com>
11837         fts: avoid reading beyond the heap allocation
11838         GCC 5.1.1 with -O2 and -fsanitize=address reports
11839         a read of size 4 from a heap object of size 3 is indeed invalid,
11840         though this may be due to incorrect padding assumptions by GCC, see:
11841         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
11842         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
11843         * modules/fts: Depend on stdalign.
11845 2015-06-24  Pádraig Brady  <P@draigBrady.com>
11847         savedir: avoid undefined behavior in qsort call
11848         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
11849         "runtime error: null pointer passed as argument 1,
11850          which is declared to never be null"
11851         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
11853 2015-06-24  Pádraig Brady  <P@draigBrady.com>
11855         userspec: avoid undefined behavior in gettext call
11856         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
11857         "runtime error: null pointer passed as argument 2,
11858          which is declared to never be null"
11859         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
11861 2015-06-20  Glenn Morris  <rgm@gnu.org>
11863         gitlog-to-changelog: improve gitmerge.el commits
11864         Let the Emacs ChangeLog generation process exclude "skipped"
11865         messages from merge commits (Bug#20717).
11866         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
11868 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
11870         wchar: fix MinGW compilation warnings
11871         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
11872         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
11873         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
11875 2015-06-20  Daiki Ueno  <ueno@gnu.org>
11877         uniname/uniname-tests: use pristine data files
11878         For copyright and maintenance reasons, use the data files from UCD
11879         without modification.
11880         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
11881         (getfield): Remove.
11882         (aliases_count): New global variable.
11883         (fill_names): Skip comments and empty lines in the input.  Don't
11884         use getfield.
11885         (fill_aliases): Likewise.
11886         (main): Change the expected command line arguments to:
11887         NAMES... ["--" ALIASES...].
11888         * tests/uniname/test-uninames.sh: Adjust to the change in
11889         test-uninames.c.
11890         * tests/uniname/UnicodeDataNames.txt: Remove.
11891         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
11892         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
11893         file from Unicode 8.0.0.
11895 2015-06-19  Pádraig Brady  <P@draigBrady.com>
11897         linked-list, linkedhash-list: avoid compiler warnings
11898         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
11899         -Werror=suggest-attribute=pure (from GCC 5.1.1).
11901 2015-06-19  Daiki Ueno  <ueno@gnu.org>
11903         libunistring: bump minimum version to 0.9.6
11904         * all modules depending on updated Unicode data: Regenerate.
11905         The modules are listed by a script that does:
11906         - for each file listed by: git show --oneline --name-only 705f4efc
11907           - deduce the containing modules, based on "Files:"
11908         - deduce the modules which depend on the containing modules, based
11909           on "Depends-on:"
11911 2015-06-18  Daiki Ueno  <ueno@gnu.org>
11913         uniname/uniname: update to Unicode 8.0.0
11914         * lib/uniname/uninames.h: Regenerate.
11915         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
11916         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
11918 2015-06-18  Daiki Ueno  <ueno@gnu.org>
11920         libunistring: update to Unicode 8.0.0
11921         * lib/gen-uni-tables.c (SIZEOF): New macro.
11922         (output_numeric): Increase the maximum number of fractions from
11923         128 to 160.  Increase the level3 value width from 7 bits to 8
11924         bits.  Use SIZEOF instead of a hard-coded integer.
11925         (output_blocks): Decrease the cut-off threshold from 0x30000 to
11926         0x28000.
11927         (fill_blocks): Increase the maximum number of blocks from 256 to
11928         384.  Use SIZEOF instead of a hard-coded integer.
11929         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
11930         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
11931         value width.
11932         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
11933         a new case added to LBP22.
11934         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
11935         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
11936         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
11937         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
11938         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
11939         * tests/uniwidth/test-uc_width2.sh: Same updates as in
11940         lib/uniwidth/width.c.
11941         * all generated files under lib/uni* and tests/uni*: Regenerate.
11943 2015-06-16  Pádraig Brady  <P@draigBrady.com>
11945         gnu-web-doc-update: add --mirror to remove stale files
11946         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
11947         out of date files from the CVS server.  Since this is usually
11948         appropriate, a prompt is given when the option is not specified,
11949         along with the `cvs remove` command that would be run.
11951 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
11953         acl-permissions: pacify -Wsuggest-attribute=const
11954         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
11955         * lib/acl-internal.h (free_permission_context):
11956         Declare with attribute const if ! (defined USE_ACL &&
11957         (HAVE_ACL_GET_FILE || defined GETACL)).
11959         fsync: document AIX misbehavior
11960         * doc/posix-functions/fsync.texi (fsync):
11961         Document failure on AIX with read-only file descriptor.
11963 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
11965         stdio: Don't redefine gets when using C++
11966         * lib/stdio.in.h (gets): Disable warning on C++.
11968 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
11970         acl-permissions: port to AIX, C89 HP-UX
11971         Problems reported by Michael Felt.
11972         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
11973         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
11974         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
11975         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
11976         Add cast for AIX, whose system calls are declared to accept
11977         char * even though the arguments are really char const *.
11978         * lib/get-permissions.c (get_permissions):
11979         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
11980         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
11981         that broke a build.
11982         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
11983         Rework types to pacify xlc.
11985 2015-06-03  Pádraig Brady  <P@draigBrady.com>
11987         vasprintf-posix: avoid compiling vasnprintf where possible
11988         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
11989         module where not required.  For example on a GNU/Linux system
11990         when gnulib-tool is run with the --conditional-dependencies option.
11992 2015-06-02  Pádraig Brady  <P@draigBrady.com>
11994         file-has-acl: fix build on Mac OS X 10
11995         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
11996         which has an incompatible 6 parameter getxattr() call.
11997         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
11998         call on Mac OS X >= 10.4.
11999         * doc/glibc-functions/fgetxattr.texi: Likewise.
12000         * lib/file-has-acl.c: Revert to more complete combined check.
12001         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
12002         Reported by Jack Howarth.
12004 2015-06-02  Pádraig Brady  <P@draigBrady.com>
12006         prefix-gnulib-mk: remove no longer needed special case
12007         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
12008         continued lib_SOURCES lines are no longer present,
12009         so special case handling of such entries is not required.
12011 2015-06-01  Pádraig Brady  <P@draigBrady.com>
12013         acl: don't depend on the deprecated qacl module
12014         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
12016 2015-06-01  Pádraig Brady  <P@draigBrady.com>
12018         gnulib-tool: concatenate lib_SOURCES to a single line
12019         * gnulib-tool: Refactor the line merging sed logic,
12020         and use that to output a single lib_SOURCES line for each module.
12021         gnulib using projects often postprocess this output to prepend
12022         subdir paths to each item, and having a single line simplifies this
12023         processing allowing better decoupling from the gnulib-tool output.
12025 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
12027         pthread_sigmask: discount system version if a simple macro (trivial)
12028         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
12029         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
12030         function to ensure it's available.
12032 2015-05-31  Pádraig Brady  <P@draigBrady.com>
12034         readlinkat: avoid OS X 10.10 trailing slash bug
12035         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
12036         has this bug.
12037         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
12038         that OS X 10.10 has this function.
12039         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
12040         as done for readlink().
12041         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
12042         trailing slash bug, and assume readlinkat() has the same issue.
12043         Also fix a typo where $gl_cv_decl_readlink_works was tested,
12044         rather than the correct $gl_cv_decl_readlinkat_works.
12046 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
12048         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
12049         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
12050         module rewrite.
12052         acl-permissions: Fix build on Solaris and Cygwin
12053         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
12054         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
12055         ace_entries variables have moved into struct permission_context but
12056         they were still accessed as local variables here.
12058 2015-05-29  Pádraig Brady  <P@draigBrady.com>
12060         linkat: avoid OS X 10.10 trailing slash with symlink bug
12061         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
12062         causes the symlink to be dereferenced, and if it points
12063         to a non existent file, that file will be created as
12064         a hard link to "path1".
12065         This fixes a test failure in test-linkat.c.
12066         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
12067         this case.  The existing workaround in linkat.c for
12068         trailing slash issues, suffices for this case.
12069         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
12070         the list of platforms with trailing slash issues.
12072 2015-05-28  Pádraig Brady  <P@draigBrady.com>
12074         unlinkat: handle ignoring of ".." on Darwin 14
12075         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
12076         on Mac OS X 10.10, where it ignores paths with a trailing "..",
12077         so handle in the same manner.
12078         * m4/unlinkat.m4: Comment on this Darwin issue.
12079         * doc/posix-functions/unlink.texi: Update the latest version
12080         where the issue was seen.
12081         * doc/posix-functions/unlinkat.texi: Mention this issue.
12082         Fixes a test failure in test-unlinkat.c.
12084 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12086         qacl: split into qcopy-acl and qset-acl
12087         Emacs needs the former, but not the latter.
12088         * modules/acl-permissions: New file, containing most of the old qacl.
12089         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
12090         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
12091         * modules/qcopy-acl, modules/qset-acl: New files.
12092         * MODULES.html.sh (File system functions):
12093         Mention the new modules, and mention qacl while we're at it.
12095 2015-05-27  Glenn Morris  <rgm@gnu.org>
12097         gitlog-to-changelog: new option --ignore-line
12098         (This patch is imported from the GNU Emacs master.)
12099         This option ignores individual commit lines matching a pattern.
12100         * build-aux/gitlog-to-changelog: Add --ignore-line option.
12102 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
12104         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
12105         Implement get_permissions and set_permissions primitives for getting all
12106         the permissions of a file, storing them, and later setting them. (In the
12107         minimal case, the permissions consist only of a file mode.) Reimplement
12108         qset_acl and qcopy_acl based on these new primitives: this avoids code
12109         duplication and makes error handling more consistent.
12110         The Solaris and Cygwin code still uses duplicate code paths for setting
12111         a file mode while making sure that no acls exist and setting an explicit
12112         acl; this is no worse than before, but could be cleaned up.  The AIX
12113         code still doesn't read ACLs, it only makes sure that acls don't get in
12114         the way when setting a file mode.
12115         * lib/acl-internal.h (struct permission_context): New data structure.
12116         (get_permissions, set_permissions, free_permission_context): Declare.
12117         * lib/acl-internal.c (free_permission_context): New helper function.
12118         * lib/get-permissions.c (get_permissions): New helper function split off
12119         from qcopy_acl.
12120         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
12121         AIX, set a file's permissions based only on a file mode.
12122         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
12123         other platforms construct a temporary acl from the file mode and set
12124         that acl in the same way as setting an acl read from the source file.
12125         This should help avoid code duplication and inconsistent / buggy
12126         behavior.
12127         (set_acls): New helper function Split off from qcopy_acl.
12128         (chmod_or_fchmod): Moved here from qset-acl.c.
12129         (set_permissions): New helper function.
12130         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
12131         set_permissions.
12132         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
12133         * modules/qacl: Add get-permissions.c and set-permissions.c.
12135         file-has-acl: Split feature tests again (Bug#20667)
12136         * lib/file-has-acl.c: Instead of testing for
12137         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
12138         define them when needed.
12139         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
12140         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
12142 2015-05-27  Pádraig Brady  <P@draigBrady.com>
12144         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
12145         This avoids a conflict with "FORTIFY_SOURCE" variants
12146         of the string functions when they're replaced on NetBSD-6.0.1
12147         and Darwin-14.3.0 at least.
12148         * lib/string.in.h: Avoid including our "lib/string.h" while
12149         including the system <string.h>.
12151 2015-05-26  Eric Blake  <eblake@redhat.com>
12153         stdio: limit __gnu_printf__ witness to gcc 4.4+
12154         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
12155         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
12157         error: use correct printf attributes on mingw
12158         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
12160         inttypes: force correct mingw PRIdMAX even without <stdio.h>
12161         * modules/inttypes (Depends-on): Require extensions, so that mingw
12162         always uses GNU style inttypes.
12163         * lib/inttypes.in.h: On mingw, include <stdio.h>.
12165         stdio: fix probe on mingw under gcc 5.1
12166         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
12167         around new gcc preprocessor rules.
12169 2015-05-07  Glenn Morris  <rgm@gnu.org>
12171         gitlog-to-changelog: parse "Tiny-change"
12172         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
12173         "Copyright-paperwork-exempt".  (Bug#20324)
12175 2015-05-06  Pádraig Brady  <P@draigBrady.com>
12177         doc: document glibc posix_fallocate() issues
12178         * doc/posix-functions/posix_fallocate.texi: Mention the
12179         glibc efficiency problems and issues with NFS.
12181 2015-05-05  Karl Berry  <karl@freefriends.org>
12183         * build-aux/gendocs.sh (usage): document new css default
12184         for HTML (--htmlarg).
12186 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
12188         extern-inline: no need for workaround in GCC 5.1
12189         * doc/extern-inline.texi (extern inline):
12190         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
12191         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
12192         around these bugs in GCC 5.1 and later.  Maybe in a decade or
12193         two we can remove these workarounds.
12195 2015-04-28  Pádraig Brady  <P@draigBrady.com>
12197         eealloc, pagealign_alloc, xalloc: avoid clang warnings
12198         Avoid [-Wunknown-attributes] warnings like:
12199         warning: unknown attribute '__alloc_size__' ignored
12200         * lib/xalloc.h: Don't use the __alloc_size__  attribute
12201         with clang, as support has been fully removed as of clang 3.5:
12202         https://github.com/llvm-mirror/clang/commit/c047507a
12203         * lib/eealloc.h: Likewise.
12204         * lib/pagealign_alloc.h: Likewise.
12206 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
12208         tests: pacify GCC 5.1's stricter printf checking
12209         * tests/test-dirname.c (main):
12210         * tests/test-getaddrinfo.c (simple):
12211         * tests/test-getlogin.c (main):
12212         * tests/test-getndelim2.c (main):
12213         * tests/test-inttostr.c (CK):
12214         * tests/test-md5.c (main):
12215         * tests/test-read-file.c (main):
12216         * tests/test-sha1.c (main):
12217         Fix mismatches between printf format and value signedness.
12218         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
12219         Remove, as CAST_VAL always returned a value of type uintmax_t.
12221         fts: port to GCC 5.1 with --enable-gcc-warnings
12222         Without this fix, GCC 5.1 (correctly) warns about a subscript
12223         error on the fts_name component of FTSENT.  It's actually a
12224         flexible member, so define it that way on C99 or later hosts.
12225         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
12226         structure that now has a flexible array member.
12227         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
12228         (FTSENT): fts_name is now flexible on C99-or-later platforms.
12229         * modules/fts (Depends-on): Add flexmember.
12231 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
12233         file-has-acl: port to CentOS 6
12234         Problem reported by Tom G. Christensen in:
12235         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
12236         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
12237         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
12238         HAVE_GETXATTR.
12239         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
12240         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
12241         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
12242         file-has-acl.c actually needs.
12244 2015-04-26  Pádraig Brady  <P@draigBrady.com>
12246         file-has-acl: always return false when ACLs aren't supported
12247         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
12248         change the GNU/Linux getxattr path, to transform "not supported"
12249         errors to a false return rather than an error.  This is handled
12250         within file_has_acl() due to the platform specific tests to
12251         determine if ACLs are not supported.
12253 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
12255         gettext: propagate po/Makefile.in.in too
12256         * build-aux/po/Makefile.in.in: Copy from latest gettext.
12257         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
12258         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
12259         between Makefile.in.in and the gettext-runtime m4 files.
12261 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
12263         file-has-acl: new module, split from acl
12264         And add a new module file-has-acl-tests to match.
12265         I ran into a problem with the recent changes to the acl module,
12266         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
12267         When using the fixed version with Emacs, I discovered that
12268         file-has-acl wasn't separated out well enough for Emacs (e.g., it
12269         had multiple libraries, but needed only one), so I fixed that too.
12270         * NEWS: Document this incompatible change.
12271         * modules/file-has-acl, modules/file-has-acl-tests: New files.
12272         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
12273         Initialize gl_need_lib_has_acl.
12274         (gl_FUNC_ACL): Require it.
12275         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
12276         Move the file-has-acl.c-relevant stuff to ...
12277         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
12278         use_xattrs = 0' typo, and omit some needless work.  Set
12279         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
12280         when gl_FUNC_ACL is called.
12281         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
12282         (Link): Remove $(LIB_HAS_ACL).
12283         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
12284         (check_PROGRAMS): Move stuff relevant to file-has-acl to
12285         modules/file-has-acl-tests.
12286         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
12288         manywarnings: add GCC 5.1 warnings
12289         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
12290         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
12291         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
12292         -Wsuggest-override, -Wuse-without-only.  Change
12293         -Wnormalized=... operands to match 5.1.
12294         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
12295         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
12296         -Wdiscarded-qualifiers, -Wformat-signedness,
12297         -Wincompatible-pointer-types, -Wint-conversion,
12298         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
12299         -Wshift-count-negative, -Wshift-count-overflow,
12300         -Wsizeof-array-argument, -Wsuggest-final-methods,
12301         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
12302         and add -Warray-bounds=2 as a special case.
12304 2015-04-21  Simon Josefsson  <simon@josefsson.org>
12306         doc: update FDL template to match FDL examples.
12307         * doc/alloca-opt.texi:
12308         * doc/alloca.texi:
12309         * doc/c-ctype.texi:
12310         * doc/c-strcase.texi:
12311         * doc/c-strcaseeq.texi:
12312         * doc/c-strcasestr.texi:
12313         * doc/c-strstr.texi:
12314         * doc/c-strtod.texi:
12315         * doc/c-strtold.texi:
12316         * doc/ctime.texi:
12317         * doc/error.texi:
12318         * doc/gcd.texi:
12319         * doc/gnulib-tool.texi:
12320         * doc/inet_ntoa.texi:
12321         * doc/intprops.texi:
12322         * doc/lib-symbol-visibility.texi:
12323         * doc/maintain.texi:
12324         * doc/parse-datetime.texi:
12325         * doc/quote.texi:
12326         * doc/regexprops-generic.texi:
12327         * doc/standards.texi: Remove spurious 'with' in FDL license
12328         template.
12330 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
12332         lstat: fix cross-compilation 'ln -s' problem
12333         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
12334         Have the test program call 'symlink' rather than a separate
12335         script run 'ln -s'; this is more likely to work in
12336         cross-compilation environments.  Reported by Pavel Fedin in:
12337         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
12339 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
12341         gendocs.sh: default to a common CSS style sheet for HTML output
12342         * build-aux/gendocs.sh (htmlarg): Change default value.
12344 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
12346         gnulib-tool: output bold attribute more portably
12347         * gnulib-tool (func_show_module_list): Change hexadecimal
12348         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
12349         encoded numbers as arguments to `printf' is not portable,
12350         and is not claimed by POSIX.  This is the case with FreeBSD.
12352 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
12354         qacl: Simplify HP-UX acl_nontrivial check
12355         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
12356         acl_nontrivial. Check if the acl has at most three entries instead (it must
12357         have exactly three entries according to the HP-UX documentation). Ignore
12358         uids and gids as long as an entry is either for a user (i.e., the owner),
12359         a group (i.e., the owning group), or others.
12360         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
12361         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
12363 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
12365         acl: On Linux, check for acls without libacl
12366         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
12367         library function to check for the presence of acls, avoiding a library.
12368         * lib/file-has-acl.c: Include xattr headers if we have them.
12369         (file_has_acl): On Linux, use getxattr().
12370         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
12371         file_has_acl(). Check for xattr headers and getxattr().
12373 2015-04-14  Ángel González  <keisial@gmail.com>
12375         tempname: avoid unused parameter warnings (trivial)
12376         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
12377         (try_nocreate): Likewise.
12379 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
12381         fseeko: fix build failure on NetBSD >= 6 (trivial)
12382         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
12383         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
12385 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
12387         gitlog-to-changelog: port to MS-Windows
12388         * build-aux/gitlog-to-changelog (git_dir_option):
12389         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
12390         MS-Windows Perl.  Reported by Eli Zaretskii in:
12391         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
12393 2015-04-07  Karl Berry  <karl@gnu.org>
12395         gendocs: new option --tex for passing args to texi2dvi.
12396         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
12397         (TEXI2DVI): cut to just command name.
12398         (usage): mention new option, and update copyright.
12399         <generate_tex>: use it.
12401 2015-04-07  Karl Berry  <karl@gnu.org>
12403         * config/srclistvars.sh (GETTEXT): new definition.
12404         * config/srclist.txt: use it for gettext .m4 files.
12405         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
12406         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
12407         and continuing into April.
12409 2015-04-07  Daiki Ueno  <ueno@gnu.org>
12411         uniname/uniname-tests: fix failure due to alias
12412         Reported by Jack Howarth in:
12413         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
12414         * tests/uniname/test-uninames.c (name_has_alias): New function.
12415         (test_inverse_lookup): Exclude character name with valid alias,
12416         from randomly generated character names.
12417         (main): Fill unicode_aliases before calling test functions.
12419 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
12421         hash: remove deprecated hash_insert0 function
12422         * lib/hash.h (hash_insert0): Remove deprecated function.
12423         * lib/hash.c (hash_insert0): Likewise.
12425 2015-04-02  Pádraig Brady  <P@draigBrady.com>
12427         mountlist: remove dependency on libmount
12428         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
12429         directly, rather than depending on libmount, which has many
12430         dependencies due to its dependence on libselinux, as detailed at:
12431         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
12432         Note we restrict this to __linux__ as that's probably where this
12433         interface will remain.  If ever porting, it would be best
12434         to first pull the makedev() wrapper from coreutils to a gnulib module.
12435         Note also we don't add a getline dependency to the mountlist module,
12436         as all Linux versions are sufficient.
12438 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
12440         stddef: port to pre-C11 GCC on x86
12441         On this platform, max_align_t should have an alignment of 8 even
12442         though the storage alignments of double, long, etc. max out at 4.
12443         Inspired by a comment of Andreas Schwab's here:
12444         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
12445         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
12446         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
12447         * tests/test-stddef.c: Test __alignof__ too, if available.
12449 2015-03-24  Pádraig Brady  <P@draigBrady.com>
12451         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
12452         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
12454 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
12456         yesno: make EOL optional in ENABLE_NLS case also (trival)
12457         * lib/yesno.c (yesno): Check for EOL before replacing.
12458         * tests/test-yesno.sh: Add a test case (test along with gettext).
12460 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
12462         fdopendir-tests: test it does not close its arg
12463         * tests/test-fdopendir.c (main): Test that fdopendir does not
12464         close its argument.  From a suggestion by David Grayson in:
12465         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
12467 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
12469         gitlog-to-changelog: trim trailing white space
12470         * build-aux/gitlog-to-changelog (main):
12471         Trim trailing white space from commit message lines.
12472         This is helpful for processing the GNU Emacs repository,
12473         which dates back to 1985 and contains a lot of such lines.
12475         gitlog-to-changelog: new option --ignore-matching
12476         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
12477         Support new option --ignore-matching=PAT, which ignores all
12478         commit messages whose first line matches PAT.
12480 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
12482         fdopendir: port better to MinGW
12483         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
12484         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
12485         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
12486         * modules/fdopendir (Depends-on): Add dirfd.
12488 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
12490         fdopendir: fix typo in comment
12491         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
12493 2015-03-09  Eric Blake  <eblake@redhat.com>
12495         error: document all entry points provided
12496         * doc/glibc-functions/error_print_progname.texi
12497         (error_print_progname): Mention the error module.
12498         * doc/glibc-functions/error_at_line.texi (error_at_line):
12499         Likewise.
12500         * doc/glibc-functions/error_message_count.texi
12501         (error_message_count): Likewise.
12502         * doc/glibc-functions/error_one_per_line.texi
12503         (error_one_per_line): Likewise.
12505 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
12507         vasnprintf: pacify clang 3.5.0
12508         Problem reported by Werner Lemberg in:
12509         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
12510         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
12511         The casts aren't needed, since the characters in question are ASCII.
12513 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
12515         glob, etc.: port to MSVC v18 on MS-Windows 8.1
12516         * lib/dirent--.h (GNULIB_defined_opendir):
12517         * lib/dirent.in.h (GNULIB_defined_opendir)
12518         (GNULIB_defined_closedir):
12519         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
12520         #undef only if Gnulib defined it.
12522         poll: port to MSVC v18 on MS-Windows 8.1
12523         Problem reported by Gisle Vanem in:
12524         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
12525         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
12526         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
12527         Add sys_socket.
12529 2015-02-24  Pádraig Brady  <P@draigBrady.com>
12531         tests: support stderr verification with returns_()
12532         * tests/init.sh (returns_): Disable tracing for this wrapper
12533         function, so that stderr of the wrapped command is unchanged,
12534         allowing for verification of the contents.
12536 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
12538         passfd: avoid valgrind uninitalised data warning
12539         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
12540         to include just the fd we've initialized, rather than including
12541         the extra space used for alignment.
12543 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
12545         uniwbrk/u32-wordbreaks-tests: fix copyright
12546         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
12548         dup2: doc and test for Android bug
12549         Reported by Kevin Cernekee in:
12550         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
12551         * doc/posix-functions/dup2.texi (dup2): Document the bug.
12552         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
12554 2015-02-23  Kevin Cernekee  <cernekee@google.com>
12556         Replace dup2() on Android
12557         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
12558         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
12559         fails.  Using rpl_dup2() fixes this because it has an explicit test
12560         for this condition.
12562 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
12564         Android doesn't define RLIM_SAVED_*
12565         Portability problem reported by Kevin Cernekee in:
12566         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
12567         * doc/posix-headers/sys_resource.texi (sys/resource.h):
12568         Mention the portability problem.
12569         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
12570         Define if not defined.
12571         * m4/dup2.m4 (gl_FUNC_DUP2):
12572         * m4/fcntl.m4 (gl_FUNC_FCNTL):
12573         Likewise.
12575 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
12577         vasnprintf-posix-tests: use consistent test
12578         * tests/test-vasnprintf-posix.c (test_function):
12579         Use "<" in assert instead of "<=", for consistency with other tests.
12581 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
12583         printf, isinf, etc.: noncanonical != NaN
12584         Do not require that isinf, printf, etc. treat noncanonical
12585         values as NaNs.  Instead, require only that they do not crash.
12586         Problem reported by Joseph Myers in:
12587         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
12588         * doc/posix-functions/dprintf.texi (dprintf):
12589         * doc/posix-functions/fprintf.texi (fprintf):
12590         * doc/posix-functions/isfinite.texi (isfinite):
12591         * doc/posix-functions/isinf.texi (isinf):
12592         * doc/posix-functions/isnan.texi (isnan):
12593         * doc/posix-functions/printf.texi (printf):
12594         * doc/posix-functions/snprintf.texi (snprintf):
12595         * doc/posix-functions/sprintf.texi (sprintf):
12596         * doc/posix-functions/vdprintf.texi (vdprintf):
12597         * doc/posix-functions/vfprintf.texi (vfprintf):
12598         * doc/posix-functions/vprintf.texi (vprintf):
12599         * doc/posix-functions/vsnprintf.texi (vsnprintf):
12600         * doc/posix-functions/vsprintf.texi (vsprintf):
12601         Document this.
12602         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
12603         * m4/isinf.m4 (gl_ISINFL_WORKS):
12604         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
12605         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
12606         * tests/test-isfinite.c (test_isfinitel):
12607         * tests/test-isinf.c (test_isinfl):
12608         * tests/test-isnan.c (test_long_double):
12609         * tests/test-isnanl.h (main):
12610         * tests/test-snprintf-posix.h (test_function):
12611         * tests/test-sprintf-posix.h (test_function):
12612         * tests/test-vasnprintf-posix.c (test_function):
12613         * tests/test-vasprintf-posix.c (test_function):
12614 o       Test only that noncanonical values do not cause crashes, not that
12615         they are treated as NaNs.  In some cases this means a larger
12616         output buffer is needed.
12618 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
12620         fts: remove redundant close() (trivial)
12621         * lib/fts.c (fts_read): Remove redundant call to close().
12622         Spotted by coverity.
12624 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
12626         getdtablesize: port better for Android
12627         Problem reported by Kevin Cernekee in:
12628         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
12629         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
12630         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
12631         Instead, just use getrlimit, taking care to avoid Cygwin bug.
12633         poll: fixes for large fds
12634         * lib/poll.c (poll): Don't check directly for NFD too large.
12635         Don't rely on undefined behavior in FD_SET when an arg exceeds
12636         FD_SETSIZE.  Always set revents afterwards, even if to zero.
12637         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
12638         as that makes the test a bit stricter.
12640 2015-02-19  Kevin Cernekee  <cernekee@google.com>
12642         fcntl: Fix cross compiling
12643         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
12644         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
12646 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
12648         dup2, fcntl: cross-compile better for Android
12649         Problem reported by Kevin Cernekee in:
12650         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
12651         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
12652         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
12653         there's little need to cross-compile for older kernels nowadays.
12654         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
12655         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
12657 2015-02-18  Pádraig Brady  <P@draigBrady.com>
12659         getopt: don't crash on memory exhaustion
12660         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
12661         memory exhaustion.  In the _LIBC case we use alloca() as is
12662         already done in glibc, so we don't need to consider the separate
12663         error path in that awkward case.  Also fix a memory leak when
12664         ambiguous options are present.
12665         Reported by Tobias Stoeckmann
12667 2015-02-17  Mike Miller  <mtmiller@ieee.org>
12669         tempname: allow compilation with C++ (trivial)
12670         * lib/tempname.h [C++]: Specify extern "C" linkage.
12671         * lib/tempname.h (try_tempname):
12672         * lib/tempname.c (__try_tempname, __gen_tempname):
12673         Rename 'try' to 'tryfunc'.
12675 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
12677         dup2, fcntl: port to AIX
12678         * m4/dup2.m4 (gl_FUNC_DUP2):
12679         * m4/fcntl.m4 (gl_FUNC_FCNTL):
12680         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
12681         The former works on AIX 7.1 but the latter does not.
12682         Also, this may work better with Android; see:
12683         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
12685 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
12687         getdtablesize, dup2, fcntl: port to Android
12688         Problem reported by Kevin Cernekee in:
12689         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
12690         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
12691         Mention that getdtablesize doesn't work on Android.
12692         * lib/getdtablesize.c: Use getrlimit substitute only if
12693         getdtablesize is declared.  This should suffice for Cygwin
12694         while not breaking Android.
12695         * m4/dup2.m4 (gl_FUNC_DUP2):
12696         * m4/fcntl.m4 (gl_FUNC_FCNTL):
12697         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
12698         standardized but the latter is not, and sysconf works on Android.
12699         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
12700         Also check that getdtablesize is declared.
12701         This removes the need for a special case for Android.
12703 2015-02-16  Kevin Cernekee  <cernekee@google.com>
12705         localename: Implement gl_locale_name_thread_unsafe for Android
12706         * lib/localename.c: Android API level >= 21 supports two hardcoded
12707         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
12708         the internal __locale_t struct.
12710 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
12712         fts: avoid crash when a cycle is added while traversing
12713         This could be triggered by auto-mounting a recursive bind mount.
12714         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
12715         * lib/fts.c (fts_read): Avoid removing the original hash table item
12716         when leaving a directory that caused a cycle, and preserve the FTS_DC
12717         flag.
12719 2015-02-16  Daiki Ueno  <ueno@gnu.org>
12721         uniname/uniname: support character alias
12722         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
12723         Generate one-way mapping from aliases to codepoints in the
12724         generated tables.  Special case variation selectors to reduce
12725         table size.
12726         * lib/uniname/uniname.c (unicode_character_name): Special case
12727         variation selectors.
12728         (unicode_name_character): Special case variation selectors and
12729         their aliases.
12730         * lib/uniname/uninames.h: Regenerate.
12731         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
12732         * modules/uniname/uniname-tests (Files): Add
12733         tests/uniname/NameAliases.txt.
12734         * tests/uniname/test-uninames.c: Mark as static.
12735         (ALIASLEN): Define.
12736         (struct unicode_alias): New struct.
12737         (unicode_aliases): New variable.
12738         (fill_aliases): New function.
12739         (test_alias_lookup): New test function.
12740         (main): Run the 'test_alias_lookup' test if the second argument is
12741         given.
12742         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
12743         second argument.
12745 2015-02-11  Kevin Cernekee  <cernekee@google.com>
12747         Fix FILE struct compatibility with Android API level >= 21
12748         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
12749         __sferror.  Recent versions of Bionic's stdio.h no longer define
12750         __sferror.
12751         * lib/fbufmode.c: Likewise.
12752         * lib/fflush.c: Likewise.
12753         * lib/fpurge.c: Likewise.
12754         * lib/freadable.c: Likewise.
12755         * lib/freadahead.c: Likewise.
12756         * lib/freading.c: Likewise.
12757         * lib/freadptr.c: Likewise.
12758         * lib/freadseek.c: Likewise.
12759         * lib/fseeko.c: Likewise.
12760         * lib/fseterr.c: Likewise.
12761         * lib/fwritable.c: Likewise.
12763         Assume unbroken ungetc() on Android
12764         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
12765         test case passed when running on an Android host, and the code
12766         hasn't really changed since 2009.
12768         getdtablesize: Fix Android build
12769         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
12770         versions have this symbol in the .so library (at least 32-bit
12771         platforms) but are missing the declaration in the header file,
12772         causing the m4 logic to guess incorrectly.
12774         localename: Fix Android build
12775         * modules/localename (Depends-on): Add langinfo.
12777         getugroups: Fix Android build
12778         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
12779         functions.
12781         euidaccess: Fix Android build
12782         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
12783         AT_EACCESS gets declared.
12785         linkat_nofollow: Add fallback case for cross compiling
12786         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
12788         net_if: Handle content-free <net/if.h> system headers
12789         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
12790         struct if_nameindex.  If not, enable the replacement header.
12792         signal_h: Fix Android build
12793         * lib/signal.in.h: Add Android to the list of platforms that declare
12794         pthread_sigmask() in <pthread.h> instead of <signal.h>.
12796         duplocale: Fix Android build of duplocale-tests
12797         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
12798         is included by test-duplocale.c (but not by duplocale.c).
12799         * modules/duplocale-tests (configure.ac): Check for monetary.h.
12800         * tests/test-duplocale.c: Skip test if monetary.h is absent.
12801         * doc/posix-headers/monetary.texi: Add Android to the list of
12802         platforms missing monetary.h.
12804 2015-02-11  Pádraig Brady  <P@draigBrady.com>
12806         tests: avoid recent -Werror=unused-variable regression in test-locale
12807         * tests/test-locale.c (main): Reference the variable to avoid the
12808         "unused variable" warning.
12810 2015-02-11  Pádraig Brady  <P@draigBrady.com>
12812         maint: various whitespace cleanups in tempname
12813         * lib/tempname.c: Normalize spacing and line length.
12814         * lib/tempname.h: Likewise.
12815         * modules/tempname: Likewise.
12817 2015-02-11  Pádraig Brady  <P@draigBrady.com>
12819         tests: provide returns_() to simplify exit status checking
12820         * tests/init.sh (returns_): A new function for use in tests,
12821         to allow for easier checking of return values, where you expect
12822         a command to exit with failure status.  By checking for a particular
12823         exit code, you don't hide any crashes for example.
12825 2015-02-11  Pádraig Brady  <P@draigBrady.com>
12827         mountlist: only use libmount when specified
12828         There are currently many shared libs dependencies introduced by
12829         libmount with associated runtime and virt mem overhead.
12830         Therefore don't enable by default.
12831         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
12833 2015-02-08  Daiki Ueno  <ueno@gnu.org>
12835         uniname/unimame-tests: don't link with -lunistring
12836         * modules/uniname/uniname-tests (Makefile.am): Don't link against
12837         $(LIBUNISTRING).  Document the rationale why we need to
12838         conditionalize the test.
12840 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
12842         fstrcmp: don't assume strlen < INT_MAX
12843         * lib/fstrcmp.c: Include stddef.h and stdint.h.
12844         (uintptr_t): Remove, as we're now assuming stdint.
12845         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
12846         Prefer ptrdiff_t to int when the value could exceed INT_MAX
12847         if the input string is long.
12848         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
12849         uintptr_t to size_t when the underlying value is a pointer casted
12850         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
12851         * modules/fstrcmp (Depends-on): Add stdint.
12853         diffseq: prefer ptrdiff_t to ssize_t
12854         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
12855         ptrdiff_t is the natural type for signed indexes.
12856         On a few older platforms, ssize_t is narrower than size_t.
12858         xalloc: fix typo that suppressed warnings
12859         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
12860         This typo, introduced a couple of years ago, mistakenly suppressed
12861         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
12862         -Wmissing-declarations warnings.
12864         full-read: fix license notice typo
12865         * lib/full-read.h: Remove a stray line in the license notice.
12866         Reported by Sam Ellis in: http://bugs.gnu.org/19808
12868         crypto/gc: fix a -Wswitch warning
12869         Reported by Bruce Korb in:
12870         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
12871         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
12873 2015-02-03  Pádraig Brady  <P@draigBrady.com>
12875         gnulib-tool: fix handling of patch(1) diagnostics
12876         * gnulib-tool: Send diagnostics from patch(1) to stderr,
12877         as otherwise gnulib-tool will reparse that output and attempt
12878         to lookup modules.
12880 2015-02-03  Pádraig Brady  <P@draigBrady.com>
12882         bootstrap: exit immediately upon gnulib-tool failure
12883         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
12884         This was noticed when gnulib-tool exited early due to failure
12885         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
12886         but various confusing errors were then given as the build proceeded.
12888 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
12890         symlinkat: include all required header files
12891         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
12892         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
12893         Reported at https://savannah.gnu.org/bugs/index.php?44151
12894         and by Jack Howarth.
12896 2015-01-29  Pádraig Brady  <P@draigBrady.com>
12898         localename: support Solaris 12 and illumos
12899         * lib/localename.c (gl_locale_name_thread_unsafe): call
12900         getlocalename_l() on newer __sun platforms.
12901         Reported by Alexander Pyhalov.
12902         Fix suggested by Rich Burridge.
12904 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
12906         locale: fix tests on illumos (trivial)
12907         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
12908         so move from global scope to main().
12910 2015-01-24  Daiki Ueno  <ueno@gnu.org>
12912         unictype: avoid undefined left-shift behavior
12913         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
12914         gcc's -fsanitize=shift and running its tests triggered:
12915           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
12916             places cannot be represented in type 'int'
12917         Cast LHS to 'unsigned int' after integer promotion.
12918         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
12919         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
12921 2015-01-20  Daiki Ueno  <ueno@gnu.org>
12923         libunistring: bump version of unitypes dependants
12924         Due to the header file search order, all the headers which depend
12925         on unitypes.h need to be generated, when the preinstalled
12926         libunistring is older.
12927         * modules/unicase/base (configure.ac): Bump minimum version to
12928         0.9.4.
12929         * modules/uniconv/base (configure.ac): Likewise.
12930         * modules/unilbrk/base (configure.ac): Likewise.
12931         * modules/uninorm/base (configure.ac): Likewise.
12932         * modules/unistdio/base (configure.ac): Likewise.
12933         * modules/unistr/base (configure.ac): Likewise.
12934         * modules/uniwbrk/base (configure.ac): Likewise.
12935         * modules/uniwidth/base (configure.ac): Likewise.
12937 2015-01-20  Daiki Ueno  <ueno@gnu.org>
12939         unictype/category-none: fix link with libunistring
12940         Since _UC_CATEGORY_NONE is not a public symbol, it will be
12941         prefixed with "libstring_" when compiled as part of libunistring.
12942         To avoid undefined symbol at link time, increase the minimum
12943         version when the dependant modules are updated.
12944         * modules/unictype/category-none (configure.ac): Bump minimum
12945         version to 0.9.5.
12947 2015-01-20  Daiki Ueno  <ueno@gnu.org>
12949         unitypes: fix build with installed libunistring
12950         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
12951         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
12952         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
12954 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12956         time: port to MinGW32 3.21
12957         Problem reported by Eli Zaretskii in:
12958         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
12959         * lib/time.in.h:
12960         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
12961         * modules/time (Depends-on):
12962         Fall back on unistd.h if the other include files don't define
12963         struct timespec.
12965         update-copyright: apply to self
12966         * build-aux/update-copyright: Fix copyright date.  How ironic!
12968 2015-01-15  Daiki Ueno  <ueno@gnu.org>
12970         libunistring: update to Unicode 7.0.0
12971         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
12972         Manichaean names.
12973         * lib/unictype/joininggroup_name.h: Likewise.
12974         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
12975         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
12976         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
12977         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
12978         (fill_arabicshaping, joining_group_as_c_identifier): Support those
12979         enum values.
12980         (is_property_alphabetic): Accept newly added characters to
12981         cuneiform numeric signs.
12982         (is_property_default_ignorable_code_point): Reject U+0605.
12983         (FIELDLEN): Increase from 120 to 160.
12984         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
12985         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
12986         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
12987         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
12988         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
12989         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
12990         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
12991         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
12992         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
12993         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
12994         U+1E8D0..U+1E8D6.
12995         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
12996         * tests/uniwidth/test-uc_width2.sh: Same updates as in
12997         lib/uniwidth/width.c.
12998         * all generated files under lib/uni* and tests/uni*: Regenerate.
13000 2015-01-14  Daiki Ueno  <ueno@gnu.org>
13002         libunistring: update to Unicode 6.3.0
13003         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
13004         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
13005         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
13006         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
13007         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
13008         Update WB5, WB9, WB10, WB13a, and WB13b.
13009         * tests/uniwbrk/test-uc-wordbreaks.c
13010         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
13011         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
13012         (UC_BIDI_PDI): New enumeration values.
13013         (bidi_category_byname): Support those enum values.
13014         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
13015         dedicated property assigned.
13016         (is_property_case_ignorable): Check 0x0027.
13017         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
13018         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
13019         (output_wbp): Support those enum values.
13020         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
13021         (UC_BIDI_PDI): New enumeration values.
13022         * lib/unictype/bidi_byname.gperf: Add those property names.
13023         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
13024         U+180E, U+1A1B, and U+2066..U+2069.
13025         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13026         lib/uniwidth/width.c.
13027         * all generated files under lib/uni* and tests/uni*: Regenerate.
13029 2015-01-14  Daiki Ueno  <ueno@gnu.org>
13031         libunistring: update to Unicode 6.2.0
13032         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
13033         (unilbrk_table): Adjust table size.
13034         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
13035         for LBP_RI.
13036         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
13037         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
13038         Normalize table index skipping ignored properties.
13039         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
13040         WBP_EXTEND and WBP_FORMAT, which are now computed without using
13041         the table.
13042         * lib/uniwbrk/wbrktable.h: Adjust table size.
13043         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
13044         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
13045         Support rule GB8a.
13046         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
13047         * tests/unigbrk/test-uc-is-grapheme-break.c
13048         (graphemebreakproperty_to_string): Support GBP_RI.
13049         * tests/uniwbrk/test-uc-wordbreaks.c
13050         (wordbreakproperty_to_string): Support WBP_RI.
13051         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
13052         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
13053         (output_lbp): Support LBP_RI.  Adjust some characters changed from
13054         LBP_AL to LBP_ID.
13055         (output_lbp): Support LBP_RI.
13056         (WBP_RI): New enumeration value.
13057         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
13058         (output_wbp): Support WBP_RI.
13059         (GBP_RI): New enumeration value.
13060         (output_gbp_test, fill_org_gbp): Support GBP_RI.
13061         * all generated files under lib/uni* and tests/uni*: Regenerate.
13063 2015-01-14  Daiki Ueno  <ueno@gnu.org>
13065         libunistring: update to Unicode 6.1.0
13066         * lib/gen-uni-tables.c (output_joining_group): Switch to
13067         3-level table to accommodate joining groups defined with higher
13068         codepoint value.  Since there are only 88 groups defined in
13069         Unicode 7.0.0, use 7-bit packed format for level3 entries.
13070         (get_lbp): Update for Unicode 6.1.0.
13071         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
13072         3-level table.
13073         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
13074         joining group name.
13075         * lib/unictype/joininggroup_name.h: Likewise.
13076         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
13077         (unilbrk_table): Adjust table size.
13078         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
13079         for LBP_HL.
13080         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
13081         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
13082         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
13083         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
13084         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
13085         U+302E..U+302F.
13086         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13087         lib/uniwidth/width.c.
13088         * all generated files under lib/uni* and tests/uni*: Regenerate.
13089         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
13091 2015-01-15  Daiki Ueno  <ueno@gnu.org>
13093         uniwbrk/u32-wordbreaks-tests: add conformance test
13094         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
13095         tests/uniwbrk/test-uc-wordbreaks.c,
13096         tests/uniwbrk/test-uc-wordbreaks.sh, and
13097         tests/uniwbrk/WordBreakTest.txt.
13098         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
13099         test-uc-wordbreaks to $(check_PROGRAMS), and define
13100         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
13101         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
13102         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
13104 2015-01-15  Daiki Ueno  <ueno@gnu.org>
13106         uniwbrk: ignore Extended/Format characters at BOL not BOS
13107         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
13108         characters if the previous character property is one of
13109         WBP_NEWLINE, WBP_CR, and WBP_LF.
13111 2015-01-11  Jim Meyering  <meyering@fb.com>
13113         test-strstr.c: avoid a trivial leak
13114         * tests/test-strstr.c (main): Free haystack.
13116         update-copyright: recognize groff's \(co marker
13117         * build-aux/update-copyright (circle_c_re): Also accept
13118         uses of \(co, as found in gzip.1.
13120 2015-01-08  Pádraig Brady  <P@draigBrady.com>
13122         maint.mk: fix compatibility with OS X nm
13123         * top/maint.mk (_gl_tight_scope): Use the -g option to
13124         show exported items rather than the -e option which is
13125         ignored on all platforms except OS X where it gives an error.
13126         Reported by Assaf Gordon.
13128 2015-01-07  KO Myung-Hun  <komh@chollian.net>
13130         localcharset: improve charset detection on OS/2
13131         Use system codepage when appropriate.  Map OS/2 codepages to
13132         GNU canonical charset names if possible.
13133         * lib/config.charset: Don't output aliases if "$os" is os2*.
13134         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
13135         result for OS/2.
13136         (locale_charset) [OS2]: Use system codepage if codeset is omitted
13137         from the locale name which is neither "C" nor "POSIX".
13139 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
13141         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
13142         This reverts the last patch but one, as it shouldn't be needed now
13143         that the typo is fixed.
13144         * lib/count-leading-zeros.h (count_leading_zeros_ll):
13145         * lib/count-trailing-zeros.h:
13146         * lib/count-one-bits.h:
13147         Go back to using 64-bit intrinsics.
13149         count-leading-zeros: fix pragma typos
13150         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
13151         Fix typos in declaration of intrinsics when _MSC_VER.
13153 2015-01-06  Pádraig Brady  <P@draigBrady.com>
13155         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
13156         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
13157         intrinsics in this case.
13158         * lib/count-trailing-zeros.h: Likewise.
13159         * lib/count-one-bits.h: Likewise.
13161 2015-01-06  Daiki Ueno  <ueno@gnu.org>
13163         uniname/uniname: update to Unicode 7.0.0
13164         To accommodate new characters added since Unicode 5.1.0, this
13165         changes the internal representation of codepoint ranges.
13166         Previously, we grouped codepoint ranges by manually assigned 4-bit
13167         tag, which only allowed 16 groups.  This removes the limitation by
13168         switching to binary search on a table.  For the detail rationale
13169         and the benchmark results, see:
13170         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
13171         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
13172         to INDEX, as it no longer represents a codepoint.
13173         (range): New struct.
13174         (main): Switch to intervals list from a bit-pattern based
13175         classification.
13176         * lib/uniname/uninames.h: Regenerate.
13177         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
13178         * modules/uniname/base (configure.ac): Bump minimum version to
13179         0.9.5.
13180         * modules/uniname/uniname (configure.ac): Bump minimum version to
13181         0.9.5.
13183 2015-01-05  Eric Blake  <eblake@redhat.com>
13185         doc: update INSTALL from autoconf
13186         * doc/install.texi: Resync from autoconf.
13187         * doc/INSTALL: Reflect recent autoconf update.
13188         * doc/INSTALL.ISO: Likewise.
13189         * doc/INSTALL.UTF-8: Likewise.
13191         stdio: fix use of PRIdMAX on modern mingw
13192         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
13193         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
13194         to work with modern mingw.
13196 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
13198         pthread: detect git mingw builds with only partial pollution
13199         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
13200         pollution, as seen temporarily in Fedora 21.
13202 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
13204         lib-symbol-versions: cache script check
13205         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
13206         Cache the check for linker version scripts.
13207         From a suggestion by Christophe Curis in:
13208         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
13210 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
13212         maint: fix grammar nits in propername (trivial change)
13213         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
13214         and use an adequate verb and tense.
13216 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
13218         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
13219         * module/gendocs: Add 'doc/gendocs_template_min'.
13221         * build-aux/gendocs.sh: Change email addresses and upstream URLs
13222         from to Gnulib's.
13223         (scripturl, templateurl): Adjust accordingly.
13225 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
13227         gendocs: copyright date and version fix
13228         Reported by Karl Berry in:
13229         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
13230         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
13231         Fix copyright date.
13232         * build-aux/gendocs.sh (scriptversion): Update.
13234 2015-01-01  Karl Berry  <karl@gnu.org>
13236         * doc/install.texi,
13237         * build-aux/mdate-sh,
13238         * build-aux/depcomp,
13239         * build-aux/config.guess,
13240         * build-aux/config.sub,
13241         * build-aux/ar-lib,
13242         * build-aux/compile: revert copyright updates (some from last
13243         year) in slaved files.
13245 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
13247         version-etc: new year
13248         * doc/gnulib.texi:
13249         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
13250         * all files: Run 'make update-copyright'.
13252 2014-12-30  Pádraig Brady  <P@draigBrady.com>
13254         xstrtol: ensure errno is reset
13255         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
13256         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
13258         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
13260 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
13262         utimens: fix dependency typo
13263         * modules/utimens (Depends-on): Remove 'assure'.
13264         This bug was introduced in the recent 'assure' patch.
13266 2014-12-22  Eric Blake  <eblake@redhat.com>
13268         docs: mention why libgen.h is bad
13269         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
13271 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
13273         assure: new module
13274         This works better than 'assert' when compiling with -DNDEBUG,
13275         as it avoids some compiler diagnostics in that case.
13276         Reported by Norihiro Tanaka in:
13277         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
13278         * MODULES.html.sh (func_all_modules): Add 'assure'.
13279         * lib/assure.h, modules/assure: New files.
13280         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
13281         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
13282         Prefer 'assure' to 'assert'.
13283         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
13284         * modules/chdir-long, modules/cycle-check, modules/fchdir:
13285         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
13286         Depend on 'assure'.
13288 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
13290         stdalign: port better to HP compilers
13291         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
13292         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
13294         stdalign: work around Apple GCC 4.0 bug
13295         Reported by David Fang in:
13296         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
13297         * lib/stdalign.in.h (_Alignas):
13298         * m4/stdalign.m4 (gl_STDALIGN_H):
13299         Do not use aligned attribute with GCC 4.0 on Apple.
13301 2014-12-16  Pádraig Brady  <P@draigBrady.com>
13303         getcwd: fix test failure on OS X 10.9
13304         * m4/getcwd-path-max.m4: Avoid the replacement if it
13305         won't be effective due to the PATH_MAX limitation of lstat().
13306         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
13307         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
13308         for this case for use in tests, and also exclude this
13309         case when setting REPLACE_GETCWD.
13310         * tests/test-getcwd.c (test_long_name): Restrict the
13311         tested path length so that lstat() will not be passed
13312         a path greater than PATH_MAX.
13313         Also key a test condition on HAVE_OPENAT_SUPPORT rather
13314         than AT_FDCWD, since the latter is set unconditionally
13315         since Sep 2009 in commit 52c658e9.
13317 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
13319         parse-datetime: avoid a compiler warning with byacc (trivial)
13320         * lib/parse-datetime.y (yylex): Use the same prototype in the
13321         function definition as the declaration, to avoid a -Wstrict-prototypes
13322         warning seen when using byacc.
13324 2014-12-12  Daiki Ueno  <ueno@gnu.org>
13326         unicase/locale-language-tests: fix LOCALE_FR test
13327         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
13328         a French locale with traditional encoding.
13329         Reported by umerqayam in:
13330         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
13332 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
13334         stddef: support C11's max_align_t
13335         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
13336         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
13337         Do not undef, as that might cause max_align_t to be defined twice.
13338         Instead, change use to check for _GL_STDDEF_WINT_T too.
13339         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
13340         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
13341         Check for max_align_t.
13342         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
13343         * modules/stddef-tests (Depends-on): Add stdalign.
13344         * tests/test-stddef.c: Test max_align_t.
13346 2014-12-11  Daiki Ueno  <ueno@gnu.org>
13348         unistd: fix iOS check conditional
13349         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
13350         as 0 or 1 in <TargetConditionals.h>, and the previous check always
13351         yielded true on non-iOS environment.
13352         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
13353         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
13354         they are defined.
13356 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
13358         posixtm: avoid compiler warning in a better way
13359         * lib/posixtm.c (IF_LINT): Remove.
13360         (year, posix_time_parse):
13361         Return true (not 0) if successful.  All callers changed.
13362         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
13364 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
13366         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
13367         started with '/' on EMX.
13369 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
13371         freopen: workaround freopen() on OS/2 kLIBC
13372         * lib/freopen.c (rpl_freopen): Workaround.
13373         * m4/freopen.m4: Add os2* case.
13375         get_shared_library_fullname: port to EMX
13376         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
13377         on EMX, respectively.
13378         (_DLL_InitTerm): New on EMX.
13379         (get_shared_library_fullname): Implement on EMX.
13381         find_executable: port to EMX
13382         * lib/progreloc.c (find_executable): Implement on EMX.
13384         sched: check struct sched_param in spawn.h as well
13385         * lib/sched.in.h: Include spawn.h on kLIBC.
13386         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
13388 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
13390         bootstrap: Allow perl modules in $buildreq
13391         * build-aux/bootstrap: Add case for perl modules.
13393 2014-12-08  Pádraig Brady  <P@draigBrady.com>
13395         apply _GL_ATTRIBUTE_PURE to some inline functions
13396         clang 3.4.2 flagged these inline functions as pure
13397         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
13398         * lib/sig-handler.h (get_handler): Likewise.
13399         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
13400         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
13402 2014-12-06  Pádraig Brady  <P@draigBrady.com>
13404         vasnprintf: fix potential use after free
13405         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
13406         flagged by clang-analyzer 3.4.2.
13408 2014-12-05  Pádraig Brady  <P@draigBrady.com>
13410         filevercmp, posixtm: avoid compiler warnings with -O3
13411         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
13412         * lib/posixtm.c: (IF_LINT): Define.
13413         (posix_time_parse): Use it to void a "may be used uninitialized"
13414         warning, seen only with -O3.
13416 2014-12-05  Bruno Haible  <bruno@clisp.org>
13418         Fix LDBL80_WORDS macro on big endian platforms.
13419         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
13420         LDBL80_WORDS macro.
13421         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
13422         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13423         * tests/test-isfinite.c (test_isfinitel): Likewise.
13424         * tests/test-isinf.c (test_isinfl): Likewise.
13425         * tests/test-isnan.c (test_long_double): Likewise.
13426         * tests/test-isnanl.h (main): Likewise.
13427         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
13428         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
13429         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
13430         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
13431         Reported by Pádraig Brady.
13433 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
13435         git-version-gen: do not print new line characters
13436         * build-aux/git-version-gen: Use printf instead of echo and tr.
13438         gnulib-tool: recognize x:* as an absolute path
13439         * gnulib-tool (func_gnulib_dir): Add ?:* case.
13440         (func_relconcat): Likewise.
13442 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
13444         argp: avoid extraneous translation and mem leak with empty pre doc
13445         * lib/argp-help.c (argp_doc): Never translate the empty string,
13446         when "\v" is the first or last character of the string, as that
13447         has a reserved meaning to return the header info from a po file.
13448         This also fixes a small memory leak in the !post case.
13449         The issue can be seen with this command for example:
13450         LC_MESSAGES=en_US grub2-mknetdir --help
13452 2014-11-27  Daiki Ueno  <ueno@gnu.org>
13454         uniname/uniname-tests: skip if system's libunistring is used
13455         * modules/uniname/uniname-tests (Makefile.am): Skip test if
13456         uniname/uniname module is not compiled.
13458 2014-11-27  Pádraig Brady  <P@draigBrady.com>
13460         printf: fix configure check on big endian systems
13461         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
13463 2014-11-22  Daiki Ueno  <ueno@gnu.org>
13465         pipe-filter-gi, pipe-filter-ii: port to AIX
13466         On AIX 7.1, 'select' is defined as static and cannot be referred
13467         to from inline function.
13468         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
13469         the definition...
13470         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
13471         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
13473 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
13475         gitlog-to-changelog: add --until
13476         * build-aux/gitlog-to-changelog: Support new --until option.
13477         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
13479 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
13481         extern-inline: update commentary about GCC bugs
13482         * m4/extern-inline.m4: Add another GCC bug number to comments.
13484 2014-11-13  Daiki Ueno  <ueno@gnu.org>
13486         gen-uni-tables: untabify
13487         * lib/gen-uni-tables.c: Untabify.
13489 2014-11-13  Daiki Ueno  <ueno@gnu.org>
13491         gen-uni-tables: check out-of-range values added to 3-level tables
13492         * lib/gen-uni-tables.c (output_category, output_bidi_category)
13493         (output_joining_type, output_ident_category): Check out-of-range
13494         values added to 3-level tables.
13496 2014-11-13  Daiki Ueno  <ueno@gnu.org>
13498         gen-uni-tables: utilize 'assert'
13499         * lib/gen-uni-tables.c: Include <assert.h>.
13500         (output_category, output_combclass, output_decimal_digit_test)
13501         (output_decimal_digit, output_digit_test, output_digit)
13502         (output_numeric, get_mirror_value, fill_properties)
13503         (fill_property30, is_property_alphabetic)
13504         (is_property_default_ignorable_code_point)
13505         (is_property_uppercase, is_property_lowercase)
13506         (is_property_cased, is_property_case_ignorable)
13507         (is_property_changes_when_lowercased, is_property_iso_control)
13508         (is_property_math, fill_arabicshaping, output_joining_group)
13509         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
13510         (output_wbp, fill_org_gbp, get_decomposition)
13511         (output_decomposition, fill_composition_exclusions)
13512         (debug_output_composition_tables, output_composition_tables)
13513         (redistribute_casefolding_rules, output_casing_rules): Use
13514         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
13515         reporting.
13517 2014-11-13  Daiki Ueno  <ueno@gnu.org>
13519         gen-uni-tables: cosmetic improvements
13520         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
13521         variables specification.
13522         (is_outdigit): Remove unused function.
13524 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
13526         fcntl-h-tests: port to PA-RISC GNU/Linux
13527         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
13529 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13531         fts: port to C89
13532         Problem reported for MSVC 16 by Gisle Vanem in:
13533         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
13534         * lib/fts.c (fts_build): Avoid declaration before statement.
13536 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
13538         unistd: port to iOS
13539         Problem reported by André Klitzing in:
13540         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
13541         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
13543 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
13545         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
13546         Problem reported by Alan Modra in:
13547         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
13548         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
13549         Always cast the function arg, reverting this part of the previous
13550         change.
13552 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
13554         obstack: avoid potentially-nonportable function casts
13555         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
13556         Remove, replacing with ...
13557         (call_chunkfun, call_freefun): New static functions.
13558         All uses changed.  Avoid potentially-nonportable casts.
13559         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
13560         (_obstack_begin_worker): Omit last two args, since they
13561         rely on potentially-nonportable casts.  All callers changed.
13562         * lib/obstack.h (_OBSTACK_CAST): New macro.
13563         Use it everywhere the old API used a potentially-nonportable cast.
13564         The new API doesn't cast.
13565         (struct obstack): Use unions rather than requiring
13566         potentially-nonportable casts.
13567         (obstack_chunkfun, obstack_freefun): Return void.
13569 2014-11-03  Alan Modra  <amodra@gmail.com>
13571         obstack: fix macro return values
13572         * lib/obstack.h (obstack_next_free): Return void *.
13573         (obstack_1grow_fast, obstack_blank_fast): Return void.
13574         For __GNUC__ macros:
13575         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
13576         For !__GNUC__ macros:
13577         (obstack_make_room, obstack_grow, obstack_grow0)
13578         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
13580 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13582         obstack: do not assume system-supplied obstack is size_t safe
13583         * m4/obstack.m4: New file.
13584         * modules/obstack (Files): Add it.
13586         obstack: port to platforms that #define __alignof__
13587         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
13588         not if !_LIBC.  We don't know of any platforms that #define
13589         __alignof__, but it might be useful in tests.  Conversely,
13590         glibc assumes GCC.
13592 2014-11-03  Pádraig Brady  <P@draigBrady.com>
13594         linkat: don't unconditionally replace on GNU/Linux
13595         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
13596         was redundant for a few reasons.  It was present to support compiling
13597         on new systems but running on the old narrow window of Linux 2.6.1[67].
13598         It setup and cleaned up test files which weren't actually used.
13599         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
13600         implicit in the following check.
13602 2014-11-03  Pádraig Brady  <P@draigBrady.com>
13604         linkat: wrap to handle symlinks on OS X 10.10
13605         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
13606         but not usable because it doesn't support creating hardlinks
13607         to symlinks.  Therefore add a generic test for this capability
13608         and fallback to our emulation if linkat() fails with ENOTSUP.
13610 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13612         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
13613         * doc/posix-functions/open.texi (open):
13614         * doc/posix-functions/openat.texi (openat):
13615         Document that these functions do not set errno to ELOOP when
13616         a symlink is opened with O_NOFOLLOW.
13618 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
13620         obstack: add NEWS entry for recent incompatible changes
13621         * NEWS: Describe recent changes.
13623 2014-10-30  Pádraig Brady  <P@draigBrady.com>
13625         mountlist: don't use libmount to decide on dummy/remote
13626         * lib/mountlist.c (read_file_system_list): Don't use the libmount
13627         routines to determine whether a file system is dummy or remote,
13628         as they're not currently compatible.  For example the remoteness
13629         is determined on file system type (for which the list seems incomplete),
13630         rather than simply checking for a ':' in the device name.
13631         Also libmount currently determines that 'tmpfs' is a dummy file system
13632         even though it has associated storage.
13634 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
13636         obstack: prefer __alignof__ to alignof
13637         This is for portability to pre-4.7 GCC when compiling glibc.
13638         See Joseph S. Myers in:
13639         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
13640         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
13641         New macro, defined by including and using <alignof.h>.
13642         (MAX): New macro.
13643         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
13644         Do not use enums as they are not portable to some broken compilers.
13645         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
13647         obstack: prefer alignof to calculating alignments by hand
13648         * lib/obstack.c: Include <stdalign.h>.
13649         (struct fooalign): Remove.
13650         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
13651         * modules/obstack (Depends-on): Add stdalign.
13653 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
13655         obstack: use size_t alignments and check for overflow
13656         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
13657         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
13658         * lib/obstack.h (struct obstack.alignment_mask):
13659         Use _OBSTACK_SIZE_T, not int, for alignments.
13660         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
13661         overflows, e.g., when adding the alignment.
13663 2014-10-29  Alan Modra  <amodra@gmail.com>
13665         obstack: 64-bit obstack support, part 3
13666         This finally enables full 64-bit obstack support.  The glibc
13667         shared library specific code is removed from obstack.c too, and
13668         the error handling code conditionally compiled under control of
13669         another macro, _OBSTACK_NO_ERROR_HANDLER.
13670         * lib/obstack.h: Include string.h earlier.
13671         (_OBSTACK_INTERFACE_VERSION): Define.
13672         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
13673         * lib/obstack.c: Don't include shlib-compat.h.
13674         (OBSTACK_INTERFACE_VERSION): Delete.
13675         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
13676         glibc code is compatible with version 2.  Don't include stdio.h for
13677         __GNU_LIBRARY.
13678         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
13679         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
13680         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
13681         glibc shared library specific source.
13683         obstack: 64-bit obstack support, part 2
13684         This gets us 4G obstack support, without changing ABI
13685         compatibility, apart from possibly introducing some
13686         signed/unsigned comparison warnings in code that uses obstack.h.
13687         a) Replace "int" size parameters, return values, and macro local vars
13688            with _OBSTACK_SIZE_T, an "unsigned int" for now.
13689         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
13690         c) Make all obstack macros checking available room use obstack_room.
13691            "next_free + desired > chunk_limit" may wrap the lhs for chunks
13692            allocated near the top of memory.
13693         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
13694         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
13695         in place of "int" size parameters, return values and local vars.
13696         (_CHUNK_SIZE_T): Define.
13697         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
13698         union use an _OBSTACK_SIZE_T integer type.
13699         For __GNUC__ versions of the following macros...
13700         (obstack_room): Rename local var.
13701         (obstack_make_room): Use obstack_room.
13702         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
13703         obstack_int_grow, obstack_blank): Likewise.
13704         (obstack_finish): Use unsigned comparison when comparing aligned
13705         next_free against chunk_limit.
13706         (obstack_free): Cast OBJ to remove possible const qualifier.
13707         For !__GNUC__ versions of the following macros...
13708         (obstack_make_room): Use obstack_room.
13709         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
13710         obstack_int_grow, obstack_blank): Likewise.
13711         (obstack_finish): Use unsigned comparision when comparing aligned
13712         next_free against chunk_limit.
13713         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
13714         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
13715         _OBSTACK_SIZE_T.
13716         (_obstack_begin, _obstack_begin_1): Likewise.
13717         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
13718         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
13720         obstack: 64-bit obstack support, part 1
13721         a) Correct calls to alloc function, to use a size_t arg.  "long" is
13722            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
13723            and "size_t" 64 bits.
13724         b) Consolidate _obstack_begin and _obstack_begin1 code.
13725         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
13726         use "size_t" rather than "long".
13727         (_obstack_begin, _obstack_begin1): Likewise.
13728         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
13729         obstack_chunkfun): Update alloc function casts.
13730         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
13731         (chunkfun_type, freefun_type): New typdefs.
13732         (_obstack_begin_worker): Split out from ..
13733         (_obstack_begin, _obstack_begin_1): ..here.
13735         obstack: tidy part 2
13736         a) Don't be concerned about "not polluting the namespace with stddef.h
13737            symbols" in obstack.h, since gnulib string.h includes stddef.h
13738            anyway, and it seems unlikely that anyone would care.
13739         b) Don't roll our own slow memcpy in _obstack_newchunk.
13740         c) Rename obstack_free to _obstack_free.  This makes the naming
13741            consistent with other obstack functions and obviates the need for
13742            __obstack_free.  Ancient obstack.c defined both obstack_free and
13743            _obstack_free.  We continue to do that for _LIBC via an alias.
13744         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
13745            is clever, but nowadays gcc warns on undefined macros.  You'll get
13746            an undefined macro warning if simulating an old gcc with -U__GNUC__
13747            -U__GNUC_MINOR__ -D__GNUC__=1.
13748         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
13749         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
13750         (__obstack_free): Delete, update refs.
13751         (_obstack_free): Rename from obstack_free.
13752         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
13753         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
13754         * lib/obstack.c: Don't include stddef.h.
13755         (COPYING_UNIT): Delete.
13756         (_obstack_begin): Formatting fix.
13757         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
13758         (_obstack_free): Rename from __obstack_free, update alias.  Move
13759         undef of obstack_free to where it is needed.
13761         obstack: tidy part 1
13762         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
13763            to me, and result in overlong lines after later patches.
13764         b) Move error handling code, to avoid a forward declaration and to
13765            simplify later patches in this series.
13766         * lib/obstack.h (struct obstack <temp>): Rename fields of union
13767         and update all uses.
13768         * lib/obstack.c: Include stdlib.h earlier.
13769         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
13770         in file.
13771         (print_and_abort): Remove now redundant forward declaration.
13773 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13775         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
13776         Without this change, in bleeding-edge fileutils Autoconf complains
13777         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
13778         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
13779         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
13780         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
13782 2014-10-24  Daiki Ueno  <ueno@gnu.org>
13784         iconv: avoid false detection of non-working iconv
13785         The INBUF arguments of iconv can be either 'const char **'
13786         or 'char **'.  If CC is g++, the difference causes a compile error
13787         and thus leads to a false detection of non-working iconv.
13788         Reported by Eli Zaretskii and Werner LEMBERG in:
13789         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
13790         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
13791         iconv.  Bump serial number.
13793 2014-10-23  Pádraig Brady  <P@draigBrady.com>
13795         bootstrap: print more diagnostics for missing programs
13796         * build-aux/bootstrap: only suppress stderr when checking for
13797         alternative program names.  This supports programs issuing non
13798         standard error messages.
13800 2014-10-23  Pádraig Brady  <P@draigBrady.com>
13802         bootstrap: only update the gnulib submodule
13803         * build-aux/bootstrap: Restrict the "submodule update" command
13804         to the gnulib path.
13806 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
13808         symlinkat: port to AIX 7.1
13809         * doc/posix-functions/symlinkat.texi (symlinkat):
13810         Mention AIX porting problem.
13811         * lib/symlinkat.c: Always include errno.h.
13812         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
13813         * lib/unistd.in.h (symlinkat): Add replacement machinery.
13814         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
13815         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
13816         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
13817         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
13818         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
13820         readlinkat: port to AIX 7.1
13821         * doc/posix-functions/readlink.texi (readlink):
13822         * doc/posix-functions/readlinkat.texi (readlinkat):
13823         Mention AIX porting problem.
13824         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
13825         New function.
13826         * lib/unistd.in.h (readlinkat): Add replacement machinery.
13827         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
13828         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
13829         * modules/readlinkat (configure.ac): Also compile replacement
13830         if REPLACE_READLINKAT.
13831         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
13833 2014-10-12  Karl Berry  <karl@gnu.org>
13835         * doc/posix-functions/dirname.texi: remove spurious {.
13837 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
13839         basename, dirname: Improve documentation.
13840         * doc/posix-functions/basename.texi: Mention dirname module and
13841         base_name() function.
13842         * doc/posix-functions/dirname.texi: Mention dir_name() and
13843         mdir_name() functions.
13844         Suggested by Werner LEMBERG <wl@gnu.org>.
13846 2014-09-24  Jim Meyering  <meyering@fb.com>
13848         exclude: declare exclude_patopts static
13849         * lib/exclude.c (exclude_patopts): Declare static,
13850         to avoid triggering a -Wmissing-prototypes warning.
13851         The alternative (declaring it in the .h file) would
13852         require publicizing the private "struct patopts".
13854 2014-09-21  Werner Lemberg  <wl@gnu.org>
13856         dirname: support compilation with C++
13857         * lib/dirname.h: Add necessary C linkage declarations.
13859 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
13861         qsort_r: include <config.h>
13862         Problem reported by Tom G. Christensen in:
13863         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
13864         * lib/qsort.c [!_LIBC]: Include <config.h> first.
13866 2014-09-16  Dylan Cali  <calid1984@gmail.com>
13868         avltree-list: avoid compiler warnings (trivial)
13869         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
13870         -Werror=suggest-attribute=pure.
13871         * lib/gl_array_list.c: Likewise.
13872         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
13873         declaration to avoid -Werror=missing-prototypes.  This is not added
13874         to a header as only exported for tests.  Add (void) to the
13875         check_invariants() call to indicate we're discarding the result
13876         in this context which avoids -Werror=unused-value.  Note we don't
13877         use ignore_value here to avoid a dependency as we know we'll not
13878         be adding __attribute__((warn_unused_result)) to check_invariants().
13879         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
13881 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13883         qsort_r: new module, for GNU-style qsort_r
13884         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
13886 2014-09-15  Werner LEMBERG  <wl@gnu.org>
13888         strerror_r-posix: support compilation with C++
13889         * lib/strerror_r.c: Add necessary C linkage declarations.
13891 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
13893         fcntl-h: fix compilation with Intel C++ compiler (trivial)
13894         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
13896 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
13898         mountlist: use /proc/self/mountinfo when available
13899         Use libmount to propagate device IDs provided by Linux in
13900         /proc/self/mountinfo.  This will give more accurate output when
13901         using df in chroot'ed environments as the device IDs are not
13902         determined by stat() which may be inaccurate within the chroot.
13903         * lib/mountlist.c (read_file_system_list): Use the libmount routines
13904         from util-linux to parse "/proc/self/mountinfo" or fall back to
13905         standard getmntent() processing.
13906         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
13907         getmntent() is used, as is the case on GNU/Linux.
13909 2014-09-07  Eric Wong  <normalperson@yhbt.net>
13911         users.txt: add cmogstored
13912         cmogstored has used gnulib since the beginning in 2012 to support
13913         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
13915 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
13917         Trivial change.
13918         * gnulib-tool: Use same options as build-aux/bootstrap to download
13919         PO files.
13921 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
13923         Trivial change.
13924         * gnulib-tool: Fallback to wget when rsync of PO files fails.
13926 2014-09-04  Eric Blake  <eblake@redhat.com>
13928         maintainer-makefile: add syntax check for useless ';;'
13929         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
13931 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
13933         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
13934         Problem reported by Assaf Gordon in:
13935         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
13936         Apparently Ubuntu is doing some fancy link-time optimization
13937         that doesn't work with -lpthread but does work with -pthread.
13938         Work around the bug by preferring -pthread to -lpthread.
13939         * m4/pthread.m4 (gl_PTHREAD_CHECK):
13940         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
13941         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13942         Treat -pthread like -lpthread.
13944 2014-09-04  Eric Blake  <eblake@redhat.com>
13946         error: drop spurious semicolon
13947         * lib/error.c (__error_at_line): Fix ';;'.
13949 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
13951         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
13952         * m4/gnulib-common.m4 (AC_C_RESTRICT):
13953         Override AC_C_RESTRICT unconditionally.
13954         Update from autoconf, incorporating:
13955         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
13956         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
13958 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13960         manywarnings: add GCC 4.9 warnings
13961         Also, make it easier to maintain this in the future.
13962         * build-aux/gcc-warning.spec: Add -Wabi-tag,
13963         -Wconditionally-supported, -Wdelete-incomplete,
13964         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
13965         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
13966         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
13967         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
13968         only for older GCC versions that need them.  Handle
13969         -Wnormalized=nfc specially, so that the 'comm' command used
13970         for maintenance doesn't get confused.
13972 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13974         vasnprintf: fix bugs in width computation
13975         * lib/vasnprintf.c (VASNPRINTF):
13976         Rework previous change, which introduced a bug,
13977         to avoid the warning in a different way.
13978         Avoid undefined behavior if the width arg is less than -INT_MAX.
13979         Avoid unnecessary use of HAS_WIDTH local.
13981 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
13983         vasnprintf: Avoid signed/unsigned comparison warning.
13984         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
13985         compare end addr of generated string w/ maximum end addr.
13987 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
13989         parse-datetime: Avoid pointer difference.
13990         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
13991         instead of calculating difference of pointers.  This removes an
13992         annoying warning, devoid of any use.
13994 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
13996         qsort_r: new module, for GNU-style qsort_r
13997         This works even on FreeBSD, which has an incompatible qsort_r API.
13998         * MODULES.html.sh: Add it.
13999         * doc/glibc-functions/qsort_r.texi: It's now supported.
14000         * lib/qsort.c: New file, taken from glibc with minor changes
14001         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
14002         removed.
14003         * lib/qsort_r.c: New file, compiled only on FreeBSD.
14004         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
14005         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
14006         * modules/qsort_r, modules/qsort_r-tests: New files.
14007         * modules/stdlib (Makefile): Set up its defaults.
14008         * tests/test-qsort_r.c: New file.
14010 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
14012         vla: new module
14013         GNU RCS can use this, mostly for documentation I expect.  See:
14014         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
14015         * MODULES.html.sh: Add vla.
14016         * lib/vla.h, modules/vla: New files.
14018 2014-08-07  Daiki Ueno  <ueno@gnu.org>
14020         localename: make gl_locale_name_thread really thread-safe on Windows
14021         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
14022         "glthread/lock.h".
14023         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
14024         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
14026 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
14028         getpass: don't assume struct termios
14029         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
14030         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
14031         * lib/getpass.c (getpass): Port to systems lacking struct termios.
14033         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
14034         Problem reported by Jonas 'Sortie' Termansen in:
14035         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
14036         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
14037         Implement via sysconf for platforms that lack getdtablesize.
14039         vararrays: modernize AC_C_VARARRAYS for C11
14040         This backports a change I recently made to Autoconf.
14041         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
14042         VLAs are not supported, as this is what C11 does.  The old macro
14043         HAVE_C_VARARRAYS is still defined if they are supported, but is
14044         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
14046 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
14048         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
14049         * build-aux/install-reloc (func_create_wrapper): Also wrap
14050         strerror-override, stat, stat.
14052 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
14054         sys_select: fix FD_ZERO problem on Solaris 10
14055         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
14056         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
14057         to expand to an expression that invoked memset without necessarily
14058         including <string.h>.  The problem was that the first include
14059         defined _SYS_TIME_H, causing the second include to short-circuit.
14060         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
14061         Also, fix what appears to be a cut-and-paste typo, by replacing
14062         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
14063         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
14065         accept: document Solaris 10 type glitch
14066         * doc/posix-functions/accept.texi (accept): Mention that
14067         Solaris 10 'accept' takes void * last arg, not socklen_t *.
14069 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
14071         extern-inline: port to FreeBSD, DragonFly
14072         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
14073         is present if either __DragonFly__ or __FreeBSD__ is defined.
14074         FreeBSD problem reported by Andrey Borzenkov in:
14075         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
14076         Also, worry about __APPLE__ only if __MACH__ is also defined,
14077         as this is more consistent with the rest of gnulib.
14078         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
14079         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
14081 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
14083         regex: Make #if/#ifdef usage consistent for DEBUG
14084         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
14085         of the inconsistent usage of #if and #ifdef as that works with
14086         both Glibc and Gnulib's style.
14088 2014-07-31  Eric Blake  <eblake@redhat.com>
14090         openat-die: use _Noreturn markup
14091         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
14092         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
14093         _Noreturn.
14095 2014-07-30  Eric Blake  <eblake@redhat.com>
14097         test-open: port to cygwin, which lacks Fortify
14098         * tests/test-open.h (ALWAYS_INLINE): New macro.
14099         (__always_inline): Don't abuse internal symbol on non-glibc.
14101 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
14103         localename: Enforce declarations before statements.
14104         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
14105         first statement.
14107 2014-07-18  Jim Meyering  <meyering@fb.com>
14109         test-userspec: don't look up numeric user names
14110         * tests/test-userspec.c: I found a system for which getpwnam("0")
14111         returned a pointer to a non-root user's entry, and that made the
14112         test fail.
14113         (T): Prefix each numeric input with "+", to inhibit lookup.
14115 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
14117         localcharset, localename: MS-Windows support for non-default locales
14118         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
14119         falling back on the default system codepage, try extracting
14120         the codepage from what 'setlocale' returns.  This allows to
14121         take into account changes of the codeset due to non-default
14122         locale set by a previous call to 'setlocale'.
14123         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
14124         Define if not already defined.
14125         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
14126         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
14127         current locale by calling 'setlocale', then converting the
14128         locale name into LCID by calling 'get_lcid'.  This allows to
14129         take into account changes in the current locale from the
14130         default one, in contrast to GetThreadLocale.
14132 2014-07-14  Daiki Ueno  <ueno@gnu.org>
14134         announce-gen: avoid failure when Digest::SHA is installed
14135         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
14136         Digest::SHA1->new in print_checksums fails.
14137         * build-aux/announce-gen (digest_classes): New associative array
14138         for available message digest implementations.
14139         (print_locations): Use it.
14141 2014-07-13  Pádraig Brady  <P@draigBrady.com>
14143         gettext: revert "update macros to version 0.19"
14144         This reverts commit 9b9370ca, as it currently requires that
14145         developers of any project that explicitly uses the gettext module
14146         or implicitly uses it through the utimens-tests or
14147         futimens-tests modules, use gettext >= 0.19.
14148         However there are some stability and availablity issues with
14149         that version at present.  We can reinstate this soon, when stability
14150         is addressed and packages are more readily available.
14152 2014-07-12  Jim Meyering  <meyering@fb.com>
14154         regex: don't deref NULL upon heap allocation failure
14155         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
14156         failure in one more place.
14157         To trigger the segfault, configure grep -with-included-regex,
14158         build it, and run these commands:
14159         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
14160         I discovered this while replying to a private report from
14161         Jens Schleusener about excessive memory consumption by grep
14162         when using a regular expression like the one above.
14164 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
14166         regex: fix memory leak in compiler
14167         Fix by Andreas Schwab in:
14168         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
14169         * lib/regcomp.c (parse_reg_exp): Deallocate partially
14170         constructed tree before returning error.
14172 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
14174         announce-gen: avoid perl warnings
14175         * build-aux/announce-gen: add two minor checks to avoid
14176         "use of uninitialized value" warnings when command-line parameters are
14177         missing.
14179 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
14181         localename: avoid -Wsuggest-attribute={const,pure} warnings
14182         * lib/localename.c (string_has): Tag internal function as pure.
14183         * lib/localename.h (gl_locale_name_default): Tag extern declaration
14184         as const when appropriate.
14186 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
14188         nl_langinfo: Fix last change.
14189         * lib/nl_langinfo.c (includes): Drop redundant include.
14191 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
14193         error: Fix -Wundef warnings in glibc
14194         * lib/error.c [_LIBC]: Define default macros for
14195         glibc.
14196         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
14197         Check _LIBC before STRERROR_R_CHAR_P.
14199         error: Sync from glibc master
14200         * lib/error.c [_LIBC]: Remove INTUSE usage.
14201         (error_tail): Remove unused macro ALLOCA_LIMIT.
14202         Fix potential buffer overflow.  Fix potential NULL dereference
14203         in strcmp.
14205 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
14207         nl_langinfo: fix build under mingw
14208         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
14210 2014-07-09  Andrew D Warshall  <warshall@99main.com>
14212         mountlist: do not classify a bind-mounted dir entry as "dummy"
14213         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
14214         1-argument getmntent() (instead of assuming absence).
14216 2014-07-08  Eric Blake  <eblake@redhat.com>
14218         maint.mk: less syntax-check noise when SIGPIPE is ignored
14219         * top/maint.mk (_sc_header_without_use)
14220         (sc_require_config_h_first): Parse full list.
14222 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
14223             Paul Eggert  <eggert@cs.ucla.edu>
14225         nl_langinfo: CODESET on MS-Windows and more items from localeconv
14226         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
14227         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
14228         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
14229         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
14230         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
14231         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
14232         Include <stdio.h> if Microsoft Windows.
14233         Include <time.h> if !REPLACE_NL_LANGINFO.
14234         (ctype_codeset): New function, taken from rpl_nl_langinfo,
14235         and with improvements for Microsoft Windows.
14236         (rpl_nl_langinfo): Use it.
14237         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
14238         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
14239         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
14240         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
14241         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
14242         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
14243         corresponding values returned by 'localeconv'.  Compute the values
14244         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
14245         'strftime' with a suitable struct tm value.
14247 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14249         Bruno Haible has stepped down as maintainer.
14250         See Karl Berry in:
14251         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
14252         Daiki Ueno has volunteered to maintain libunistring; see:
14253         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
14254         * modules/gen-uni-tables, modules/libunistring:
14255         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
14256         * modules/unicase/base, modules/unicase/cased:
14257         * modules/unicase/empty-prefix-context:
14258         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
14259         * modules/unicase/locale-language, modules/unicase/special-casing:
14260         * modules/unicase/tocasefold, modules/unicase/tolower:
14261         * modules/unicase/totitle, modules/unicase/toupper:
14262         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
14263         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
14264         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
14265         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
14266         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
14267         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
14268         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
14269         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
14270         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
14271         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
14272         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
14273         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
14274         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
14275         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
14276         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
14277         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
14278         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
14279         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
14280         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
14281         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
14282         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
14283         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
14284         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
14285         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
14286         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
14287         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
14288         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
14289         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
14290         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
14291         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
14292         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
14293         * modules/unicase/ulc-casexfrm, modules/unicodeio:
14294         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
14295         * modules/uniconv/u16-conv-to-enc:
14296         * modules/uniconv/u16-strconv-from-enc:
14297         * modules/uniconv/u16-strconv-from-locale:
14298         * modules/uniconv/u16-strconv-to-enc:
14299         * modules/uniconv/u16-strconv-to-locale:
14300         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
14301         * modules/uniconv/u32-strconv-from-enc:
14302         * modules/uniconv/u32-strconv-from-locale:
14303         * modules/uniconv/u32-strconv-to-enc:
14304         * modules/uniconv/u32-strconv-to-locale:
14305         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
14306         * modules/uniconv/u8-strconv-from-enc:
14307         * modules/uniconv/u8-strconv-from-locale:
14308         * modules/uniconv/u8-strconv-to-enc:
14309         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
14310         * modules/unictype/bidicategory-all:
14311         * modules/unictype/bidicategory-byname:
14312         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
14313         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
14314         * modules/unictype/bidiclass-byname:
14315         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
14316         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
14317         * modules/unictype/block-all, modules/unictype/block-list:
14318         * modules/unictype/block-of, modules/unictype/block-test:
14319         * modules/unictype/category-C, modules/unictype/category-Cc:
14320         * modules/unictype/category-Cf, modules/unictype/category-Cn:
14321         * modules/unictype/category-Co, modules/unictype/category-Cs:
14322         * modules/unictype/category-L, modules/unictype/category-LC:
14323         * modules/unictype/category-Ll, modules/unictype/category-Lm:
14324         * modules/unictype/category-Lo, modules/unictype/category-Lt:
14325         * modules/unictype/category-Lu, modules/unictype/category-M:
14326         * modules/unictype/category-Mc, modules/unictype/category-Me:
14327         * modules/unictype/category-Mn, modules/unictype/category-N:
14328         * modules/unictype/category-Nd, modules/unictype/category-Nl:
14329         * modules/unictype/category-No, modules/unictype/category-P:
14330         * modules/unictype/category-Pc, modules/unictype/category-Pd:
14331         * modules/unictype/category-Pe, modules/unictype/category-Pf:
14332         * modules/unictype/category-Pi, modules/unictype/category-Po:
14333         * modules/unictype/category-Ps, modules/unictype/category-S:
14334         * modules/unictype/category-Sc, modules/unictype/category-Sk:
14335         * modules/unictype/category-Sm, modules/unictype/category-So:
14336         * modules/unictype/category-Z, modules/unictype/category-Zl:
14337         * modules/unictype/category-Zp, modules/unictype/category-Zs:
14338         * modules/unictype/category-all, modules/unictype/category-and:
14339         * modules/unictype/category-and-not, modules/unictype/category-byname:
14340         * modules/unictype/category-longname, modules/unictype/category-name:
14341         * modules/unictype/category-none, modules/unictype/category-of:
14342         * modules/unictype/category-or, modules/unictype/category-test:
14343         * modules/unictype/category-test-withtable:
14344         * modules/unictype/combining-class:
14345         * modules/unictype/combining-class-all:
14346         * modules/unictype/combining-class-byname:
14347         * modules/unictype/combining-class-longname:
14348         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
14349         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
14350         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
14351         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
14352         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
14353         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
14354         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
14355         * modules/unictype/digit, modules/unictype/joininggroup-all:
14356         * modules/unictype/joininggroup-byname:
14357         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
14358         * modules/unictype/joiningtype-all:
14359         * modules/unictype/joiningtype-byname:
14360         * modules/unictype/joiningtype-longname:
14361         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
14362         * modules/unictype/mirror, modules/unictype/numeric:
14363         * modules/unictype/property-all, modules/unictype/property-alphabetic:
14364         * modules/unictype/property-ascii-hex-digit:
14365         * modules/unictype/property-bidi-arabic-digit:
14366         * modules/unictype/property-bidi-arabic-right-to-left:
14367         * modules/unictype/property-bidi-block-separator:
14368         * modules/unictype/property-bidi-boundary-neutral:
14369         * modules/unictype/property-bidi-common-separator:
14370         * modules/unictype/property-bidi-control:
14371         * modules/unictype/property-bidi-embedding-or-override:
14372         * modules/unictype/property-bidi-eur-num-separator:
14373         * modules/unictype/property-bidi-eur-num-terminator:
14374         * modules/unictype/property-bidi-european-digit:
14375         * modules/unictype/property-bidi-hebrew-right-to-left:
14376         * modules/unictype/property-bidi-left-to-right:
14377         * modules/unictype/property-bidi-non-spacing-mark:
14378         * modules/unictype/property-bidi-other-neutral:
14379         * modules/unictype/property-bidi-pdf:
14380         * modules/unictype/property-bidi-segment-separator:
14381         * modules/unictype/property-bidi-whitespace:
14382         * modules/unictype/property-byname:
14383         * modules/unictype/property-case-ignorable:
14384         * modules/unictype/property-cased:
14385         * modules/unictype/property-changes-when-casefolded:
14386         * modules/unictype/property-changes-when-casemapped:
14387         * modules/unictype/property-changes-when-lowercased:
14388         * modules/unictype/property-changes-when-titlecased:
14389         * modules/unictype/property-changes-when-uppercased:
14390         * modules/unictype/property-combining:
14391         * modules/unictype/property-composite:
14392         * modules/unictype/property-currency-symbol:
14393         * modules/unictype/property-dash:
14394         * modules/unictype/property-decimal-digit:
14395         * modules/unictype/property-default-ignorable-code-point:
14396         * modules/unictype/property-deprecated:
14397         * modules/unictype/property-diacritic:
14398         * modules/unictype/property-extender:
14399         * modules/unictype/property-format-control:
14400         * modules/unictype/property-grapheme-base:
14401         * modules/unictype/property-grapheme-extend:
14402         * modules/unictype/property-grapheme-link:
14403         * modules/unictype/property-hex-digit:
14404         * modules/unictype/property-hyphen:
14405         * modules/unictype/property-id-continue:
14406         * modules/unictype/property-id-start:
14407         * modules/unictype/property-ideographic:
14408         * modules/unictype/property-ids-binary-operator:
14409         * modules/unictype/property-ids-trinary-operator:
14410         * modules/unictype/property-ignorable-control:
14411         * modules/unictype/property-iso-control:
14412         * modules/unictype/property-join-control:
14413         * modules/unictype/property-left-of-pair:
14414         * modules/unictype/property-line-separator:
14415         * modules/unictype/property-logical-order-exception:
14416         * modules/unictype/property-lowercase, modules/unictype/property-math:
14417         * modules/unictype/property-non-break:
14418         * modules/unictype/property-not-a-character:
14419         * modules/unictype/property-numeric:
14420         * modules/unictype/property-other-alphabetic:
14421         * modules/unictype/property-other-default-ignorable-code-point:
14422         * modules/unictype/property-other-grapheme-extend:
14423         * modules/unictype/property-other-id-continue:
14424         * modules/unictype/property-other-id-start:
14425         * modules/unictype/property-other-lowercase:
14426         * modules/unictype/property-other-math:
14427         * modules/unictype/property-other-uppercase:
14428         * modules/unictype/property-paired-punctuation:
14429         * modules/unictype/property-paragraph-separator:
14430         * modules/unictype/property-pattern-syntax:
14431         * modules/unictype/property-pattern-white-space:
14432         * modules/unictype/property-private-use:
14433         * modules/unictype/property-punctuation:
14434         * modules/unictype/property-quotation-mark:
14435         * modules/unictype/property-radical:
14436         * modules/unictype/property-sentence-terminal:
14437         * modules/unictype/property-soft-dotted:
14438         * modules/unictype/property-space:
14439         * modules/unictype/property-terminal-punctuation:
14440         * modules/unictype/property-test, modules/unictype/property-titlecase:
14441         * modules/unictype/property-unassigned-code-value:
14442         * modules/unictype/property-unified-ideograph:
14443         * modules/unictype/property-uppercase:
14444         * modules/unictype/property-variation-selector:
14445         * modules/unictype/property-white-space:
14446         * modules/unictype/property-xid-continue:
14447         * modules/unictype/property-xid-start:
14448         * modules/unictype/property-zero-width, modules/unictype/scripts:
14449         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
14450         * modules/unictype/syntax-c-whitespace:
14451         * modules/unictype/syntax-java-ident:
14452         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
14453         * modules/unigbrk/u16-grapheme-breaks:
14454         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
14455         * modules/unigbrk/u32-grapheme-breaks:
14456         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
14457         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
14458         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
14459         * modules/unigbrk/uc-is-grapheme-break:
14460         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
14461         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
14462         * modules/unilbrk/u16-width-linebreaks:
14463         * modules/unilbrk/u32-possible-linebreaks:
14464         * modules/unilbrk/u32-width-linebreaks:
14465         * modules/unilbrk/u8-possible-linebreaks:
14466         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
14467         * modules/unilbrk/ulc-possible-linebreaks:
14468         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
14469         * modules/uniname/uniname, modules/uninorm/base:
14470         * modules/uninorm/canonical-decomposition:
14471         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
14472         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
14473         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
14474         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
14475         * modules/uninorm/nfkc, modules/uninorm/nfkd:
14476         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
14477         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
14478         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
14479         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
14480         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
14481         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
14482         * modules/unistdio/base, modules/unistdio/u-printf-args:
14483         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
14484         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
14485         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
14486         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
14487         * modules/unistdio/u16-u16-sprintf:
14488         * modules/unistdio/u16-u16-vasnprintf:
14489         * modules/unistdio/u16-u16-vasprintf:
14490         * modules/unistdio/u16-u16-vsnprintf:
14491         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
14492         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
14493         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
14494         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
14495         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
14496         * modules/unistdio/u32-u32-asnprintf:
14497         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
14498         * modules/unistdio/u32-u32-sprintf:
14499         * modules/unistdio/u32-u32-vasnprintf:
14500         * modules/unistdio/u32-u32-vasprintf:
14501         * modules/unistdio/u32-u32-vsnprintf:
14502         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
14503         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
14504         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
14505         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
14506         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
14507         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
14508         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
14509         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
14510         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
14511         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
14512         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
14513         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
14514         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
14515         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
14516         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
14517         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
14518         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
14519         * modules/unistr/u16-check, modules/unistr/u16-chr:
14520         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
14521         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
14522         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
14523         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
14524         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
14525         * modules/unistr/u16-move, modules/unistr/u16-next:
14526         * modules/unistr/u16-prev, modules/unistr/u16-set:
14527         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
14528         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
14529         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
14530         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
14531         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
14532         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
14533         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
14534         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
14535         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
14536         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
14537         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
14538         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
14539         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
14540         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
14541         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
14542         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
14543         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
14544         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
14545         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
14546         * modules/unistr/u32-next, modules/unistr/u32-prev:
14547         * modules/unistr/u32-set, modules/unistr/u32-startswith:
14548         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
14549         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
14550         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
14551         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
14552         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
14553         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
14554         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
14555         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
14556         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
14557         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
14558         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
14559         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
14560         * modules/unistr/u8-check, modules/unistr/u8-chr:
14561         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
14562         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
14563         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
14564         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
14565         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
14566         * modules/unistr/u8-next, modules/unistr/u8-prev:
14567         * modules/unistr/u8-set, modules/unistr/u8-startswith:
14568         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
14569         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
14570         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
14571         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
14572         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
14573         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
14574         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
14575         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
14576         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
14577         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
14578         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
14579         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
14580         * modules/uniwbrk/base, modules/uniwbrk/table:
14581         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
14582         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
14583         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
14584         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
14585         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
14586         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
14587         * modules/uniwidth/width, modules/utf16-ucs4:
14588         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
14589         * modules/utf8-ucs4-unsafe:
14590         Change maintainer from Bruno Haible to Daiki Ueno.
14591         This is my guess at the libunistring modules; please feel free
14592         to fix if I guessed incorrectly.
14593         * modules/accept4, modules/acl, modules/acos, modules/acosf:
14594         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
14595         * modules/areadlink, modules/array-list, modules/array-mergesort:
14596         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
14597         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
14598         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
14599         * modules/binary-io, modules/bison-i18n, modules/btowc:
14600         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
14601         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
14602         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
14603         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
14604         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
14605         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
14606         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
14607         * modules/closedir, modules/concat-filename, modules/copy-file:
14608         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
14609         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
14610         * modules/csharpcomp-script, modules/csharpexec:
14611         * modules/csharpexec-script, modules/ctype, modules/diffseq:
14612         * modules/dprintf, modules/dprintf-posix, modules/dup:
14613         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
14614         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
14615         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
14616         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
14617         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
14618         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
14619         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
14620         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
14621         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
14622         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
14623         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
14624         * modules/findprog, modules/findprog-lgpl, modules/floor:
14625         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
14626         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
14627         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
14628         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
14629         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
14630         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
14631         * modules/freadable, modules/freadahead, modules/freadptr:
14632         * modules/freadseek, modules/freopen, modules/frexp:
14633         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
14634         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
14635         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
14636         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
14637         * modules/ftello, modules/full-read, modules/full-write:
14638         * modules/fwritable, modules/fwriteerror, modules/gcd:
14639         * modules/get-rusage-as, modules/get-rusage-data:
14640         * modules/getdtablesize, modules/getrusage, modules/gettext:
14641         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
14642         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
14643         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
14644         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
14645         * modules/iconv, modules/iconv-h, modules/iconv_open:
14646         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
14647         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
14648         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
14649         * modules/integer_length_ll, modules/ioctl, modules/isatty:
14650         * modules/isblank, modules/isnand, modules/isnand-nolibm:
14651         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
14652         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
14653         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
14654         * modules/javaexec, modules/javaexec-script, modules/javaversion:
14655         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
14656         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
14657         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
14658         * modules/lib-symbol-visibility, modules/libsigsegv:
14659         * modules/linked-list, modules/linkedhash-list, modules/list:
14660         * modules/localcharset, modules/locale, modules/localeconv:
14661         * modules/localename, modules/lock, modules/log, modules/log-ieee:
14662         * modules/log10, modules/log10-ieee, modules/log10f:
14663         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
14664         * modules/log1p, modules/log1p-ieee, modules/log1pf:
14665         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
14666         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
14667         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
14668         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
14669         * modules/logf, modules/logf-ieee, modules/login_tty:
14670         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
14671         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
14672         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
14673         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
14674         * modules/mbscspn, modules/mbsinit, modules/mbslen:
14675         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
14676         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
14677         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
14678         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
14679         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
14680         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
14681         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
14682         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
14683         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
14684         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
14685         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
14686         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
14687         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
14688         * modules/posix_spawn, modules/posix_spawn-internal:
14689         * modules/posix_spawn_file_actions_addclose:
14690         * modules/posix_spawn_file_actions_adddup2:
14691         * modules/posix_spawn_file_actions_addopen:
14692         * modules/posix_spawn_file_actions_destroy:
14693         * modules/posix_spawn_file_actions_init:
14694         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
14695         * modules/posix_spawnattr_getpgroup:
14696         * modules/posix_spawnattr_getschedparam:
14697         * modules/posix_spawnattr_getschedpolicy:
14698         * modules/posix_spawnattr_getsigdefault:
14699         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
14700         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
14701         * modules/posix_spawnattr_setschedparam:
14702         * modules/posix_spawnattr_setschedpolicy:
14703         * modules/posix_spawnattr_setsigdefault:
14704         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
14705         * modules/pow, modules/powf, modules/printf-frexp:
14706         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
14707         * modules/progname, modules/propername, modules/pselect:
14708         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
14709         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
14710         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
14711         * modules/read, modules/readdir, modules/readlink:
14712         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
14713         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
14714         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
14715         * modules/relocatable-script, modules/remainder:
14716         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
14717         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
14718         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
14719         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
14720         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
14721         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
14722         * modules/setlocale, modules/sh-quote, modules/shutdown:
14723         * modules/signal, modules/signbit, modules/sigpipe:
14724         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
14725         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
14726         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
14727         * modules/snippet/link-warning, modules/snippet/unused-parameter:
14728         * modules/snprintf, modules/snprintf-posix, modules/spawn:
14729         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
14730         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
14731         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
14732         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
14733         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
14734         * modules/streq, modules/strerror_r-posix, modules/striconv:
14735         * modules/striconveh, modules/striconveha, modules/strncat:
14736         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
14737         * modules/sublist, modules/sys_resource, modules/sys_utsname:
14738         * modules/sys_wait, modules/system-posix, modules/system-quote:
14739         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
14740         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
14741         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
14742         * modules/truncf, modules/truncf-ieee, modules/truncl:
14743         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
14744         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
14745         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
14746         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
14747         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
14748         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
14749         * modules/wait-process, modules/waitpid, modules/wcpcpy:
14750         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
14751         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
14752         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
14753         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
14754         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
14755         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
14756         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
14757         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
14758         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
14759         * modules/write, modules/xconcat-filename, modules/xlist:
14760         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
14761         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
14762         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
14763         * modules/y0, modules/y1, modules/yn:
14764         Remove Bruno Haible as maintainer; if he's the sole maintainer,
14765         change the maintainer to 'all'.  Let's hope someone volunteers.
14767 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
14769         mktime: merge #if/#ifdef usage from glibc
14770         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
14771         as that works with both Glibc's and Gnulib's style.
14772         See thread starting at Siddhesh Poyarekar's bug report at:
14773         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
14775 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
14777         git-version-gen: improve option descriptions
14778         * build-aux/git-version-gen: Mention that --prefix and --fallback
14779         have a mandatory argument.
14781 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
14783         regex: fix memory leak in compiler
14784         Fix by Andreas Schwab in:
14785         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
14786         * lib/regcomp.c (parse_expression): Deallocate partially
14787         constructed tree before returning error.
14789         regex: merge patch from libc
14790         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
14791         Combine __USE_BSD and __USE_SVID into __USE_MISC.
14792         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
14794 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
14796         acl: port to gcc -Wredundant-decls
14797         From a request by Dmitry Antipov in:
14798         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
14799         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
14800         "#ifndef _GL_ACL_H".
14802 2014-06-11  Bruce Korb  <bkorb@gnu.org>
14803         Jim Meyering  <meyering@fb.com>
14805         parse-duration: eliminate 68-year duration limit
14806         * lib/parse-duration.c: Include "intprops.h".
14807         (TIME_MAX): Rename to MAX_DURATION and define to
14808         TYPE_MAXIMUM(time_t).
14809         * modules/parse-duration (Depends-on): Add intprops.
14810         Reported by Jonas 'Sortie' Termansen.
14812 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
14814         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
14815         * modules/pthread (Depends-on): Add 'extensions', as it defines
14816         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
14817         (configure.ac-early): New section.
14818         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
14819         it is no longer needed.
14821 2014-06-14  Pádraig Brady  <P@draigBrady.com>
14823         pthread: define thread-safe macros on some platforms
14824         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
14825         for thread-safe operation on some platforms.
14827 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
14829         regex: don't be multithreaded if USE_UNLOCKED_IO.
14830         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
14831         * lib/regex_internal.h: Do not use multithreaded version if
14832         USE_UNLOCKED_IO is defined.  This is a hack, but it works
14833         around a porting bug with coreutils 8.22 on AIX 7.1.
14835 2014-06-11  Daiki Ueno  <ueno@gnu.org>
14837         gettext: update macros to version 0.19
14838         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
14839         depend on gl_EXTERN_INLINE and drop support for older Bison
14840         versions.
14842 2014-06-10  Pádraig Brady  <P@draigBrady.com>
14844         select,poll: fix console handle check on windows 8
14845         lib/poll.c (IsConsoleHandle): Change from testing the lower
14846         2 bits of the handle to the more expensive but accurate syscall.
14847         lib/select.c: Likewise.
14849 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
14851         select: fix waiting on anonymous pipes on MS-Windows
14852         * lib/select.c (rpl_select): Fall back to polling when select()
14853         indicates there is nothing to check, while due to the timeout not
14854         expiring, activity is indicated on one of the handles.
14855         Also clear the TIMEOUT argument if the timer does expire.
14857 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
14859         times: fix to return non constant value on MS-Windows
14860         * lib/times.c (times): Don't use the process creation time,
14861         rather clock() which on windows returns the number of
14862         clock ticks since the process started.
14864 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
14866         isatty: fix to work on windows 8
14867         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
14868         2 bits of the handle to the more expensive but accurate syscall.
14870 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
14872         maint: fix typo in fdl.texi
14873         * doc/fdl.texi: Fix typo (missing '@').
14874         Somehow this was in fdl.texi but not fdl-1.3.texi.
14876 2014-06-06  Ben Walton  <bdwalton@gmail.com>
14878         mountlist: avoid hasmntopt const type warning on solaris
14879         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
14880         with char * instead of const char *.  Passing the constant string
14881         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
14882         to avoid the warning.
14884 2014-06-04  Eric Blake  <eblake@redhat.com>
14886         maintainer-makefile: delete obsolete code
14887         * top/maint.mk (build_aux): Drop old code, as threatened.
14889         maintainer-makefile: avoid spurious error messages
14890         * top/maint.mk (syntax-check): Guard definition and use of
14891         $(shell) by whether Makefile is present.
14893 2014-06-03  Ben Walton  <bdwalton@gmail.com>
14895         rename: avoid unused-but-set-variable compiler warning
14896         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
14897         it is possible that dst_exists may be set but not used.  Mark it with
14898         the unused attribute to avoid compiler warnings.
14900 2014-06-02  Ben Walton  <bdwalton@gmail.com>
14902         rename: mark a label as potentially unused
14903         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
14904         by marking the out label as potentially unused.
14905         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
14907 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
14909         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
14910         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
14912 2014-06-02  Ben Walton  <bdwalton@gmail.com>
14914         acl: apply pure attribute to two functions
14915         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
14916         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
14918 2014-06-01  Pádraig Brady  <P@draigBrady.com>
14920         gnulib-common.m4: add _GL_UNUSED_LABEL
14921         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
14922         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
14924 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
14926         dup2, fcntl, fcntl-h: port to AIX 7.1
14927         This fixes some porting problems discovered when testing the latest
14928         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
14929         in grep but it could be important for other applications.
14930         * doc/posix-functions/dup2.texi:
14931         * doc/posix-functions/fcntl.texi:
14932         * doc/posix-headers/fcntl.texi:
14933         Document AIX bugs.
14934         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
14935         Define to 0 if outside 'int' range.
14936         * m4/dup2.m4 (gl_FUNC_DUP2):
14937         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14938         Check for getdtablesize.  If it's available, test a value just
14939         outside its range instead of testing 1000000.  When cross-compiling,
14940         guess that AIX will fail this improved test.
14942 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
14944         printf, config.rpath: Port to FreeBSD 10.
14945         Problem reported by Tijl Coosemans in:
14946         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
14947         * build-aux/config.rpath (hardcode_libdir_flag_spec)
14948         (hardcode_direct): Simplify FreeBSD configuration.
14949         (library_names_spec): Don't mishandle FreeBSD 10+.
14950         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
14951         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
14952         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
14953         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
14954         Don't mishandle FreeBSD 10+ when cross-compiling.
14956         ftoastr: work around compiler bug in IBM xlc 12.1
14957         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
14958         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
14959         around a compiler bug in IBM xlc 12.1.0.0: it complains
14960         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
14961         _GL_FLT_PREC_BOUND.'
14963 2014-05-30  Kieran Colford  <colfordk@gmail.com>
14965         valgrind-tests: fixed misleading help message
14966         * m4/valgrind-tests.m4: The help message generated by configure
14967         implied that valgrind was disabled by default, which it wasn't.
14968         Adjusted the help message using s/enable/disable/ to clarify.
14970 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
14972         isfinite, isinf, isnan tests: fix for little-endian PowerPC
14973         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
14974         first double of a PowerPC "double double" pair.
14975         * tests/test-isinf.c (test_isinfl): Likewise.
14976         * tests/test-isnan.c (test_long_double): Likewise.
14977         * tests/test-isnanl.h (main): Likewise.
14978         * tests/test-signbit.c (test_signbitl): Likewise.
14980 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
14982         exclude-tests: port to AIX 7.1
14983         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
14984         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
14985         the regex code uses locks.
14987 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
14989         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
14990         Without this fix, Emacs would sometimes call sigprocmask instead
14991         of pthread_sigmask, which is a no-no in multithreaded applications.
14992         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
14993         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
14994         Suppress check for pthread_sigmask working without -lpthread if
14995         the application always links with -lpthread.  Do not link with
14996         $LIBMULTITHREAD if gl_THREADLIB is not defined.
14997         * m4/timer_time.m4 (gl_TIMER_TIME):
14998         Require gl_THREADLIB only if it is defined.  Do not append
14999         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
15001 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
15003         gnulib-tool: wget translations using --no-verbose rather than --quiet
15004         This allows the user to see error messages if any (--quiet hides them)
15005         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
15007 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
15009         gnulib-tool: adjust translation wget to avoid a https redirection
15010         Context: http://translationproject.org/latest/gnulib redirects to
15011            https://translationproject.org/latest/gnulib/
15012         Rationale: if the user falls back to wget, she doesn't have rsync and
15013         is probably in a minimal build environment, where packages such as
15014         'ca-certificates' are missing as well, resulting in a failed (and
15015         difficult to detect since ignored) translation initial fetch.
15016         Consequently let's avoid https if possible, and add the missing
15017         trailing slash.  This also avoids an unnecessary 302 redirection.
15018         * gnulib-tool: Add trailing slash to gnulib URL.
15020 2014-05-22  Pádraig Brady  <P@draigBrady.com>
15022         getlogin_r-tests: check return value rather than errno
15023         * tests/test-getlogin_r.c (main): As per POSIX we should be
15024         verifying the return value from getlogin_r() rather than errno.
15026 2014-05-22  Pádraig Brady  <P@draigBrady.com>
15028         getlogin_r-tests: fix various issues in recent change
15029         * tests/test-getlogin_r.c: Include required headers that were
15030         missed in recent commit eec20b4e.
15031         Also consistently check the errno rather than the return value from
15032         getlogin_r as POSIX only specifies that non zero is returned on error.
15033         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
15035 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
15037         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
15038         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
15039         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
15040         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
15041         * lib/spawn-pipe.c:
15042         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
15043         and then 'int open64(const char *, int, ...);', which means the
15044         declaration for 'open' gets lost if we later '#undef open'.
15045         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
15046         where the compilation reported the non-fatal error "In function
15047         'openat_proc_name' ... warning: implicit declaration of function
15048         'open'".  In this case the error is relatively harmless, but in
15049         other cases it might not be so minor.
15051 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15053         xalloc: don't potentially generate invalid code for xmemdup calls
15054         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
15055         this function can initialize the newly-allocated storage with new
15056         pointers, which means this function is not malloc-like.  See:
15057         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
15059 2014-05-19  Pádraig Brady  <P@draigBrady.com>
15061         getlogin_r-tests: avoid false failure under sudo/ssh etc.
15062         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
15063         changes from commit 97249cf29 to not depend on environment variables.
15065 2014-05-18  Pádraig Brady  <P@draigBrady.com>
15067         getlogin-tests: avoid false failure under cron
15068         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
15069         since that's not what's under test.  Centos 6 was seen to return
15070         EINVAL for ttyname() when run from cron.
15072 2014-05-16  Jim Meyering  <meyering@fb.com>
15074         mbrtowc.m4: fix a comment typo
15075         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
15076         emitted documentation string.
15078 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15080         mbrlen, mbrtowc: fix bug with empty input
15081         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
15082         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
15083         so this is mainly for documentation.
15084         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
15085         (gl_FUNC_MBRTOWC): Use it.
15086         * tests/test-mbrtowc.c (main): Test for the bug.
15088 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
15090         doc: document mbrtowc and mbrlen problem with empty input
15091         * doc/posix-functions/mbrlen.texi (mbrlen):
15092         * doc/posix-functions/mbrtowc.texi (mbrtowc):
15093         Document portability problem when the input string is empty.  See:
15094         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
15096         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
15097         Problem reported by Eli Zaretskii in:
15098         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
15099         * doc/posix-functions/execl.texi (execl):
15100         * doc/posix-functions/execle.texi (execle):
15101         * doc/posix-functions/execlp.texi (execlp):
15102         * doc/posix-functions/execv.texi (execv):
15103         * doc/posix-functions/execve.texi (execve):
15104         * doc/posix-functions/execvp.texi (execvp):
15105         Mention spawn+exit problem on non-Cygwin Windows platforms.
15107 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
15109         getlogin-tests: avoid false failure under sudo/ssh etc.
15110         * modules/getlogin-tests (configure.ac): Check for ttyname().
15111         * tests/test-getlogin.c (main): Don't depend on environment variables
15112         to correlate with getlogin(), since sudo and ssh etc. can tamper
15113         with the LOGNAME and USER env vars.  Instead lookup the name from
15114         the uid associated with the stdin tty.
15116 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
15118         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
15119         These were found when building the latest grep snapshot on IRIX 6.5.
15120         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
15121         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
15122         never used later.
15123         * lib/quotearg.c (quoting_options_from_style):
15124         * lib/xstrtol.c (__xstrtol):
15125         Use enum instead of 0, to pacify IRIX 6.5 cc.
15127 2014-04-18  Pádraig Brady  <P@draigBrady.com>
15129         gitlog-to-changelog: revert inclusion of git-log-fix file
15130         * build-aux/git-log-fix: Delete dummy file.
15131         * modules/gitlog-to-changelog: Don't reference (overwrite)
15132         the project specific git-log-fix file.
15134 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
15136         maint.mk: Relax the copyright check to cater for non FSF projects
15137         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
15138         to not require the "Free" suffix after the copyright years.
15140 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
15142         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
15143         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
15144         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
15145         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
15146         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
15148 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
15150         exclude: port to strict C99
15151         Strict C does not allow converting a function pointer to void *
15152         and vice versa.  Pass a pointer to a function pointer instead.
15153         * lib/exclude.c (add_exclude_file):
15154         Pass the address of the function pointer.
15155         (call_addfn): And deference the address here, to match.
15157 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
15159         regex: do not depend on malloc-gnu
15160         * modules/regex (Depends-on): Remove malloc-gnu.
15161         It's no longer needed, because of the 2012-12-29 patch
15162         "regex: port to hosts where malloc (0) == NULL".
15163         Reported by Nathan Kennedy in:
15164         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
15166 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
15168         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
15169         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
15170         * doc/posix-functions/expl.texi: Mention the workaround.
15172 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
15174         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
15175         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
15176         size to be zero even when the pointer is nonnull.  This
15177         accommodates the use case where P is malloc (0) and *PN is 0 on a
15178         host where malloc (0) yields nonnull.
15180 2014-04-09  Eric Blake  <eblake@redhat.com>
15182         fts: avoid unnecessary strlen calls
15183         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
15185 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15187         fts: avoid unnecessary strlen calls
15188         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
15189         when that can be faster than strlen.
15191 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
15193         fts: avoid unnecessary strlen calls
15194         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
15195         (fts_build): Store the length of the dp->d_name entry in a local variable
15196         instead of calling strlen() several times via the above, removed macro.
15197         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
15198         run by ~4%, yet this reduces the execution time by about a third if run
15199         via "ltrace -c rm -rf some-dir".
15201 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
15203         obstack: Remove ancient NeXTSTEP gcc support conditional
15204         This change will ease merging with glibc.  The "#if ... __NEXT__"
15205         causes a warning with -Wundef which glibc now enables by default.
15206         Problem reported by Will Newton in
15207         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
15208         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
15209         so go with that.
15210         * lib/obstack.h (__extension__):
15212 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
15214         obstack: merge with glibc changes
15215         * lib/obstack.c, lib/obstack.h: Merge from glibc.
15216         This is mostly indenting and commentary changes.
15217         Instances of 'register' have been removed.
15219 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
15221         strftime: wrap macros in "do {...} while(0)"
15222         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
15223         this macro in "do {...} while(0)" to prevent false use as a
15224         single statement, e.g., in an un-braced "{}" else-block.
15225         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
15226         (strftime_case_): Remove 'else' after 'goto' - which was the
15227         only non-fatal, un-braced use of one of the above macros.
15228         Spotted by coverity (NESTING_INDENT_MISMATCH).
15230 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
15232         modechange: avoid memory leaks for invalid octal modes
15233         * lib/modechange.c (mode_compile): During the parsing of
15234         notations like +40, free the 'mc' buffer for invalid mode
15235         strings like +17777 (greater than the maximum octal mode),
15236         =18 (bad octal mode characters) or u=1 ('affected' with
15237         octal modes).
15238         Reproducer, e.g.:
15239             $ valgrind --leak-check=full chmod +17777 file
15240         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
15241         add notations +40, 00440, etc.".
15242         Spotted by coverity (RESOURCE_LEAK).
15244 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
15246         gitlog-to-changelog: include a dummy git-log-fix file
15247         Problem reported by Nathan Stratton Treadway in:
15248         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
15249         * build-aux/git-log-fix: New file.
15251 2014-03-13  Jim Meyering  <meyering@fb.com>
15253         gitlog-to-changelog: also include the file, git-log-fix
15254         * modules/gitlog-to-changelog (Files): Add git-log-fix.
15255         Reported by Assaf Gordon.
15257 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
15259         regex: port to OS X 10.8.5 en_US.UTF-8 locale
15260         This fixes a bug when ignoring case and when comparing the
15261         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
15262         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
15263         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
15264         titlecase letter is neither lowercase nor uppercase, but
15265         uppercasing the titlecase letter (via towupper) yields the
15266         uppercase letter, so the two letters should match when ignoring case.
15267         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
15268         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
15269         Don't test whether a character is lowercase before uppercasing it.
15271 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
15273         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
15274         This is basically one of the options Bruno Haible proposed in:
15275         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
15276         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
15277         * lib/stdint.in.h: Use it.
15278         * modules/stdint (Depends-on): Add sys_types.
15280 2014-02-26  Pádraig Brady  <P@draigBrady.com>
15282         parse-datetime: fix crash or infloop in TZ="" parsing
15283         * lib/parse-datetime.y (parse_datetime): Break out of the
15284         TZ="" parsing loop once the second significant " is found.
15285         Also skip over any subsequent whitespace to be consistent
15286         with the non TZ= case.
15287         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
15289 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
15291         savedir: new symbol for fast-read version
15292         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
15293         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
15294         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
15295         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
15297 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
15299         unistd: port readlink to Mac OS X 10.3.9
15300         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
15301         around self-include problem in Mac OS X 10.3.9 when combined with
15302         readlink module.  Problem reported by Klaus Zietler in
15303         <http://bugs.gnu.org/16825>.
15305 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
15307         diffseq: remove TOO_EXPENSIVE heuristic
15308         Problem with diffutils reported by Vincent Lefevre in
15309         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
15310         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
15311         Although appropriate for circa-1993 hardware, these days the heuristic
15312         seems to be more trouble than it's worth.
15313         * lib/diffseq.h: Modernize citations.
15314         (struct context): Remove member too_expensive.
15315         All uses changed.
15316         (struct partition): Remove members lo_minimal, hi_minimal.
15317         All uses changed.
15318         (diag, compareseq): Remove arg find_minimal.  All uses changed.
15319         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
15320         1993 to make 'diff' run faster (but not as well) on large inputs.
15321         These days, computers are fast enough that it's typically better
15322         to run slower but more accurately.
15323         * lib/fstrcmp.c: Remove duplicate comment.
15324         * lib/fstrcmp.c (strcmp_bounded):
15325         * lib/git-merge-changelog.c (compute_differences):
15326         Adjust to diffseq.h changes.
15327         * NEWS: Document the change.
15329         savedir: simplify by using stpcpy
15330         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
15331         (streamsavedir): Use stpcpy instead.
15332         * modules/savedir (Depends-on): Add stpcpy.
15334 2014-02-21  Pádraig Brady  <P@draigBrady.com>
15336         spawn: fix link error on uclibc
15337         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
15338         to incorporate -lrt if needed (on uclibc for example).
15339         * modules/posix_spawn: Reference the substituted LIB.
15341 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
15342         timer: fix uClibc detection of threading
15343         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
15344         enabled in uClibc.
15346 2014-02-21  Eric Blake  <eblake@redhat.com>
15348         maintainer-makefiles: provide AC_PROG_SED for older autoconf
15349         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
15351 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
15353         exclude: add support for posix regexps
15355         This commit adds support for POSIX extended regular expressions
15356         and fixes a long-standing memory leak (pattern buffer was never
15357         freed).  It also implements a new interface function to read
15358         exclude patterns from a FILE, which passes an additional parameter
15359         to its callback function, thereby allowing to preserve its state
15360         between invocations.
15362         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
15363         (pattern_buffer): New struct.
15364         (exclude): New member patbuf.
15365         (exclude_add_pattern_buffer): New function.
15366         (free_exclude_segment): Free regexps.
15367         (free_exclude): Free allocated pattern buffers.
15368         (exclude_patopts): New function.
15369         (file_pattern_matches): Use exclude_patopts.
15370         (add_exclude): support regexps.
15371         (add_exclude_fp): New function.
15372         (add_exclude_file): Rewrite using add_exclude_fp.
15373         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
15374         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
15375         (add_exclude_fp)
15376         (add_exclude_file): Rewrite using add_exclude_fp.
15377         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
15378         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
15379         (add_exclude_fp)
15380         (exclude_add_pattern_buffer): New prototypes.
15381         * modules/exclude: Depends on regex and filename.
15383 2014-02-20  Eric Blake  <eblake@redhat.com>
15385         maintainer-makefiles: use $(SED) for syntax check
15386         * modules/maintainer-makefile (configure.ac): Check for sane sed.
15387         * top/maint.mk: Change sed to $(SED).
15389 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
15390             Paul Eggert  <eggert@cs.ucla.edu>
15392         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
15393         Patch based on an idea by Dick Streefland in
15394         <https://savannah.gnu.org/patch/?7892>.
15395         * NEWS: Document this.
15396         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
15397         (direntry_t, comparison_function): New types.
15398         (direntry_cmp_name): New function.
15399         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
15400         (streamsavedir, savedir): New arg OPTION.
15401         (streamsavedir): Simplify memory allocation.
15402         (fdsavedir): Remove.
15403         * lib/savedir.h (enum savedir_option): New type.
15404         (streamsavedir, savedir): New arg OPTION.
15405         (fdsavedir): Remove.
15407 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
15409         file-type: add support for doors and other less-common file types
15410         Problem with S_ISDOOR reported by Rich Burridge.
15411         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
15412         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
15413         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
15415 2014-01-23  Eric Blake  <eblake@redhat.com>
15417         pthread: work around winpthread header pollution on mingw
15418         * lib/time.in.h: Move pthread workarounds...
15419         * lib/pthread.in.h: ...here.
15420         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
15421         detect macro pollution on mingw.
15422         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
15424 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
15426         qacl: check for fchmod
15427         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
15428         and qset-acl.c both use HAVE_FCHMOD.
15430 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15432         fdopen-tests: port to Tru64
15433         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
15434         descriptor that is not open, as POSIX doesn't specify the
15435         resulting behavior and the test does not work on Tru64.
15436         Problem reported by Steven M. Schweda in:
15437         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
15439         stdalign: port to HP-UX compilers
15440         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
15441         if __HP_cc or __HP_aCC are nonzero.
15443 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
15445         strtoimax: port to platforms lacking 'long long'
15446         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
15447         check whether strtoll is declared, which causes the C file to
15448         wrongly report an error.  Problem reported by Steven M. Schweda in:
15449         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
15450         * lib/strtoimax.c (strtoull):
15451         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
15452         (strtoll): Declare only if HAVE_LONG_LONG_INT.
15454 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
15456         relocatable-perl: fix texi syntax
15457         * doc/relocatable-maint.texi: Escape braces.
15459 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
15461         relocatable-perl: like relocatable-script, but for Perl scripts
15462         * build-aux/relocatable.pl.in: Add.
15463         * doc/relocatable-maint.texi: Add documentation.
15464         * modules/relocatable-perl: Add.
15466 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
15468         tests: fix export bug in previous patch
15469         Problem reported by Jim Meyering.
15470         * tests/init.sh (re_shell): New var, which is exported instead of
15471         re_shell_.
15473         tests: simplify porting to Solaris 10 /bin/sh
15474         Some test cases in 'grep' need a shell that groks '$(';
15475         export re_shell_ for their benefit.  Problem reported for 'grep'
15476         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
15477         * tests/init.sh (re_shell_): Export if it's used.
15479 2014-01-06  Eric Blake  <eblake@redhat.com>
15481         md5, sha1, sha256, sha512: support older autoconf
15482         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
15483         for autoconf < 2.63b.
15485         include_next: port to autoconf 2.63
15486         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
15488 2014-01-04  Jim Meyering  <meyering@fb.com>
15490         maint: add a gnulib-local rule to keep non-ascii out of .texi files
15491         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
15492         so that "make sc_maint" will ding anyone who puts non-ascii
15493         in any of gnulib's .texi files.
15495 2014-01-03  Jim Meyering  <meyering@fb.com>
15497         freadable, fwritable, fwriting: declare with the "pure" attribute
15498         * lib/freadable.h (freadable): Declare with the "pure" attribute.
15499         * lib/fwritable.h (fwritable): Likewise.
15500         * lib/fwriting.h (fwriting): Likewise.
15501         Suggested by Bruno Haible.
15503         maint.mk: adapt openat.h-include-without-use test
15504         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
15505         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
15506         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
15507         With this change, running "make sc_maint" in gnulib's top-level
15508         directory now passes for me.
15510 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
15512         doc: use ASCII in .texi files where UTF-8 isn't needed
15513         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
15514         * doc/posix-functions/setkey.texi, doc/regex.texi:
15515         Use ASCII input, not UTF-8.
15517 2014-01-02  Jim Meyering  <meyering@fb.com>
15519         freading: declare with the "pure" attribute
15520         * lib/freading.h (freading): Declare with the "pure" attribute.
15522         manywarnings: remove -Wmudflap
15523         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
15524         it is no longer supported in gcc-4.9-to-be.
15526 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
15528         relocatable-script: remove unused code
15529         Problem reported by Reuben Thomas in:
15530         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
15531         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
15533 2014-01-01  Jim Meyering  <meyering@fb.com>
15535         maint: fix public-submodule-commit to work with newer git
15536         * top/maint.mk (public-submodule-commit): Remove excess quoting.
15537         We were over-quoting the test arguments, and somewhere prior to
15538         version 1.8.5.2.229, git stopped removing those excess quotes,
15539         which made the test fail, since the unexpanded strings would
15540         always differ; using GIT_TRACE=1 confirmed that the git merge-base
15541         command wasn't even being run.
15543 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
15545         doc: update main copyright year
15546         * doc/gnulib.texi: Update copyright date.
15548 2014-01-01  Eric Blake  <eblake@redhat.com>
15550         version-etc: new year
15551         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
15552         * all files: run 'make update-copyright'
15554 2013-12-24  Eric Blake  <eblake@redhat.com>
15556         passfd: give nicer error for recvfd at eof
15557         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
15558         * tests/test-passfd.c (main): Enhance test to cover this.
15560 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
15562         gettimeofday: port recent C++ fix to Emacs
15563         Without this further patch, Emacs won't build due to
15564         the portcheck failing.  Also, this simplifies the patch a bit.
15565         * lib/time.in.h (localtime, gmtime): Don't replace unless
15566         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
15567         * lib/time.in.h (localtime, gmtime):
15568         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
15569         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
15570         * modules/time (time.h):
15571         Don't worry about the possibility of localtime and gmtime
15572         being absent; they're present in all C libraries we know about.
15573         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
15574         Don't assume sys_time is present and has been initialized.
15575         Instead, use a hack that should work even if it hasn't been.
15576         Don't use a portcheck for gmtime or localtime; this supports
15577         the hack.
15578         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
15580 2013-12-17  John W. Eaton  <jwe@gnu.org>
15582         gettimeofday: fix C++ crosscompilation
15584         Never replace gmtime and localtime by macros when compiling with
15585         C++, this prevents <ctime> from being included.
15587         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
15588         define gmtime and localtime as preprocessor macros.  Instead
15589         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
15590         REPLACE_LOCALTIME substitutions.
15591         * lib/time.in.h: Declare gmtime and localtime when needed.
15592         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
15593         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
15594         * modules/time: Depend on gettimeofday, and substitute the above
15595         variables in time.h.
15597 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
15599         qacl: port to Windows better
15600         See Eli Zaretskii in
15601         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
15602         * lib/file-has-acl.c (acl_access_nontrivial):
15603         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
15604         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
15606 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
15608         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
15609         * lib/gl_openssl.h: Cast void pointers to a specific type.
15611 2013-12-07  Pádraig Brady  <P@draigBrady.com>
15613         open-tests: fix build failure with -Werror=old-style-declaration
15614         * tests/test-open.h: Reorder the inline to avoid the issue.
15616 2013-12-07  Pádraig Brady  <P@draigBrady.com>
15618         md5, sha1, sha256, sha512: fix link error with partial libcrypto
15619         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
15620         init time, so that if early checks find crypto routines,
15621         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
15622         avoiding link failures.
15624 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
15626         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
15627         This provides a new way to specify the default for
15628         gl_CRYPTO_CHECK, one that is reflected in the --help message.
15629         Emacs uses this, as well as the old way.
15630         This attempts to implement a suggestion by Pádraig Brady in
15631         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
15632         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
15633         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
15635         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
15636         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
15637         Add support for a new option, --with-openssl=auto, which causes
15638         the library to be used if available and silently ignored if not.
15639         Add support to allow configure.ac to specify its own
15640         default, by setting with_openssl_default before invoking gl_INIT.
15642 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
15644         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
15645         Problem reported by Daiki Ueno in:
15646         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
15647         * tests/test-open.h (__always_inline):
15648         New macro, if not already defined.
15649         (test_open): Use it.
15651 2013-12-04  Eric Blake  <eblake@redhat.com>
15653         include_next: minimize code duplication
15654         * modules/include_next (Depends-on): Add absolute-header.
15655         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
15656         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
15658 2013-12-04  Pádraig Brady  <P@draigBrady.com>
15660         getcwd: fix compile error in configure check
15661         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
15663 2013-12-04  Pádraig Brady  <P@draigBrady.com>
15665         regex: suppress core dumps from detection code
15666         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
15667         to suppress core dumps that may well occur on glibc systems.
15668         These core dumps might not be cleaned up automatically, or could
15669         trigger some system core dump handling logic.
15671 2013-12-03  Pádraig Brady  <P@draigBrady.com>
15673         md5, sha1, sha256, sha512: support mandating use of openssl
15674         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
15675         description, to list the now 3 separate options.  also don't
15676         mention the default=no, since this is implicit given the option
15677         is described as --with-openssl rather than --without-openssl.
15678         If projects change the default they're free to document that.
15679         with --with-openssl[=yes] we now error out when the specified
15680         hash algorithm is not available in libcrypto.
15682 2013-12-03  Ivailo  <xakepa10@gmail.com>
15684         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
15685         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
15686         -Wformat-nonliteral checks, as these edge cases are part of the test.
15688 2013-12-03  Eric Blake  <eblake@redhat.com>
15690         regex: avoid glibc deadlock during configure
15691         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
15692         glibc bug 15078 in turn triggers bug 16159.
15693         Reported by Michal Privoznik.
15695 2013-12-02  Pádraig Brady  <P@draigBrady.com>
15697         md5, sha1, sha256, sha512: use openssl routines if available.
15698         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
15699         routines will be used if available, requiring apps to link @LIB_CRYPTO@
15700         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
15701         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
15702         in the standard system location.
15703         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
15704         * m4/sha256.m4: Likewise with SHA256.
15705         * m4/sha512.m4: Likewise with SHA512.
15706         * m4/md5.m4: Likewise with MD5.
15707         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
15708         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
15709         * lib/sha256.h: Likewise with SHA256.
15710         * lib/sha512.h: Likewise with SHA512.
15711         * lib/md5.h: Likewise with MD5.
15712         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
15713         * lib/sha256.c: Likewise with SHA256.
15714         * lib/sha512.c: Likewise with SHA512.
15715         * lib/md5.c: Likewise with MD5.
15716         * modules/crypto/sha1 (Link:): Add the new optional lib.
15717         (Depends-on:): Add dependency on extern-inline.
15718         * modules/crypto/sha256: Likewise.
15719         * modules/crypto/sha512: Likewise.
15720         * modules/crypto/md5: Likewise.
15721         * modules/crypto/sha1-tests: Reference the lib here too.
15722         * modules/crypto/md5-tests: Likewise.
15723         * modules/crypto/gc-des-tests: Likewise.
15724         * modules/crypto/gc-hmac-md5-tests: Likewise.
15725         * modules/crypto/gc-hmac-sha1-tests: Likewise.
15726         * modules/crypto/gc-hmac-sha256-tests: Likewise.
15727         * modules/crypto/gc-hmac-sha512-tests: Likewise.
15728         * modules/crypto/gc-md5-tests: Likewise.
15729         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
15730         * modules/crypto/gc-sha1-tests: Likewise.
15731         * modules/crypto/gc-tests: Likewise.
15732         * modules/crypto/hmac-md5-tests: Likewise.
15733         * modules/crypto/hmac-sha1-tests: Likewise.
15734         * modules/crypto/hmac-sha256-tests: Likewise.
15735         * modules/crypto/hmac-sha512-tests: Likewise.
15737 2013-11-29  RV1971  <rv1971@web.de>
15739         base64: (trivial) fix compilation regression on some compilers
15740         * lib/base64.c: Don't return the void function,
15741         instead split to a separate return statement.
15743 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
15745         ignore-value: revert previous code change
15746         * lib/ignore-value.h (ignore_value): Use __extension__ and
15747         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
15748         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
15749         Change the comment to try to explain this better.
15751 2013-11-27  Pádraig Brady  <P@draigBrady.com>
15753         selinux-h: improve stub types and add more stub functions
15755         * lib/se-selinux.in.h: Change security_context_t to a typedef
15756         rather than a define, as it's a pointer type and so is better
15757         as a typedef to avoid issues declaring multiple variables
15758         with the comma operator.  Also add stub for string_to_security_class().
15759         * lib/se-context.in.h: Add stub functions for
15760         context_{type,range,role,user}_get().
15762 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
15764         ignore-value: prefer GCC version back through 2.0
15765         The code didn't match the comments, so I did a bit of software
15766         archaeology.  GCC 2.0 seems to support __extension__ and
15767         __typeof__, so fix both code and comments to use 2.0.
15768         * lib/ignore-value.h (ignore_value): Use __extension__ and
15769         __typeof__ for GCC 2.0 through 3.3, too.
15771 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
15773         pty: Activate the signature wrapper of forkpty.
15774         The intended preprocessor macro HAVE_FORKPTY is
15775         never defined, yet `lib/forkpty.c' depends on it.
15777         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
15778         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
15779         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
15781 2013-11-18  Jim Meyering  <meyering@fb.com>
15782         and Paul Eggert  <eggert@cs.ucla.edu>
15784         quotearg: don't attempt to store 1 << 31 into an "int"
15785         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
15786         gcc's new -fsanitize=undefined and running its tests triggered some
15787         new test failures due to undefined behavior, all with this diagnostic:
15788           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
15789             cannot be represented in type int
15790         Rather than shifting "1" left to form a mask, shift the bits right and
15791         simply use "1" as the mask.
15793 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
15795         error: depend on stdio
15796         Problem reported by Nikos Mavrogiannopoulos in
15797         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
15798         * modules/error (Depends-on): Add stdio.
15800 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
15802         * doc/relocatable-maint.texi (Supporting Relocation): Improve
15803         wording.
15804         Reported by Reuben Thomas <rrt@sc3d.org>.
15806 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
15808         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
15809         New function and macro, to work around _DARWIN_C_SOURCE problem.
15810         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
15812 2013-11-11  Pádraig Brady  <P@draigBrady.com>
15814         base64: provide a fast path for encoding well sized buffers
15815         Avoid conditionals in the base64 encoding loop,
15816         which was seen to give 60% better throughput.
15817         * lib/base64.c (base64_encode_fast): A new function to be called
15818         when we don't want to NUL terminate, and we have enough space
15819         in the output to encode the given input.
15820         (base64_encode): Call the _fast() version when appropriate.
15821         Also remove a redundant mask with 0x3F on the first encoded byte.
15823 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
15825         extern-inline: port better to OS X 10.9
15826         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
15827         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
15828         OS X 10.9, except for g++ where the bug is still present.
15829         See <http://trac.macports.org/ticket/41033>.
15831 2013-11-08  Eric Blake  <eblake@redhat.com>
15833         fpending: fix regression on DragonFly BSD
15834         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
15835         * lib/fpending.h (__fpending): Don't declare twice.
15836         Reported by GW in
15837         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
15839 2013-11-05  Jim Meyering  <meyering@fb.com>
15841         hash: relax license to LGPLv2+, for libguestfs
15842         * modules/hash (License): Change from GPL to LGPLv2+.
15844 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
15846         intprops: port to Oracle Studio c99
15847         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
15848         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
15850 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
15852         obstack: pacify HP C
15853         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
15854         warning "conversion from pointer to smaller integer" from HP
15855         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
15856         C89 or later nowadays, so cast to void instead of int.  Privately
15857         reported by H.Merijn Brand.  Also, change header to match glibc's,
15858         to make checking against glibc easier.
15860 2013-10-29  Jim Meyering  <meyering@fb.com>
15862         maint.mk: prefer gpgv2 over gpgv
15863         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
15864         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
15865         Reported by Gary Vaughan.
15867 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15869         isnan: port to VAX
15870         Reported by John Klos for NetBSD-5/VAX in
15871         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
15872         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
15873         (FUNC): Use it.
15875 2013-10-28  Jim Meyering  <meyering@fb.com>
15877         gnulib-tool: protect against CDPATH
15878         * gnulib-tool: Many "cd" built-in functions print a directory name
15879         to stdout when CDPATH is set, e.g.,
15880           $ bash -c 'CDPATH=/; cd tmp'
15881           /tmp
15882         Unset it, when possible.  Prompted by a comment from Bruce Korb.
15884         maint.mk: restore functionality removed by recent change...
15885         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
15886         the context of a shallow-cloned gnulib repository: "git describe"
15887         would fail in such a directory.  However, that change made it so
15888         the reported gnulib revision no longer includes the version number
15889         or a commit count, even when run from a full clone.
15890         * top/maint.mk (gnulib-version): Use the full "git describe"
15891         output when possible, e.g., the form above, rather than the
15892         abbreviated, no-tag, no-commit-count string, and fall back to
15893         using a 10-byte hash, rather than the default minimal-length
15894         hash prefix, since while the minimal-length one may be fine today,
15895         it is likely not to be unique for very long.
15897 2013-10-26  Jim Meyering  <meyering@fb.com>
15899         maint.mk: fix "release" target to build _version
15900         This fixes a bug in README-release whereby following the outlined
15901         steps, one would publish a tarball whose programs would report
15902         --version output not consistent with the package version number.
15903         This bug caused grep-2.15 to produce a grep program whose
15904         --version option made it print 2.14.56-1e3d rather than 2.15.
15905         * top/maint.mk (release): Making this target build "_version"
15906         ensures that the new version number is reflected in configure.
15908 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
15910         install-reloc: Support multi-binary installation.
15911         * build-aux/install-reloc: Support installing multiple programs in
15912         one invocation, as done by Automake starting with commit
15913         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
15914         Haible <bruno@clisp.org>, archived at
15915         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
15916         Reported by Sylvain <beuc@gnu.org>.
15918 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
15920         selinux-h: Really build without selinux when library is missing.
15921         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
15922         continue without selinux, as already told in the warning message.
15924 2013-10-21  Jim Meyering  <meyering@fb.com>
15926         regex: also remove dependency on HAVE_WCSCOLL
15927         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
15929 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
15931         xfreopen: Fix typo. s/frepoen/freopen/
15932         * lib/xfreopen.c: Fix description.
15933         * modules/xfreopen: Likewise.
15935 2013-10-21  Jim Meyering  <meyering@fb.com>
15937         regex: don't depend on wcscoll
15938         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
15939         It is no longer used.
15941 2013-10-20  Jim Meyering  <meyering@fb.com>
15943         error: add the printf attribute to a static function
15944         * lib/error.c (error_tail): Add the printf attribute, to placate
15945         gcc's -Werror=suggest-attribute=format option.
15947 2013-09-30  Jim Meyering  <meyering@fb.com>
15949         fpending, obstack, strerror-override: use pure+const function attrs
15950         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
15951         * lib/obstack.c (_obstack_allocated_p): Likewise.
15952         * lib/obstack.h (_obstack_memory_used): Likewise.
15953         (_obstack_memory_used): Likewise.
15954         * lib/strerror-override.h (strerror_override): Declare with
15955         the "const" attribute.
15957 2013-10-18  Eric Blake  <eblake@redhat.com>
15959         extern-inline: make safe for -Wundef usage
15960         Reported by Vladimir 'phcoder' Serbinenko in
15961         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
15962         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
15964 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
15966         mkfifo-tests, etc.: allow HP-UX 11.11 bug
15967         Problem reported by Daniel Richard G. in
15968         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
15969         * doc/posix-functions/mkfifo.texi (mkfifo):
15970         * doc/posix-functions/mkfifoat.texi (mkfifoat):
15971         * doc/posix-functions/mknod.texi (mknod):
15972         * doc/posix-functions/mknodat.texi (mknodat):
15973         Document the HP-UX 11.11 bug.
15974         * tests/test-mkfifo.h (test_mkfifo):
15975         Allow the HP-UX 11.11 bug.
15977 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
15979         acl: allow cross-compilation to Gentoo
15980         Problem reported by Gabriel Marcano in
15981         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
15982         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
15983         test only whether it links.
15985 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
15987         mgetgroups: remove dependency on realloc-gnu
15988         The dependency violates the comment in realloc-gnu, which
15989         says that tests can't depend on realloc-gnu; some tests depend
15990         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
15991         Problem reported by Daniel Richard G. in
15992         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
15993         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
15994         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
15995         not realloc-gnu.
15997 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
15999         regex-tests: port to HP-UX 11.11
16000         Problem reported by Daniel Richard G. in
16001         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
16002         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
16004 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16006         verify: document some 'assume' pitfalls
16007         * doc/verify.texi (Compile-time Assertions):
16008         Mention that 'assume (E)' can sometimes slow things down.
16009         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
16011 2013-10-10  Eric Blake  <eblake@redhat.com>
16013         strtoumax: fix typo in previous commit.
16014         * modules/strtoumax (Depends-on): Fix typo.
16015         * modules/strtoimax (Depends-on): Likewise.
16017 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16019         strtoumax: port to Solaris 8
16020         This problem was introduced in the recent HP-UX patch.
16021         Reported by Tom G. Christensen in
16022         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
16023         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
16024         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
16026 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
16028         strtoimax, strtoumax: port to HP-UX 11.11
16029         Problem reported by Daniel Richard G. in
16030         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
16031         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
16032         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
16033         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
16034         REPLACE_STRTOUMAX.
16035         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
16036         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
16037         Replace the function if defined as a macro but not as a function.
16038         * modules/inttypes-incomplete (inttypes.h): Substitute
16039         REPLACE_STRTOUMAX.
16040         * modules/strtoumax (configure.ac): Replace strtoumax if
16041         REPLACE_STRTOUMAX.
16043 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
16045         strtoimax: port to HP-UX 11.11
16046         Problem reported by Daniel Richard G.
16047         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
16048         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
16049         they might clash with inttypes.h.
16051 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16053         New module 'count-trailing-zeros'.
16054         * MODULES.html.sh: Mention it.
16055         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
16056         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
16057         * modules/count-trailing-zeros-tests:
16058         * tests/test-count-trailing-zeros.c:
16059         New files.
16061         count-leading-zeros: port to MSC; support types wider than 64 bits
16062         The ideas behind the MSC port are stolen from Emacs.
16063         * lib/count-leading-zeros.h:
16064         Don't include verify.h: it's no longer needed, as types wider than
16065         64 bits are now supported.
16066         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
16067         performance with MSC.  All uses changed.  Do not assume that TYPE
16068         has at most 64 bits.
16069         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
16070         All uses changed.  Fold the subtraction from 31 into the table.
16072         count-one-bits: port to MSC; support types wider than 64 bits
16073         The ideas behind the MSC port are stolen from Emacs.
16074         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
16075         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
16076         Don't include verify.h: it's no longer needed, as types wider than
16077         64 bits are now supported.
16078         (COUNT_ONE_BITS_GENERIC): New macro.
16079         (popcount_supported) [_MSC_VER]: New inline function.
16080         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
16081         performance with MSC.  All uses changed.  Do not assume that TYPE
16082         has at most 64 bits.
16083         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
16085 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
16087         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
16088         * lib/mountlist.c (read_file_system_list): fix leak of directory
16089         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
16091 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16093         tests: improve diagnostic when an assertion fails
16094         * tests/macros.h (ASSERT): Report the assertion that failed.
16096 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16098         verify: new macro 'assume'
16099         This is taken from Emacs, and should be generally useful.
16100         * doc/verify.texi (assume): Document it.
16101         * lib/verify.h (assume): New macro.
16102         (__has_builtin): Expand to 0 if not defined.
16104 2013-09-26  Eric Blake  <eblake@redhat.com>
16106         dup2, dup3: work around another cygwin crasher
16107         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
16108         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
16109         * tests/test-dup2.c (main): Likewise.
16110         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
16111         * lib/dup3.c (dup3): Likewise.
16112         * doc/posix-functions/dup2.texi (dup2): Document it.
16113         * doc/glibc-functions/dup3.texi (dup3): Likewise.
16115         getdtablesize: work around cygwin issue
16116         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
16117         * modules/getdtablesize (configure.ac): Build replacement.
16118         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
16119         * modules/unistd (Makefile.am): Expose the witness.
16120         * lib/unistd.in.h (getdtablesize): Declare replacement.
16121         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
16122         * tests/test-getdtablesize.c (main): Test it.
16123         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
16125 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
16127         pmccabe2html: escaping of special characters
16128         Escape all '<', '>', and '&' in HTML output.
16129         * build-aux/pmccabe2html (html_fnc): Call gsub()
16130         instead of sub() to capture all '<', '>', and '&'.
16131         Neither of '<' and '>' is special in a regexp,
16132         so first arguments to gsub() are corrected. Also,
16133         in replacement strings, ampersand must be escaped.
16134         Finally, '&' must be handled first, then '<' and '>'.
16136 2013-09-24  Eric Blake  <eblake@redhat.com>
16138         manywarnings: enable nicer gcc warning messages
16139         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
16140         some -f options for optimal warnings.
16142 2013-09-21  Jim Meyering  <meyering@fb.com>
16144         timespec: use the new TIMESPEC_RESOLUTION in a few more places
16145         * lib/timespec-add.c (timespec_add): Also replace 999999999
16146         with TIMESPEC_RESOLUTION - 1.
16147         * lib/timespec-sub.c (timespec_sub): Likewise.
16149 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
16151         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
16152         Problem reported by Dagobert Michelsen via Eric Blake in
16153         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
16154         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
16155         not AC_COMPILE_IFELSE.
16157 2013-09-23  Eric Blake  <eblake@redhat.com>
16159         configmake: support new --runstatedir option
16160         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
16161         even if autoconf was too old to provide the command line option.
16162         * modules/configmake (Makefile.am): Propagate it to .h file.
16164 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16166         ctype, string: depend on extern-inline
16167         This is needed to complete the recent OS X fixes.
16168         Also, fix related documentation as suggested by Eric Blake.
16169         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
16170         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
16171         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
16172         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
16173         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
16174         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
16175         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
16176         * doc/posix-functions/toupper.texi:
16177         List the 'ctype' gnulib module.
16178         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
16179         * doc/posix-functions/strncpy.texi:
16180         List the 'string' gnulib module.
16181         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
16182         Add string.
16183         * modules/ctype, modules/string (Depends-on): Add extern-inline.
16185 2013-09-19  Pádraig Brady  <P@draigBrady.com>
16187         userspec: support optional parameters to parse_user_spec()
16188         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
16189         then avoid group processing and treat the full spec as a user.
16190         (parse_with_separator): Allow the USERNAME and GROUPNAME to
16191         be optional params (NULL), in which case they're ignored.
16193 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
16195         timespec: new function make_timespec, and new constants
16196         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
16197         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
16198         (make_timespec): New function.
16199         * lib/dtotimespec.c (dtotimespec):
16200         * lib/timespec-add.c (timespec_add):
16201         * lib/timespec-sub.c (timespec_sub):
16202         * lib/utimens.c (validate_timespec):
16203         * lib/utimensat.c (rpl_utimensat):
16204         Use these new constants and functions.
16206         stdio: OS X port of putc_unlocked + extern inline
16207         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
16208         * doc/posix-functions/putc_unlocked.texi:
16209         * doc/posix-functions/putchar_unlocked.texi:
16210         Document this portability problem.
16212         signal: OS X port of sigaddset etc. + extern inline
16213         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
16214         (sigismember): #undef on problematic Apple platforms.
16215         * doc/posix-functions/sigaddset.texi:
16216         * doc/posix-functions/sigdelset.texi:
16217         * doc/posix-functions/sigemptyset.texi:
16218         * doc/posix-functions/sigfillset.texi:
16219         * doc/posix-functions/sigismember.texi:
16220         Document this portability problem.
16222         extern-inline: do not always suppress extern inline on OS X
16223         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
16224         extern inline on Apple only if the particular compile-time
16225         configuration is known to have the problem.
16226         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
16227         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
16228         other Gnulib modules.
16230         extern-inline: document fixes for ctype and wctype macros
16231         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
16232         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
16233         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
16234         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
16235         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
16236         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
16237         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
16238         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
16239         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
16240         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
16241         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
16242         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
16243         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
16244         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
16245         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
16246         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
16247         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
16248         * doc/posix-functions/strncpy.texi:
16249         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
16250         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
16251         Document that Gnulib fixes portability problems with these
16252         functions on OS X 10.8 and earlier when called from plain inline
16253         or extern inline functions.
16255 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
16257         fflush, freadahead, fseeko: Fix for Android
16258         Suggested by Bruno Haible in:
16259         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
16260         * lib/stdio-impl.h: Use local __sfileext definition.
16262 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
16264         pmccabe2html: Portability to other awk versions.
16265         The functions systime() and strftime() are available
16266         in Gawk only.  Properly close two HTML-tags 'style'
16267         and 'span'.
16268         * build-aux/pmccabe2html (BEGIN): Store timing
16269         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
16270         systime() in HTML_COMMENT.
16271         (html_header): Correctly close tag 'style'.
16272         (END): Replace strftime() by CHRONOS_TIME.  Close
16273         tag 'span' correctly, not as 'div'.
16275 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
16277         getgroups: statement without effect
16278         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
16279         Change equality conditional to expected assignment.
16281 2013-09-09  Eric Blake  <eblake@redhat.com>
16283         glob: fix compilation
16284         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
16286 2013-09-07  Eric Blake  <eblake@redhat.com>
16288         glob: fix build for platforms without __THROW
16289         * lib/glob.in.h (__THROW): Add definition again.
16291 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
16293         regex-quote: fix buffer access out of bounds
16294         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
16295         * lib/regex-quote.c (regex_quote_spec_pcre):
16296         Fix typo that resulted in an out-of-bounds read.
16298 2013-09-04  Eric Blake  <eblake@redhat.com>
16300         glob: avoid -Wattribute warnings on glibc
16301         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
16302         __THROWNL, not __THROW, on static functions.
16303         * lib/glob.in.h (__THROW): Adjust...
16304         (__THROWNL): ...accordingly.
16306 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
16308         headers: check that _GL_INLINE_HEADER_BEGIN is defined
16309         Suggested by Bruce Korb in:
16310         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
16311         * doc/extern-inline.texi (extern inline):
16312         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
16313         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
16314         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
16315         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
16316         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
16317         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
16318         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
16319         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
16320         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
16321         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
16322         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
16323         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
16324         * lib/xtime.h:
16325         Check that _GL_INLINE_HEADER_BEGIN is defined.
16327 2013-08-29  Pádraig Brady  <P@draigBrady.com>
16329         bootstrap: remove the --version requirement from ancillary tools
16330         * build-aux/bootstrap (check_exists): A new refactored function to
16331         determine if a command exists.
16332         (find_tool): Use the new function which does not require the
16333         --version option to be supported.
16334         (check_versions): Use the new function.
16336 2013-08-26  Simon Josefsson  <simon@josefsson.org>
16338         gc: support HMAC-SHA256 and HMAC-SHA512.
16339         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
16340         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
16341         functions.
16342         (gc_hmac_md5): Use symbolic constant.
16343         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
16344         (gc_hmac_sha256, gc_hmac_sha512): New functions.
16345         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
16346         * m4/sha256.m4: Protect against empty expansion.
16347         * m4/sha512.m4: Likewise.
16348         * lib/hmac-sha256.c: New file.
16349         * lib/hmac-sha512.c: Likewise.
16350         * m4/gc-hmac-sha256.m4: Likewise.
16351         * m4/gc-hmac-sha512.m4: Likewise.
16352         * m4/gc-sha256.m4: Likewise.
16353         * m4/gc-sha512.m4: Likewise.
16354         * modules/crypto/gc-hmac-sha256: Likewise.
16355         * modules/crypto/gc-hmac-sha256-tests: Likewise.
16356         * modules/crypto/gc-hmac-sha512: Likewise.
16357         * modules/crypto/gc-hmac-sha512-tests: Likewise.
16358         * modules/crypto/hmac-sha256: Likewise.
16359         * modules/crypto/hmac-sha256-tests: Likewise.
16360         * modules/crypto/hmac-sha512: Likewise.
16361         * modules/crypto/hmac-sha512-tests: Likewise.
16362         * tests/test-gc-hmac-sha256.c: Likewise.
16363         * tests/test-gc-hmac-sha512.c: Likewise
16364         * tests/test-hmac-sha256.c: Likewise.
16365         * tests/test-hmac-sha512.c: Likewise
16367 2013-08-24  Daiki Ueno  <ueno@gnu.org>
16369         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
16370         of AC_CHECK_DECLS.
16372 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
16374         selinux-at: omit unnecessary include
16375         * lib/selinux-at.c: Don't include dosname.h; not needed, since
16376         this source file doesn't use its macros, and subsidiary files that
16377         use the macros already include it.
16379 2013-08-21  Eric Blake  <eblake@redhat.com>
16381         d-ino: avoid false negative on symlink
16382         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
16383         Reported by Stephane Chazelas.
16385 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
16387         bootstrap: port to OpenBSD sed
16388         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
16389         does not interpret `-' as a file argument to mean stdin.
16391 2013-08-15  Eric Blake  <eblake@redhat.com>
16393         warnings: minor optimization
16394         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
16396         warnings: check -Wfoo rather than -Wno-foo
16397         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
16398         -Wno-, test if the compiler recognizes the positive form instead.
16400 2013-08-15  Karl Berry  <karl@gnu.org>
16402         * config/srclist-update: add option "doclicense" to placate
16403         pulling *.texi files from Emacs.  Write terse usage
16404         documentation at the top.
16406 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
16408         xvasprintf-tests: port to GCC with hardening flags
16409         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
16410         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
16411         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
16413 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16415         fpending: port to recent Cygwin change to stdio_ext.h
16416         Reported by LRN in
16417         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
16418         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
16419         just declare __fpending unless it's a macro.
16420         A duplicate decl shouldn't hurt.
16421         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
16422         call compiles and links, instead of separately checking for
16423         decl and lib function.
16424         * modules/fpending (configure-ac):
16425         Adjust to fpending.m4's renaming of shell variable.
16427 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
16429         sys_time: port to OpenBSD
16430         * lib/sys_time.in.h: Simply delegate to the system's header
16431         in the BSDish cases as well.  Problem reported by Mike Miller in
16432         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
16433         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
16434         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
16435         wider than time_t.
16437 2013-08-09  Pádraig Brady  <P@draigBrady.com>
16439         bootstrap: support checksum utils having -c but not --status
16440         * build-aux/bootstrap: Only look for sha1sum if updating po files.
16441         Add sha1 to the list of supported checksum utils since it's now
16442         supported through adjustments below.
16443         (update_po_files): Remove the use of --status
16444         in a way that will suppress all error messages, but since this is
16445         only used to minimize updates, it shouldn't cause an issue.
16446         Exit early if there is a problem updating the po file checksums.
16447         (find_tool): Remove the check for --version support as this
16448         is optional as per commit 86186b17.  Don't even check for the
16449         presence of the command as if that is needed, it's supported
16450         through configuring prerequisites in bootstrap.conf.
16451         Prompt that when a tool isn't found, one can define an environment
16452         variable to add to the hardcoded search list.
16454 2013-08-05  Jim Meyering  <meyering@fb.com>
16456         regex: port to non-glibc/lock-using systems
16457         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
16458         system with GNULIB_LOCK would fail due to absence of the
16459         included "glthread/lock.h".  This would affect any package
16460         for which the "lock" module is used only by the regex module,
16461         and not explicitly used.
16462         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
16463         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
16464         Add a dependency on the "lock" module.
16466 2013-07-20  Daiki Ueno  <ueno@gnu.org>
16468         localecharset: make locale_charset thread-safe on Mac OS X
16469         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
16470         instead of MB_CUR_MAX.
16472 2013-07-20  Daiki Ueno  <ueno@gnu.org>
16474         gettext: update to version 0.18.3
16475         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
16476         require AC_PROG_SED to allow user to specify custom sed command when
16477         generating en@quot PO file.
16479 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
16481         bootstrap: use correct source when copying build-aux files
16482         * build-aux/bootstrap (gnulib_extra_files): This variable is
16483         relative to upstream gnulib layout, not downstream.
16485 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
16487         tmpdir: fix bug in VMS port
16488         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
16489         See Steven M. Schweda in
16490         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
16492 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16494         tmpdir: port to VMS, to // != /, and to long dirs
16495         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
16496         __secure_getenv, so that we're more like the glibc version.
16497         All uses changed.
16498         (path_search): Don't put slash after directory if __VMS.
16499         Problem reported by Steven M. Schweda in
16500         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
16501         Simplify code to add slash; no need for a loop.
16502         Do not remove trailing slash from "//".
16503         Do not assume dlen <= INT_MAX.
16505 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16507         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
16508         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
16509         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
16510         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
16512         accept4, dup3, pipe2: port to Cygwin
16513         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
16514         * lib/accept4.c (accept4) [O_BINARY]:
16515         * lib/dup3.c (dup3) [O_BINARY]:
16516         * lib/pipe2.c (pipe2) [O_BINARY]:
16517         Use set_binary_mode, not setmode.
16518         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
16519         * modules/binary-io (Depends-on): Remove module indicator.
16520         These last two bits undo the previous change to pipe2 and binary-io.
16522 2013-07-09  Pádraig Brady  <P@draigBrady.com>
16524         mountlist: add support for deallocating returned list entries
16525         * lib/mountlist.c (free_mount_entry): A new exported function
16526         to deallocate a mount list entry.
16527         (read_file_system_list): Refactor to use the new deallocation function.
16528         Suggested by Anton Ovchinnikov.
16530 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
16532         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
16533         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
16534         * lib/stdalign.in.h (_Alignas, _Alignof):
16535         Port to FreeBSD 9.1, and to C11 and C++11.
16536         (_Alignas): Also support ICC.
16537         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
16538         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
16540 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16542         fnmatch: don't goto over declaration
16543         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
16544         undefined behavior for goto over a declaration.
16545         Problem reported by Charlie Brown in
16546         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
16548         pipe2: decouple from binary-io a bit
16549         This is for Emacs, which needs pipe2 but not binary-io.
16550         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
16551         * modules/binary-io (Depends-on): Add module indicator.
16553 2013-07-03  Eric Blake  <eblake@redhat.com>
16555         mgetgroups: relax license to LGPLv2+
16556         * modules/getugroups (License): Change from GPLv3+.
16557         * modules/mgetgroups (License): Likewise.
16558         * modules/getgroups (License): Change from LGPLv3+.
16560         xalloc-oversized: relax license to LGPLv2+
16561         * modules/xalloc-oversized (License): Change from GPLv3+.
16563         nproc: relax license to LGPLv2+
16564         * modules/nproc (License): Change from LGPLv3+.
16566         bootstrap: honor --no-git
16567         * build-aux/bootstrap: Don't even try to use git when user is
16568         pointing to a static checkout.
16570 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
16572         ignore-value: port to gcc -pedantic
16573         * lib/ignore-value.h (ignore_value):
16574         Port to gcc -pedantic, by using __extension__.
16575         Reindent as per usual gnulib style nowadays.
16576         Simplify GCC version check.
16578 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
16580         extern-inline: port to gcc -std=c89
16581         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
16582         Do not use __gnu_inline__ if pedantic and pre-C99.
16584 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
16586         doc: document extern-inline
16587         * doc/extern-inline.texi: New file.
16588         * doc/gnulib.texi (alloca-opt): Include it.
16589         * m4/extern-inline.m4: Move some comments to documentation,
16590         and others closer to what they describe.
16592         doc: chatter less
16593         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
16594         (updated-stamp): Use it.  This causes 'make' to output just
16595         one file name rather than zillions.
16597         fflush, fseeko: port to musl cross-compiles
16598         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
16599         on some implementation that (1) is not known to be buggy,
16600         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
16601         cross-compiled to so we can't easily check for lack of
16602         conformance.  This is for cross-compiling to musl.
16603         Reported by Rich Felker in
16604         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
16605         * m4/fclose.m4 (gl_FUNC_FCLOSE):
16606         * m4/fflush.m4 (gl_FUNC_FFLUSH):
16607         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
16608         Adjust to above change.
16609         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
16610         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
16611         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
16612         known not to work, or unknown.
16614 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16616         msvc-inval: port to mingw-w64
16617         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
16618         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
16619         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
16621 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
16623         getcwd-lgpl: port to Tru64
16624         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
16625         Problem reported by Steven M. Schweda in
16626         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
16628         tests: port large-fd POSIX spawn tests to OS X
16629         Problem reported by Daiki Ueno in
16630         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
16631         * tests/test-posix_spawn_file_actions_addclose.c:
16632         * tests/test-posix_spawn_file_actions_adddup2.c:
16633         * tests/test-posix_spawn_file_actions_addopen.c:
16634         Include <limits.h>, for OPEN_MAX, if available.
16635         (big_fd): New static function.
16636         (main): Use it.
16638 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
16640         tests/nap.h: use an adaptive delay to avoid ctime update issues
16641         The recent change in nap.h (5191133e) decreased the probability of lost
16642         races to about a third, however such problems could still be observed
16643         in virtual machines and openSUSE's OBS.
16644         Before, nap() detected the needed time once empirically and then used
16645         that delay (together with a small correction multiplier) in further
16646         calls.  This problem has been reported and discussed several times,
16647         including guesses about possible kernel issues:
16648         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
16649         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
16650         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
16651         http://bugs.gnu.org/12820
16652         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
16653         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
16654         Now, nap() avoids the race alltogether by verifying on a reference
16655         file whether a timestamp difference has happened.
16656         * tests/nap.h (nap_fd): Define file descriptor variable for the
16657         witness file.
16658         (nap_works): Change return value to bool.  Change passing
16659         the old file's status by value instead of by reference as this function
16660         does no longer update that timestamp; rename the function argument from
16661         st to old_st.  Remove the local variables cdiff and mdiff because that
16662         function now returns true/false instead of the precise delay.
16663         (guess_delay): Remove function.
16664         (clear_tmp_file): Add new function to close and unlink the witness file.
16665         (nap): Instead of re-using the delay which has been calculated during
16666         the first call, avoid the race by actually verifying that a timestamp
16667         difference can be observed on the current file system.  Use an adaptive
16668         approach for the delay to minimize execution time.  Assert that the
16669         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
16670         = 2^31 - 1 = 2.1s.
16671         Use atexit to call clear_tmp_file when the process terminates.
16673 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16675         sig2str: port to C++
16676         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
16677         Reported by Daniel J Sebald in
16678         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
16680 2013-05-30  Eric Blake  <eblake@redhat.com>
16682         docs: mention cygwin shortcoming in <sys/un.h>
16683         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
16685         vasnprintf: silence mingw compiler warning
16686         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
16688 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16690         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
16691         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
16692         This fixes a porting bug I recently reintroduced in regex, and
16693         some other instances that I discovered while testing the fix.
16694         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
16695         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
16696         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
16697         with an empty argument if this is a pedantic pre-C99 GCC.
16698         * lib/verify.h: Do not use _Static_assert if this is a pedantic
16699         pre-C11 GCC.
16701         regex: adapt to locking regime instead of depending on pthread
16702         Instead of depending on pthread, adapt to whatever thread
16703         modules are in use.  Problem reported by Ludovic Courtès in
16704         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
16705         and by Mats Erik Andersson in
16706         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
16707         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
16708         Support either the 'lock' module, or the 'pthread' module, or
16709         no module.
16710         (lock_lock, lock_unlock): New macros.
16711         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
16712         * modules/lock, modules/pthread (configure.ac): Add module indicator.
16713         * modules/regex (Depends-on): Remove pthread.
16715 2013-05-22  Eric Blake  <eblake@redhat.com>
16717         getgroups: document portability issues
16718         * doc/glibc-functions/initgroups.texi (initgroups): Mention
16719         multithread safety.
16720         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
16721         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
16722         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
16723         getugroups.
16724         * doc/posix-functions/getgroups.texi (getgroups): Mention
16725         multithread safety and mgetgroups.
16727 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
16729         test-lchown, test-chown: also skip test if chown fails with EPERM
16730         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
16731         skip this test, to handle FAT file systems.
16732         * tests/test-chown.h (test_chown): Likewise.
16734 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16736         regex: fix dfa race in multithreaded uses
16737         Problem reported by Ludovic Courtès in
16738         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
16739         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
16740         New macros.  All uses of __libc_lock_define, __libc_lock_init
16741         changed to use the first two of these.
16742         (__libc_lock_lock, __libc_lock_unlock): New macros, for
16743         non-glibc platforms.
16744         (struct re_dfa_t): Define the lock unconditionally.
16745         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
16746         '#ifdef _LIBC"s.
16747         * modules/regex (Depends-on): Add pthread, if we use the
16748         included regex.
16750         * lib/regcomp.c: Do actions that are not needed for glibc,
16751         but may be needed elsewhere.
16752         (regfree, re_compile_internal): Destroy the lock.
16753         (re_compile_internal): Check for lock-initialization failure.
16755         malloca: port to compilers that reject size-zero arrays
16756         This fixes a bug introduced in my previous patch.
16757         * lib/malloca.c (struct preliminary_header): Use an int
16758         rather than a character array of size int; that's simpler.
16759         (struct header): Remove, replacing with ...
16760         (union header): New type.  This avoids the need for declaring a
16761         character array of size zero, which is not allowed on some platforms.
16762         All uses changed.
16764 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
16766         parse-datetime, tests: don't use "string" + int
16767         Recent versions of 'clang' complain about C source code that
16768         uses expressions of the form '"string literal" + integer',
16769         I guess on the theory that it's confusing for readers who are
16770         used to C++.  On those grounds I suppose it's OK to make this
16771         minor style change.
16772         * lib/parse-datetime.y (parse_datetime):
16773         * tests/test-fchdir.c (main):
16774         * tests/test-snprintf-posix.h (test_function):
16775         * tests/test-snprintf.c (main):
16776         * tests/test-vasnprintf-posix.c (test_function):
16777         * tests/test-vasnprintf.c (test_function):
16778         * tests/test-vsnprintf.c (main):
16779         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
16780         Rewrite '"str" + E' to '&"str"[E]'.
16782 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
16784         argmatch: port to C++
16785         * lib/argmatch.h [__cplusplus]: Add extern "C".
16787         argp: typo fix
16788         * lib/argp-help.c: Typo in comment.
16790 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
16792         manywarnings: update for GCC 4.8.0
16793         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
16794         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
16795         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
16796         -Wmissing-noreturn, as they are duplicates of other warnings.
16797         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
16798         was documented to be flaky in earlier versions of GCC.
16800         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
16801         * tests/test-spawn.c (main):
16802         * tests/test-sys_socket.c (main):
16803         * tests/test-sys_wait.c (main):
16804         Don't have a switch value that isn't covered by a case.
16806         getaddrinfo-tests: port --enable-gcc-warnings to clang
16807         * tests/test-getaddrinfo.c (simple):
16808         Avoid casts from looser to stricter-aligned pointers.
16810         thread: port --enable-gcc-warnings to clang
16811         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
16812         Include <signal.h>, to pacify a warning about pthread_sigmask.
16814         stdio: use __REDIRECT for fwrite, fwrite_unlocked
16815         * lib/stdio.in.h (fwrite):
16816         When working around bug 11959, use __REDIRECT rather than '#define
16817         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
16818         fix the -Wunused-value issue with clang, and it works with GCC too.
16819         Problem with targeting reported by Eric Blake in
16820         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
16821         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
16822         debugging the fwrite issue.
16824         stdio: port --enable-gcc-warnings to clang
16825         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
16826         since the GCC workaround for fwrite does not pacify clang.
16828         sig2str: port --enable-gcc-warnings to clang
16829         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
16831         obstack: port --enable-gcc-warnings to clang
16832         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
16833         Avoid casts from looser to stricter-aligned pointers.
16835         memchr2: port --enable-gcc-warnings to clang
16836         * lib/memchr2.c (memchr2):
16837         Avoid casts from looser to stricter-aligned pointers.
16839         mbsstr: port --enable-gcc-warnings to clang
16840         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
16841         Avoid casts from looser to stricter-aligned pointers.
16843         malloca: port --enable-gcc-warnings to clang
16844         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
16845         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
16847         inttostr: port --enable-gcc-warnings to clang
16848         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
16850         warnings: port to clang
16851         Problem reported by Daniel P. Berrange via Eric Blake in
16852         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
16853         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
16854         (gl_WARN_ADD): Use it.
16856 2013-05-11  Jim Meyering  <meyering@fb.com>
16858         quotearg: do not read beyond end of buffer
16859         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
16860         end of an ARG for which no length was specified.  With an N-byte
16861         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
16862         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
16863         via coreutils' misc/sort-debug-keys.sh test and detected by running
16864         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
16865         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
16866         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
16867         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
16868         characters correctly."
16870 2013-05-11  Daiki Ueno  <ueno@gnu.org>
16872         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
16873         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
16874         compilation target is Mac OS X 10.6.
16875         Problem reported by parafin and Andoni Morales in
16876         <http://savannah.gnu.org/bugs/?37844> and
16877         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
16879 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
16881         mkdir-p: remove assumptions about umask and mode
16882         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
16883         umask is 0, or that MODE is a subset of MODE_BITS.
16885 2013-05-10  Eric Blake  <eblake@redhat.com>
16887         maint.mk: catch more abuse of HAVE_DECL in syntax-check
16888         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
16890 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
16892         deps: require Automake >= 1.9.6 in generated Makefile fragments
16894         That is the same minimal version required in the DEPENDENCIES file.
16895         Moreover, the old code generated a requirement of Automake >= 1.5,
16896         and that is an insanely outdated version.
16898         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
16899         * tests/havelib/rpathlx/Makefile.am: Likewise.
16900         * tests/havelib/rpathly/Makefile.am: Likewise.
16901         * tests/havelib/rpathlyx/Makefile.am: Likewise.
16902         * tests/havelib/rpathlz/Makefile.am: Likewise.
16903         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
16904         * tests/havelib/rpathx/Makefile.am: Likewise.
16905         * tests/havelib/rpathy/Makefile.am: Likewise.
16906         * tests/havelib/rpathz/Makefile.am: Likewise.
16908 2013-05-08  Eric Blake  <eblake@redhat.com>
16910         bootstrap: AC_INIT may have more than four parameters
16911         * build-aux/bootstrap (extract_package_name): Correctly extract
16912         non-empty tarname field.  Avoid range in regex.
16913         Based on a report by Sami Kerola <kerolasa@iki.fi>.
16915 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
16917         qacl: port to MS-Windows port of GNU Emacs
16918         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
16919         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
16920         port of GNU Emacs.  Problem reported by Eli Zaretskii in
16921         <http://bugs.gnu.org/14295#14>.
16923 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
16925         acl: include quote.h
16926         * lib/copy-acl.c: Include quote.h.
16927         * lib/set-acl.c: Likewise.
16929 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
16931         fchownat, renameat, unlinkat: update statat dependencies
16932         These modules use statat and lstatat, not fstatat; so depend on
16933         the statat module, which was split out recently from fstatat.
16934         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
16935         * modules/renameat: Likewise.  Also delete fstat.
16936         URL: http://bugs.gentoo.org/468790
16938 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
16940         Assume gnulib is checked out from Git, not CVS
16942         In fact, access to the gnulib repository through CVS has been
16943         disabled, or more precisely, got broken and was never restored; see:
16944         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
16946         Note that support for CVS is not removed completely and unthinkingly
16947         by this change: only support for CVS checkouts of gnulib itself is
16948         removed.  For example, the 'bootstrap' script still cater to .cvsingore
16949         files and CVS directories, for the benefit of those poor gnulib clients
16950         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
16952         * gnulib-tool: Simplify accordingly.
16953         * posix-modules: Likewise.
16954         * MODULES.html.sh: Likewise.
16955         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
16956         repository.
16957         * doc/gnulib-intro.texi: Likewise.
16958         * doc/gnulib-readme.texi: Likewise.
16959         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
16960         sample '.gitignore' file rather than a sample '.cvsignore'.
16961         * NEWS: Update.
16962         * m4/extensions.m4: While at it, remove a comment mistakenly referring
16963         to "CVS Autoconf" rather than "git Autoconf".
16965 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
16967         utimensat-tests, etc.: try to fix some races
16968         Problem reported by Bernhard Voelker in
16969         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
16970         I don't know whether this patch fixes that race condition, but it
16971         fixes *some* race conditions, so it should be a win.
16972         * modules/chown-tests (Depends-on):
16973         * modules/fchownat-tests (Depends-on):
16974         * modules/fdutimensat-tests (Depends-on):
16975         * modules/futimens-tests (Depends-on):
16976         * modules/lchown-tests (Depends-on):
16977         * modules/stat-time-tests (Depends-on):
16978         * modules/utimens-tests (Depends-on):
16979         * modules/utimensat-tests (Depends-on):
16980         Depend on nanosleep, not usleep.
16981         * modules/chown-tests (test_chown_LDADD):
16982         * modules/lchown-tests (test_lchown_LDADD):
16983         * modules/stat-time-tests (test_stat_time_LDADD):
16984         New macro.
16985         * modules/fchownat-tests (test_fchownat_LDADD):
16986         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
16987         * modules/futimens-tests (test_futimens_LDADD):
16988         * modules/utimens-tests (test_utimens_LDADD):
16989         * modules/utimensat-tests (test_utimensat_LDADD):
16990         Add $(LIB_NANOSLEEP).
16991         * modules/stat-time-tests (Files): Add tests/nap.h.
16992         * tests/nap.h: Include <limits.h>, for INT_MAX.
16993         (lt_mtime): Remove.
16994         (diff_timespec): New function.
16995         (get_stat): Rename from get_mtime.  All callers changed.
16996         (nap_works): Determine the needed delay by inspecting the
16997         file system's timestamp jumps; this should be more reliable.
16998         Look at both mtime and ctime, and take the maximum of the two jumps.
16999         (nap_works, guess_delay):
17000         Return a nanosecond count, not a microsecond count.
17001         All callers changed.
17002         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
17003         failure.
17004         (nap): Multiply the guess by 1.125, to accommodate the case where
17005         the file system's clock is a bit slower than nanosleep's clock.
17006         * tests/test-stat-time.c (BASE): New macro.
17007         Include nap.h.
17008         (nap): Remove; nap.h now defines this.  This removes a duplicate
17009         implementation of 'nap'.
17011         utimens, utimensat: work around Solaris UTIME_OMIT bug
17012         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
17013         Linux kernel 2.6.32 does.  Work around it in the same way.
17014         * doc/posix-functions/futimens.texi (futimens):
17015         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
17016         * lib/utimens.c (fdutimens, lutimens):
17017         * lib/utimensat.c (rpl_utimensat): Work around the bug.
17019         gettext: now it's your responsibility to add -I$(top_builddir)/intl
17020         Formerly, it was your responsibility to do this for all Makefile.ams
17021         other than Gnulib's.  Now it's your responsibility to do it for
17022         Gnulib's Makefile.am, too.
17023         * NEWS: Document this.
17024         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
17026         acl: include errno.h to get errno
17027         Reported by Daiki Ueno in
17028         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
17029         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
17031 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
17033         tests: don't assume getdtablesize () <= 10000000
17034         * modules/cloexec-tests:
17035         * modules/dup2-tests:
17036         * modules/dup3-tests:
17037         * modules/nonblocking-tests:
17038         * modules/posix_spawn_file_actions_addclose-tests:
17039         * modules/posix_spawn_file_actions_adddup2-tests:
17040         * modules/posix_spawn_file_actions_addopen-tests:
17041         * modules/unistd-safer-tests:
17042         Depend on the getdtablesize module.
17043         * tests/test-cloexec.c:
17044         * tests/test-dup-safer.c:
17045         * tests/test-dup2.c:
17046         * tests/test-dup3.c:
17047         * tests/test-fcntl.c:
17048         * tests/test-nonblocking.c:
17049         * tests/test-posix_spawn_file_actions_addclose.c:
17050         * tests/test-posix_spawn_file_actions_adddup2.c:
17051         * tests/test-posix_spawn_file_actions_addopen.c:
17052         Don't assume getdtablesize () <= 10000000.
17054 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
17056         extern-inline: work around bug in Sun c99
17057         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
17058         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
17060 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
17062         qacl: new module, broken out from the acl module
17063         This is for GNU Emacs, which wants the acl functions but does
17064         not want 'error' invoked when they fail.
17065         * lib/acl-internal.h: Do not include error.h, quote.h.
17066         (ENOSYS, ENOTSUP): Remove; no longer needed.
17067         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
17068         * lib/acl.h: Include <stdbool.h>.
17069         (acl_errno_valid): New function.
17070         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
17071         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
17072         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
17073         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
17074         (ACL_INTERNAL_INLINE): Remove; no longer needed.
17075         * lib/file-has-acl.c (file_has_acl):
17076         * lib/qcopy-acl.c (qcopy_acl):
17077         * lib/qset-acl.c (qset_acl):
17078         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
17079         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
17080         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
17081         lib/file-has-acl.c, m4/acl.m4 to qacl module.
17082         Add lib/set-acl.c.
17083         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
17084         Add qacl.
17085         (configure.ac): Move gl_FUNC_ACL to qacl module.
17086         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
17087         Rename set-mode-acl.c to set-acl.c.
17088         * lib/acl-errno-valid.c: New file.
17089         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
17090         copy_acl function remains in copy-acl.c.
17091         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
17092         (_): Remove; not needed.
17093         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
17094         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
17095         * modules/qacl: New file, moved from the old modules/acl.
17096         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
17097         Remove set-mode-acl.c, copy-acl.c.
17098         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
17100         alignof, intprops, malloca: port better to IBM's C compiler
17101         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
17102         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
17103         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
17105 2013-04-25  Daiki Ueno  <ueno@gnu.org>
17107         wctype-h: fix gettext link error on mingw
17108         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
17109         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
17110         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
17111         rpl_towupper and rpl_towupper.
17113 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
17115         regex-tests, regex: allow glibc re_search behavior
17116         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
17117         re_search input data to make the multi-character collating element
17118         in it clearly visible, and treat re_search return code 0 as valid.
17119         * m4/regex.m4 (gl_REGEX): Likewise.
17121 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
17123         stdalign: doc fix
17124         * doc/posix-headers/stdalign.texi (stdalign.h):
17125         Gnulib doesn't support '_Alignof expr'.
17127 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
17129         stdalign: port to stricter ISO C11
17130         ISO C11 says that _Alignof's operand must be a parenthesized type.
17131         Problem reported by Eli Zaretskii in
17132         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
17133         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
17134         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
17136 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
17138         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
17139         Problem reported by Marco Atzeri in
17140         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
17141         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
17142         Simply delegate to the system <sys/select.h> in this case too.
17143         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
17144         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
17145         be needed on Solaris either.
17146         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
17147         Simply delegate to the system <sys/time.h> in this case.
17149 2013-03-19  Karl Berry  <karl@gnu.org>
17151         * build-aux/gnupload: check for erroneous (with gnupload) use of
17152         ftp-upload.gnu.org, tweak help.
17154 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17156         copy-file, rpmatch: fix problems found by cppcheck
17157         Reported by Arno Onken in
17158         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
17159         * lib/rpmatch.c (try): Fix memory leak.
17160         * lib/copy-file.c: Include "ignore-value.h".
17161         (qcopy_file_preserving): Ignore chown value.
17162         * modules/copy-file (Depends-on): Add ignore-value.
17164 2013-01-27  Jim Meyering  <jim@meyering.net>
17166         prefix-gnulib-mk: give better diagnostics
17167         * build-aux/prefix-gnulib-mk: Don't just "die".
17168         Give better diagnostics upon failure.
17170 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
17172         putenv: port to Solaris 10
17173         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
17174         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
17175         is not what is wanted here.
17176         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
17177         declaration, not for its existence.
17179 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
17181         mktime: fix configure typo
17182         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
17184 2013-03-12  Eric Blake  <eblake@redhat.com>
17186         regex-tests: skip UTF-8 test on mingw
17187         * modules/regex-tests (Depends-on): Add localcharset.
17188         * tests/test-regex.c (main): Use it to skip test on mingw.
17190 2013-03-11  Eric Blake  <eblake@redhat.com>
17192         tests: make it easier to bypass alarm time in debugger
17193         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
17194         * tests/test-memmem.c (main): Likewise.
17195         * tests/test-passfd.c (main): Likewise.
17196         * tests/test-ptsname.c (main): Likewise.
17197         * tests/test-ptsname_r.c (main): Likewise.
17198         * tests/test-strcasestr.c (main): Likewise.
17199         * tests/test-strstr.c (main): Likewise.
17201         regex: port to mingw's recent addition of undeclared alarm
17202         * doc/posix-functions/alarm.texi (alarm): Document that alarm
17203         exists but still doesn't work in newer mingw.
17204         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
17205         not existence.  Ensure SIGALRM is not trapped.
17206         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
17207         * m4/regex.m4 (gl_REGEX): Likewise.
17208         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
17209         * tests/test-regex.c (main): Use correct probe for alarm.
17211         putenv: avoid compilation warning on mingw
17212         * lib/putenv.c (_unsetenv): Protect variable declaration.
17213         (putenv): Fix indentation.
17215 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
17217         unistd: don't prevent Tru64 Unix from using gnulib strtod.
17218         * lib/unistd.in.h: be careful not to include un-needed system
17219         stdlib.h from here, because that prevents gnulib stdlib.h from
17220         defining rpl_strtod correctly.
17222 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
17224         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
17225         changesets, but for the 'precision 0' test.
17226         * tests/test-vasprintf-posix.c (test_function): Don't insist on
17227         round-to-even, since POSIX says rounding is implementation-defined
17228         and OS X 10.8.2 rounds 1.51 to 1 here.
17230         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
17231         changeset.
17232         * tests/test-vasprintf-posix.c (test_function): Don't insist on
17233         round-to-even, since POSIX says rounding is implementation-defined
17234         and OS X 10.8.2 rounds 1.5 to 1 here.
17236 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
17238         vasnprintf-posix-tests: allow rounding 1.5 to 1
17239         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
17240         round-to-even, since POSIX says rounding is implementation-defined
17241         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
17242         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
17244         bootstrap: port to FreeBSD
17245         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
17246         that treat '--' differently.  Reported by Mats Erik Andersson in
17247         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
17249 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
17251         regex: rename remaining __attribute calls to __attribute__.
17252         2012-02-25 changed definition of __attribute, but left some uses
17253         unchanged, preventing compilation of regex module on most non-gcc
17254         environments.
17255         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
17256         (lookup_collation_sequence_value, build_range_exp)
17257         (build_collating_symbol): Set attributes with newly renamed
17258         __attribute__ decorator.
17259         * lib/regex_internal.c (re_string_peek_byte_case)
17260         (re_node_set_compare, re_node_set_contains): Likewise.
17261         * lib/regexec.c (acquire_init_state_context): Likewise.
17263 2013-03-06  Bruno Haible  <bruno@clisp.org>
17265         execute: Revert last change, but use a different condition.
17266         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
17267         on Windows.
17269 2013-03-05  Eric Blake  <eblake@redhat.com>
17271         execute: drop dead code
17272         * lib/execute.c (nonintr_close, nonintr_open): Delete.
17274 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
17276         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
17277         * m4/non-recursive-gnulib-prefix-hack.m4
17278         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
17279         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
17280         <http://bugs.gnu.org/10305#237>.
17282 2013-03-04  Eric Blake  <eblake@redhat.com>
17284         test-getsockopt: avoid compiler warning
17285         * tests/test-getsockopt.c (includes): Ensure close is declared.
17287 2013-03-02  Bruno Haible  <bruno@clisp.org>
17289         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
17290         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
17292 2013-03-02  Bruno Haible  <bruno@clisp.org>
17294         gettext: Update to version 0.18.2.
17295         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
17296         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
17297                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
17299 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17301         regex: merge patches from libc
17303         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
17304         * lib/regex_internal.h (__attribute__): Rename from __attribute.
17305         All uses changed.
17306         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
17307         (re_string_wchar_at, re_string_elem_size_at):
17308         Mark function as possibly unused.
17310         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
17311         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
17312         elements compare against the byte sequence of it, not its name.
17314 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
17316         putenv: port better to native Windows
17317         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
17318         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
17319         (_unsetenv): Use _putenv if available.
17320         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
17321         a bit less likely to cause damage.
17322         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
17323         Fix the wrong value with SetEnvironmentVariable.
17324         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
17325         code better.
17327 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
17329         regex: ignore old-style-definition warnings
17330         * lib/regex.c: Add pragma to ignore these warnings.
17331         Problem reported for GNU tar by Pavel Raiskup.
17333 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
17335         getcwd: support coreutils better
17336         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
17337         but this might not be correct in coreutils, which disables
17338         the raw decl checks.  Problem reported by Nagendra in
17339         <http://bugs.gnu.org/10305#192>.
17340         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
17341         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
17342         Test the getcwd function, not any macro, since getcwd.c wants the
17343         function.
17344         * m4/getcwd.m4 (gl_FUNC_GETCWD):
17345         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
17346         compile, as might happen if there's a macro but no function.
17348         strtod: support coreutils better
17349         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
17350         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
17351         disables the raw decl checks.  This assumes there is an underlying
17352         strtod, but that's a safe assumption these days.
17353         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
17355         mountlist: port to HP NonStop
17356         Reported by Joachim Schmitz in
17357         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
17358         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
17359         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
17361 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
17363         extern-inline: avoid compilation error with HP-UX cc
17364         Reported by Richard Lloyd in
17365         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
17366         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
17367         Suppress extern inline with HP-UX cc.  This should be safe,
17368         though it may hurt performance.  Perhaps someone with some HP-UX
17369         experience can come up with a higher-performance fix.
17371 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
17373         putenv: fix heap corruption with mixed putenv/_putenv
17374         Problem reported by Michael Goffioul in
17375         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
17376         * lib/putenv.c (putenv) [HAVE__PUTENV]:
17377         Rely on _putenv to allocate the new environment.
17378         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
17379         * modules/putenv (configure.ac): Use it.
17381 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
17383         unsetenv etc.: port to Solaris 11 + GNU Emacs
17384         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
17385         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
17386         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
17387         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
17388         idea but is too painful to fix right now), and without this gnulib
17389         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
17390         compiling unsetenv.c on Solaris 11.  Fix the problem for
17391         unsetenv.c, and fix other similar occurrences.
17393 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
17395         secure_getenv: fix C++ declaration typo
17396         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
17397         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
17398         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
17400 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
17402         careadlinkat: stop exporting careadlinkatcwd
17403         Only Emacs used it directly, and Emacs no longer needs it.
17404         * NEWS: Document this simplification.
17405         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
17406         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
17407         for readlink.
17408         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
17409         Don't include stdlib.h; no longer needed.
17410         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
17411         * lib/relocwrapper.c: Adjust comment to match new dependencies.
17412         * modules/areadlink (Depends-on): Add readlink.
17413         (Maintainer): Add self.
17414         * modules/careadlinkat (Depends-on): Remove readlink.
17416         extensions: port better to HP-UX
17417         This is merged from git Autoconf.
17418         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
17419         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
17420         so that it's compatible with the value used when compiling.
17422         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
17423         Problem reported by Mats Erik Andersson in
17424         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
17425         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
17426         openpty function exists, not merely when we intend to replace it.
17427         This corrects the 2013-01-31 patch, which mistakenly defined
17428         HAVE_OPENPTY even on hosts that lacked it.
17430 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
17432         secure_getenv: fix include typo
17433         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
17435         secure_getenv: port better to FreeBSD and Solaris
17436         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
17437         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
17438         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
17439         This works better on BSDish platforms.
17440         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
17441         Test for issetugid if __secure_getenv is missing.
17443 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
17445         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
17446         Some of these changes are merged in from git Autoconf.
17447         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
17448         When deciding whether to define _XOPEN_SOURCE, inspect the
17449         preprocessor macro __hpux instead of the more-heavyweight
17450         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
17451         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
17452         as the key for __EXTENSIONS__.
17454         unistd: avoid namespace pollution on non-glibc systems
17455         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
17456         This avoids namespace pollution on non-glibc systems, by causing
17457         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
17458         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
17459         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
17461 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
17463         tmpdir: use secure_getenv
17464         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
17465         Define to secure_getenv, not getenv.
17466         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
17467         as that's now secure_getenv's job.
17468         * modules/tmpdir (Depends-on): Add secure_getenv.
17470         tempname: use secure_getenv
17471         * lib/tempname.c (__secure_getenv) [!_LIBC]:
17472         Define to secure_getenv, not getenv.
17473         * modules/tempname (Depends-on):
17474         Add secure_getenv.
17476         secure_getenv: new module
17477         * MODULES.html.sh (Extra functions based on ANSI C 89):
17478         Add secure_getenv.
17479         * doc/glibc-functions/secure_getenv.texi: New file.
17480         * doc/gnulib.texi: Include it.
17481         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
17482         New files.
17483         * lib/stdlib.in.h (secure_getenv): New decl.
17484         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
17485         * modules/stdlib (stdlib.h):
17486         Add secure_getenv checks.
17488 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
17490         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
17491         Reported for OS X 10.8.2 by Assaf Gordon in
17492         <http://bugs.gnu.org/13516>.
17493         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
17494         !HAVE_OPENAT && !HAVE_FDOPENDIR.
17495         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
17496         so that they can be kept in sync more easily.  Avoid PATH_MAX
17497         test on the Hurd.  Sync from test-getcwd.c for errno tests after
17498         mkdir or chdir failure.
17499         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
17500         lib/getcwd.c.
17501         (test_abort_bug): Do not test for the deep directory bug unless we
17502         have openat support.  Avoid PATH_MAX test on the Hurd.
17504         regex-tests, regex: fix bug: memset undeclared
17505         * tests/test-regex.c: Don't include regex.h twice.  Include
17506         string.h, to declare memset.  Christensen's report also mentioned
17507         this issue.
17508         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
17509         test-regex.c, to avoid future problems like this.  Remove
17510         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
17511         twice.
17513         regex-tests: fix link errors on older Solaris
17514         These need to link with @LIBINTL@ to get libintl_gettext.
17515         Problem reported by Tom G. Christensen in
17516         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
17517         * modules/regex-tests (test_regex_LDADD): New macro.
17519 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
17521         regex-tests: new module
17522         * modules/regex-tests, tests/test-regex.c: New files.
17524         regex: fix off-by-one error in configure test
17525         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
17527 2013-01-31  Eric Blake  <eblake@redhat.com>
17529         regex: avoid infinite configure test
17530         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
17532 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
17534         openpty: fix bug where HAVE_OPENPTY wasn't defined
17535         See the thread starting at:
17536         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
17537         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
17538         openpty function exists, not merely when we intend to replace it.
17540 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
17542         sys_time: port to Solaris 2.6
17543         There is a circularity problem on Solaris 2.6, where <time.h> includes
17544         <sys/time.h> for struct timespec.  The include nesting is gnulib
17545         <time.h>, system <time.h>, gnulib <sys/time.h>, system
17546         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
17547         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
17548         <sys/siginfo.h>; the last, innermost file needs struct
17549         timestruc_t, which is defined in <sys/time.h>, which has not been
17550         fully parsed.  Problem reported by Tom G. Christensen in
17551         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
17552         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
17553         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
17554         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
17555         uses split double-inclusion guards.
17557 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
17559         regex: test for buffer overrun
17560         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
17561         for the just-fixed regex bug.
17563 2013-01-29  Andreas Schwab  <schwab@suse.de>
17565         regex: fix buffer overrun in regexp matcher [BZ #15078]
17566         * lib/regexec.c (extend_buffers): Add parameter min_len.
17567         (check_matching): Pass minimum needed length.
17568         (clean_state_log_if_needed): Likewise.
17569         (get_subexp): Likewise.
17571 2013-01-28  Pádraig Brady  <P@draigBrady.com>
17573         mountlist: don't consider "devtmpfs" as dummy
17574         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
17575         as there is storage associcated with it.
17577 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
17579         futimens-tests, utimens-tests: Depend on gettext.
17580         This works around a problem introduced in my 2013-01-12 patch,
17581         which added @LIBINTL@ to these modules.
17582         * modules/futimens-tests (Depends-on):
17583         * modules/utimens-tests (Depends-on): Add gettext.
17585 2013-01-26  Eric Blake  <eblake@redhat.com>
17587         test-getpeername: fix typo
17588         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
17590 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
17592         bootstrap: remove the need for a sorted .gitignore file
17593         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
17594         rename to insert_if_absent(), so that we don't need or generate
17595         a sorted .gitignore file.  We do require a .gitignore with no
17596         existing duplicate entries and enforce that.
17597         (sort_patterns): Remove this function as we now use the simpler
17598         technigue of inserting blacklist entries at the top of the file,
17599         assuming gnulib won't be inserting !whitelist entries.
17601 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
17603         readlinkat: don't depend on gl_FUNC_OPENAT
17604         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
17605         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
17606         renameat.m4, symlinkat.m4; but one thing at a time.
17608         statat: new module, split out from fstatat
17609         GNU Emacs needs the POSIX-specified fstatat, but not the
17610         gnulib-specified statat and lstat.  Split the latter two into a
17611         new module 'statat'.
17612         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
17613         * lib/openat.h, lib/statat.c (STATAT_INLINE):
17614         Rename from FSTATAT_INLINE. All uses changed.
17615         * modules/fstatat (Files): Remove lib/statat.c.
17616         (gl_MODULE_INDICATOR([fstatat])): Remove.
17617         (lib_SOURCES): Remove.
17618         (Maintainer): Add self.
17619         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
17620         * tests/test-fstatat.c (BASE): Don't define if already defined.
17621         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
17623 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
17625         tests: don't assume fd 99 is closed
17626         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
17627         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
17628         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
17629         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
17630         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
17631         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
17632         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
17633         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
17634         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
17635         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
17636         * tests/test-fwrite.c, tests/test-getpeername.c:
17637         * tests/test-getsockname.c, tests/test-getsockopt.c:
17638         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
17639         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
17640         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
17641         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
17642         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
17643         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
17644         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
17645         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
17646         * tests/test-unlinkat.c, tests/test-unlockpt.c:
17647         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
17648         Close file descriptor 99, instead of assuming it's already closed.
17650 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
17652         stpncpy: port to OS X 10.8
17653         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
17654         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
17656 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
17658         unistd: port to recent mingw
17659         * lib/unistd.in.h: Remove special invocation convention for mingw,
17660         which breaks for the latest mingw version.  See John W. Eaton in
17661         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
17663         largefile: port better to Mac OS X 10.5
17664         This patch is backported from Autoconf git.
17665         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
17666         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
17667         with ino_t size being different for configuration time versus
17668         build/run time.  Problem reported by PHO in
17669         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
17671 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
17673         doc: clarify -Werror
17674         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
17675         clarify that it's intended for developers, not for ordinary builds,
17676         and mention --enable-gcc-warnings as one possible use.
17678 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
17680         stdint: fix build with Android's Bionic fox x86
17681         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
17682         was already included as _SSIZE_T_DEFINED_ might also be defined
17683         in include/machine/_types.h, which is included by stdio.h
17685 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
17687         net_if-tests: port to Solaris 7 + GCC 3.4.6
17688         Problem reported by Tom G. Christensen in
17689         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
17690         * tests/test-net_if.c (ni): Move to next the code that uses it,
17691         so that it's declared only if needed.
17693 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
17695         net_if-tests: port to older Solaris
17696         Problem reported by Tom G. Christensen in
17697         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
17698         * modules/net_if-tests (NET_IF_LIB): New substitution.
17699         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
17700         (HAVE_IF_NAMEINDEX): New C macro.
17701         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
17703         system-quote-tests: port to older Solaris
17704         Problem reported by Tom G. Christensen in
17705         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
17706         * tests/test-system-quote-child.c (fopen, fread): Undef.
17708         c-xvasprintf etc.: fix link errors on older Solaris
17709         These need to link with @LIBINTL@ to get libintl_gettext.
17710         Problem reported by Tom G. Christensen in
17711         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
17712         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
17713         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
17714         * modules/futimens-tests (test_futimens_LDADD):
17715         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
17717 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
17719         locale: port to Solaris 2.6 and 7 + GNU gettext
17720         * lib/locale.in.h: Just include_next <locale.h> when
17721         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
17722         when combining the localename module with GNU gettext 0.18.2.
17723         Problem reported by Tom G. Christensen in
17724         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
17726 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
17728         stdlib: port to Solaris 2.6
17729         Also, the code worked on Solaris 7 through 9 only by accident.
17730         Problem reported by Tom G. Christensen in
17731         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
17732         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
17733         simply include the system stdlib.h.
17734         * lib/getopt.in.h (__need_system_stdlib_h):
17735         * lib/pthread.in.h (__need_system_stdlib_h):
17736         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
17737         Define when including <stdlib.h>, to avoid problems at least for
17738         the pthread case on Solaris 2.6 and 7.  These .h files can get by
17739         with the system stdlib.h.
17741 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
17743         doc: update main copyright year
17744         * doc/gnulib.texi: Update copyright date.
17746         doc: improve ISO 8601 discussion
17747         * doc/parse-datetime.texi (Combined date and time of day items):
17748         Specify more carefully what formats are supported and what is
17749         done with excess precision.
17751 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
17753         doc: avoid small caps
17754         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
17755         they're more trouble than they're worth.  Suggested by Karl Berry
17756         in <http://bugs.gnu.org/13360>.
17758         regex: conform to strict C
17759         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
17760         From Aharon Robbins.
17762         gnulib-tool: fix incompatibility with autopoint 0.18.2
17763         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
17764         Problem reported by Tom G. Christensen in
17765         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
17767 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
17769         fprintftime: bring back and reword fwrite comment
17770         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
17772         stdio: remove now-unnecessary stdio.c
17773         Since stdio.in.h no longer uses inline functions, we no longer
17774         need to compile the extern versions.
17775         * lib/stdio.c: Remove.
17776         * modules/stdio (Files): Remove lib/stdio.c.
17777         (lib_SOURCES): Remove.
17779         unicodeio: depend on stdio, not ignore-value
17780         * lib/unicodeio.c: Do not include ignore-value.h.
17781         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
17782         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
17784         fprintftime: depend on stdio, not ignore-value
17785         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
17786         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
17787         since the stdio module arranges to silence that warning now.
17788         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
17790 2012-10-04  Simon Josefsson  <simon@josefsson.org>
17792         stdint-tests: Fix expanded-before-required-warning.
17793         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
17795 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
17797         fwrite: silence __wur only for older glibc versions
17798         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
17799         This will help us remove this workaround some time in the far future.
17801 2013-01-03  Eric Blake  <eblake@redhat.com>
17803         fwrite: silence __wur without using inline
17804         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
17805         just gcc, and in a way that avoids inline issues.
17806         * modules/stdio (Depends-on): Drop extern-inline.
17808 2013-01-03  Jim Meyering  <jim@meyering.net>
17810         update-copyright: avoid copyright notice date corruption
17811         Given a sequence of copyright year numbers in which the final
17812         one was a two-digit number that happened to be a substring of
17813         a preceding four-digit year number, we would mistakenly update
17814         the substring (from two- to four-digit) rather than the two-digit
17815         number at the end, which, combined with the addition of the current
17816         4-digit year number would yield two 5-digit year numbers, e.g.,
17817         here, it would convert the first "99" to "1999, 2013" rather than
17818         the final one:
17819           1991, 99
17820           11999, 20131, 1999
17821         * build-aux/update-copyright: Tighten a regexp.
17822         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
17823         Reported by Joseph Myers in
17824         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
17826 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17828         regex: omit needless signed-pointer casts
17829         * lib/regcomp.c (build_charclass, build_charclass_op):
17830         Use char *, not unsigned char *, for class name and extra.
17831         The char values are always nonnegative so there's no need to
17832         insist on unsigned char * here, and using char * removes the need
17833         for casts.  Reported by Aharon Robbins in
17834         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
17836         regex: support Gawk, which never uses alloca
17837         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
17838         Do not include in this case.  Gawk doesn't supply a substitute
17839         alloca.h and doesn't need one.
17841         regex: port __libc_lock_define usage to C89
17842         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
17843         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
17844         does not conform to C89, as it has an empty macro argument.
17845         Reported by Aharon Robbins in
17846         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
17848 2013-01-01  Eric Blake  <eblake@redhat.com>
17850         maint: update all copyright year number ranges
17851         Run "make update-copyright".
17853         version-etc: bump copyright year reported in --version
17854         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
17856 2012-12-31  Eric Blake  <eblake@redhat.com>
17858         sigprocmask-tests: skip test if pid is unexpectedly large
17859         * tests/test-sigprocmask.c (main): Add range check.
17861         git-version-gen: avoid test -z portability glitch
17862         * build-aux/git-version-gen: Prefer portable test spelling, since
17863         git-version-gen is run on more than just developer machines.
17865 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
17867         git-version-gen: add --fallback option to use if git is not present
17868         * build-aux/git-version-gen: Add support for the new option --fallback,
17869         which comes into play when there is no $tarball_version_file and
17870         git is not working.
17871         (scriptversion): Update.
17873         maint.mk: handle missing git with more grace
17874         * top/maint.mk (no-submodule-changes, public-submodule-commit):
17875         Quietly proceed if git is not present.
17877 2012-12-31  Eric Blake  <eblake@redhat.com>
17879         dup2: work around cygwin bug
17880         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
17881         * lib/dup2.c (rpl_dup2): Work around it.
17882         * doc/posix-functions/dup2.texi (dup2): Document it.
17884 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
17886         regex: remove unnecessary dependency on localcharset.h
17887         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
17888         hasn't been needed for years.
17889         * modules/regex (Depends-on): Remove localcharset.
17891         regex: revert single-byte change
17892         * lib/regexec.c (check_node_accept_bytes): Revert previous change
17893         to this function.  This was alredy fixed in a different way, at
17894         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
17895         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
17896         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
17898         regex: simplify based on Gawk version
17899         * lib/regex_internal.c (re_dfa_add_node): Simplify.
17900         Reported by Aharon Robbins in
17901         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
17903 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
17905         regex: check that pattern char is single-byte
17906         Reported by Aharon Robbins in
17907         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
17908         * lib/regexec.c (check_node_accept_bytes):
17909         Return 0 if the pattern string has a multibyte character here.
17911         regex: implement rational ranges
17912         Reported by Aharon Robbins in
17913         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
17914         * lib/regcomp.c (build_range_exp) [!_LIBC]:
17915         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
17916         Implement rational ranges.
17918         regex: avoid redefining __wctype
17919         Reported by Aharon Robbins in
17920         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
17921         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
17922         #undef before defining.
17924         regex: port to hosts where malloc (0) == NULL
17925         Reported by Aharon Robbins in
17926         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
17927         * lib/regex_internal.c (re_node_set_alloc):
17928         Don't assume that malloc (0) yields nonnull.
17929         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
17930         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
17931         * modules/regex (Files): Add m4/eealloc.m4.
17933         regex: port to C89
17934         Reported by Aharon Robbins in
17935         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
17936         * lib/regcomp.c (init_word_char): Declaration before statement.
17938         regex: merge glibc changes
17939         Also, copy the license wording from glibc.  This simplifies
17940         merging changes.  gnulib-tool will change the wording to GPL as
17941         appropriate, when importing it to other packages.  The only
17942         glibc change made since the last merge, which needs merging, is:
17943         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
17944         * lib/regex_internal.h (gettext): Remove use of INTUSE.
17946         * users.txt: Add Emacs.
17948         doc: omit mention of version when not needed
17949         * doc/gnulib-intro.texi (Portability and Application Code):
17950         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
17951         Don't mention particular dates or versions when not necessary, so
17952         that the documentation won't go out of date so quickly.
17954         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
17956 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
17958         bootstrap: pass --force to autoreconf.
17959         * build-aux/bootstrap (AUTORECONFFLAGS): New.
17960         Add "--force" so that Automake's ylwrap and other such tools
17961         be updated at each bootstrap invocation.
17962         Use it.
17964 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
17966         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
17967         The earlier patch forgot to update one of the #if conditions, causing
17968         a problem on Debian testing i386 reported by Mats Erik Andersson
17969         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
17970         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
17971         (__argp_fmtstream_puts, argp_fmtstream_puts)
17972         (__argp_fmtstream_write, argp_fmtstream_write)
17973         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
17975         * doc/gnulib-readme.texi: Minor fixups.
17976         (Portability guidelines): Modernize URLs.  Remove some repetition.
17977         (Indent with spaces not TABs): Reword to avoid too-long lines.
17978         Remove some '@ifset standalone' stuff that isn't used.
17980         * doc/gnulib-readme.texi (Portability guidelines):
17981         ctype.h, not ctime.h.
17983         Correct name of POSIX.1-2001.
17984         * doc/posix-functions/fgetc.texi (fgetc):
17985         * doc/posix-functions/fgets.texi (fgets):
17986         * doc/posix-functions/fread.texi (fread):
17987         * doc/posix-functions/fscanf.texi (fscanf):
17988         * doc/posix-functions/getc.texi (getc):
17989         * doc/posix-functions/getchar.texi (getchar):
17990         * doc/posix-functions/scanf.texi (scanf):
17991         POSIX.1-2001, not POSIX-2001.
17993         doc: move README into manual
17994         * README: Move contents to new file doc/gnulib-readme.texi.
17995         Replace with a one-line summary.
17996         * doc/gnulib.texi (Brief Overview): New section,
17997         with old intro preface.  Include gnulib-readme.texi for contents.
17998         (Philosophy): Rename from "Introduction", since this
17999         section no longer introduces the rest.  Write a new preface.
18000         * doc/gnulib-readme.texi: New file, with the old contents of
18001         README texinfo-ized.  This way, the README info appears
18002         in the online and printed manual.
18004 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
18006         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
18007         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
18008         c_vasprintf() prototype.
18010 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
18012         c-vasprintf: Fix "empty declaration" warning reported by GCC.
18013         * lib/c-vasprintf.h: Remove stray semicolon.
18015 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
18017         gettext: avoid obsolete macro AM_PROG_MKDIR_P
18018         It is obsolete and is planned to be removed from Automake 1.14; see
18019         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
18020         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
18021         (installdirs-data, installdirs-data-yes):
18022         Use $(MKDIR_P), not $(mkdir_p).
18023         * m4/intl.m4 (AM_INTL_SUBDIR):
18024         * m4/po.m4 (AM_PO_SUBDIRS):
18025         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
18027 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
18029         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
18030         On this platform, we are not optimizing but we are using
18031         the substitute for extern inlines, so compile as if
18032         C99-style extern inline, or a substitute, is available.
18033         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
18034         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
18035         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
18036         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
18037         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
18038         Declare as ARGP_FS_EI, not as extern.
18039         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
18040         (__option_is_short, _option_is_end, __option_is_end)
18041         [!_LIBC && __USE_EXTERN_INLINES]:
18042         Declare as ARGP_EI, not as extern.
18044 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
18046         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
18047         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
18048         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
18049         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
18050         ...), as the latter is fatal with older Autoconfs.
18051         Problem reported and fix suggested by Eric Blake in thread starting at
18052         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
18054 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
18056         AC_PROG_MKDIR_P: don't workaround if not buggy
18057         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
18058         Define only for Autoconf versions before 2.62.
18059         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
18060         undocumented m4_PACKAGE_VERSION, for consistency with the
18061         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
18062         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
18063         was introduced in 2.62.
18065 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
18067         New 'c-*printf' modules for formatted output in C locale.
18069         New module 'c-vasnprintf'.
18070         * modules/c-vasnprintf: New file.
18071         * lib/c-vasnprintf.c: New file.
18072         * lib/c-vasnprintf.h: New file.
18074         New module 'c-snprintf'.
18075         * modules/c-snprintf: New file.
18076         * modules/c-snprintf-tests: New file.
18077         * lib/c-snprintf.c: New file.
18078         * lib/c-snprintf.h: New file.
18079         * tests/test-c-snprintf.c: New file.
18080         * tests/test-c-snprintf.sh: New file.
18082         New module 'c-vsnprintf'.
18083         * modules/c-vsnprintf: New file.
18084         * modules/c-vsnprintf-tests: New file.
18085         * lib/c-vsnprintf.c: New file.
18086         * lib/c-vsnprintf.h: New file.
18087         * tests/test-c-vsnprintf.c: New file.
18088         * tests/test-c-vsnprintf.sh: New file.
18090         New module 'c-vasprintf'.
18091         * modules/c-vasprintf: New file.
18092         * modules/c-vasprintf-tests: New file.
18093         * lib/c-asprintf.c: New file.
18094         * lib/c-vasprintf.c: New file.
18095         * lib/c-vasprintf.h: New file.
18096         * tests/test-c-vasprintf.c  +: New file.
18097         * tests/test-c-vasprintf.sh: New file.
18099         New module 'c-xvasprintf'.
18100         * modules/c-xvasprintf: New file.
18101         * modules/c-xvasprintf-tests: New file.
18102         * lib/c-xasprintf.c: New file.
18103         * lib/c-xvasprintf.c: New file.
18104         * lib/c-xvasprintf.h: New file.
18105         * tests/test-c-xvasprintf.c: New file.
18106         * tests/test-c-xvasprintf.sh: New file.
18108 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
18110         argp: better 'inline'
18111         Use extern-inline module to declare extern inline functions.
18112         This avoids some bogus warning diagnostics.  Problem discovered
18113         when modifying GNU tar to use the manywarnings module.
18114         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
18115         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
18116         Define based on extern-inline.
18117         * modules/argp (Depends-on): Add extern-inline.
18119 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
18121         filemode, sys_stat: Handle MPX files a la AIX.
18122         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
18123         * lib/sys_stat.in.h (S_ISMPX): New macro.
18124         * tests/test-sys_stat.c: Add tests for MPX files.
18126 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
18128         x-to-1: honor $PERL
18129         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
18130         a chance to use his preferred version of Perl.  This is typically
18131         required by Darwin users whose default /usr/bin/perl does not have all
18132         the libraries required by help2man, and who need to use their MacPorts
18133         installation of Perl instead.
18135 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
18137         gnu-web-doc-update: add all the new files, even in new directories
18138         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
18139         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
18140         Use it.
18141         (main): Don't use cvsutils to get the list of unknown files,
18142         just add all the existing files and directories.
18144 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
18146         gnu-web-doc-update: improve --help
18147         * build-aux/gnu-web-doc-update: Move comments into --help.
18149 2012-12-07  Eric Wong  <normalperson@yhbt.net>
18151         mountlist: recognize more "dummy" file systems
18152         * lib/mountlist.c (ME_DUMMY_0):
18153         Add these dummy FS names to the list:
18154         - "debugfs" virtual filesystem for kernel debugging
18155         - "devpts" PTY slave filesystem
18156         - "devtmpfs" device filesystem on top of tmpfs/ramfs
18157         - "fusectl" control filesystem for FUSE
18158         - "mqueue" enumerates POSIX message queues
18159         - "rpc_pipefs" kernel <-> userspace bridge for NFS
18160         - "sysfs" is for exporting kernel objects
18161         - "devfs" device filesystem for Linux 2.4 and FreeBSD
18163 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
18165         extern-inline: avoid incompatibility with Darwin Libc
18166         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
18167         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
18168         Problem reported by Akim Demaille in
18169         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
18171 2012-12-11  Simon Josefsson  <simon@josefsson.org>
18173         gnupload: Work with GnuPG using gpg-agent (for smartcards).
18174         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
18175         let it handle password prompting.
18177 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
18179         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
18180         * lib/canonicalize.c (canonicalize_filename_mode):
18181         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
18182         fetching the current directory.  Don't overrun the beginning of
18183         rpath if there's no slashes after the MS-Windows drive letter.
18185 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
18187         maint.mk: avoid extra forks
18188         * top/maint.mk (_cfg_mk): The GNU make manual documents that
18189         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
18190         So use that instead of "$(shell test -f FILE && echo FILE)".
18192 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
18194         vasnprintf: fix ASCII_ONLY typo
18195         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
18196         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
18197         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
18198         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
18199         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
18201 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
18203         list, oset, xlist, xoset: fix extern inline issue with C99
18204         This was introduced by my recent changes for 'inline'.
18205         Problem reported for gettext by Daiki Ueno in
18206         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
18207         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
18208         (gl_list_nx_create, gl_list_size, gl_list_node_value)
18209         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
18210         (gl_list_previous_node, gl_list_get_at)
18211         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
18212         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
18213         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
18214         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
18215         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
18216         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
18217         (gl_list_iterator_free, gl_sortedlist_search)
18218         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
18219         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
18220         (gl_sortedlist_remove):
18221         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
18222         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
18223         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
18224         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
18225         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
18226         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
18227         (gl_list_add_at, gl_sortedlist_add):
18228         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
18229         Wrap these extern decls inside "#if 0", because they are implemented
18230         as inline functions, and extern inline is not what's wanted here.
18231         It would simplify these .h files to remove the extern decls entirely,
18232         although a downside would be less-clear separation between
18233         specification and implementation.
18235 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
18237         sys_stat: no 'static inline'
18238         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
18239         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
18241         extern-inline: no 'static inline'
18242         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
18243         Do not require AC_C_INLINE.
18244         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
18245         'static inline', for older compilers.
18247         snippet/warn-on-use: no 'static inline'
18248         * build-aux/snippet/warn-on-use.h:
18249         Remove unnecessary 'inline' in comment.
18251         rbtree-list, rbtreehash-list: no 'static inline'
18252         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
18253         * lib/gl_anytree_list2.h (node_at):
18254         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
18255         (gl_oset_first, add_nodes_to_buckets):
18256         Now static, not static inline.
18258         regex: no 'static inline'
18259         * lib/regex_internal.c (calc_state_hash):
18260         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
18261         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
18262         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
18263         Now static, not static inline.
18264         (inline) [__GNUC__ < 3 && _LIBC]:
18265         Remove macro; no longer needed.
18267         xvasprintf: no 'static inline'
18268         * lib/xvasprintf.c (xstrcat):
18269         Now static, not static inline.
18270         * m4/xvasprintf.m4 (gl_XVASPRINTF):
18271         Do not require AC_C_INLINE.
18273         parse-datetime, parse-duration: no 'static inline'
18274         * lib/parse-datetime.y (to_uchar):
18275         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
18276         (scale_n_add):
18277         Now static, not static inline.
18278         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
18279         * modules/parse-duration (configure.ac):
18280         Do not require AC_C_INLINE.
18282         getaddrinfo: no 'static inline'
18283         * lib/getaddrinfo.c (validate_family):
18284         Now static, not static inline.
18285         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
18286         Do not require AC_C_INLINE.
18288         ftruncate, fts, lstat, openat, raise: no 'static inline'
18289         * lib/ftruncate.c (chsize_nothrow):
18290         * lib/fts.c (opendirat, diropen):
18291         * lib/lstat.c (orig_lstat):
18292         * lib/openat.c (orig_openat):
18293         * lib/raise.c (raise_nothrow):
18294         Now static, not static inline.
18295         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
18296         * m4/fts.m4 (gl_FUNC_FTS_CORE):
18297         * m4/lstat.m4 (gl_PREREQ_LSTAT):
18298         * m4/openat.m4 (gl_PREREQ_OPENAT):
18299         * m4/raise.m4 (gl_PREREQ_RAISE):
18300         Do not require AC_C_INLINE.
18302         fflush, stat: no 'static inline'
18303         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
18304         (clear_ungetc_buffer, disable_seek_optimization)
18305         (restore_seek_optimization, update_fpos_cache):
18306         * lib/stat.c (orig_stat):
18307         Now static, not static inline.
18308         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
18309         (update_fpos_cache):
18310         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
18311         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
18312         * m4/stat.m4 (gl_PREREQ_STAT):
18313         Do not require AC_C_INLINE.
18315         error, filevercmp: no 'static inline'
18316         * lib/error.c (is_open, flush_stdout):
18317         * lib/filevercmp.c (order):
18318         Now static, not static inline.
18319         * m4/error.m4 (gl_PREREQ_ERROR):
18320         * modules/filevercmp (configure.ac):
18321         Do not require AC_C_INLINE.
18323         dup, execute, fatal-signal, etc.: no 'static inline'
18324         * lib/dup.c (dup_nothrow):
18325         * lib/execute.c (nonintr_close, nonintr_open):
18326         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
18327         * lib/fopen.c (orig_fopen):
18328         * lib/freadseek.c (freadptrinc):
18329         * lib/freopen.c (orig_freopen):
18330         * lib/fstat.c (orig_fstat, fstat_nothrow):
18331         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
18332         (get_rusage_as_via_iterator):
18333         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
18334         * lib/getdtablesize.c (_setmaxstdio_nothrow):
18335         * lib/isatty.c (_isatty_nothrow):
18336         * lib/open.c (orig_open):
18337         * lib/read.c (read_nothrow):
18338         * lib/sigprocmask.c (signal_nothrow):
18339         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
18340         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
18341         * lib/wait-process.c (unregister_slave_subprocess):
18342         * lib/write.c (write_nothrow):
18343         Now static, not static inline.
18344         * lib/spawn-pipe.c (nonintr_open): Define only if
18345         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
18346         * m4/dup.m4 (gl_PREREQ_DUP):
18347         * m4/execute.m4 (gl_EXECUTE):
18348         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
18349         * m4/fopen.m4 (gl_PREREQ_FOPEN):
18350         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
18351         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
18352         * m4/fstat.m4 (gl_PREREQ_FSTAT):
18353         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
18354         * m4/isatty.m4 (gl_PREREQ_ISATTY):
18355         * m4/open.m4 (gl_PREREQ_OPEN):
18356         * m4/read.m4 (gl_PREREQ_READ):
18357         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
18358         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
18359         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
18360         * m4/wait-process.m4 (gl_WAIT_PROCESS):
18361         * m4/write.m4 (gl_PREREQ_WRITE):
18362         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
18363         Do not require AC_C_INLINE.
18365         c-strtod, memcoll, readutmp: no 'static inline'
18366         * lib/c-strtod.c (c_locale):
18367         * lib/memcoll.c (strcoll_loop):
18368         * lib/readutmp.c (desirable_utmp_entry):
18369         Now static, not static inline.
18370         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
18371         * m4/memcoll.m4 (gl_MEMCOLL):
18372         * m4/readutmp.m4 (gl_READUTMP):
18373         Do not require AC_C_INLINE.
18375         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
18376         * lib/arctwo.c (to_uchar):
18377         * lib/md4.c (set_uint32):
18378         * lib/md5.c (set_uint32):
18379         * lib/sha1.c (set_uint32):
18380         * lib/sha256.c (set_uint32):
18381         * lib/sha512.c (set_uint64):
18382         Now static, not static inline.  This is a bit simpler, and doesn't
18383         affect performance with GCC and default optimization.
18384         * m4/arctwo.m4 (gl_ARCTWO):
18385         * m4/md4.m4 (gl_MD4):
18386         * m4/md5.m4 (gl_MD5):
18387         * m4/sha1.m4 (gl_SHA1):
18388         * m4/sha256.m4 (gl_SHA256):
18389         * m4/sha512.m4 (gl_SHA512):
18390         Do not require AC_C_INLINE.
18392         cond, lock, thread: better 'inline'
18393         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
18394         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
18395         New macros.  Use them instead of static inline, for header functions.
18396         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
18397         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
18398         * lib/glthread/lock.c (gl_waitqueue_init)
18399         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
18400         * lib/glthread/thread.c (get_current_thread_handle):
18401         Change 'static inline' to 'inline'.
18402         * lib/glthread/cond.h, lib/glthread/thread.h:
18403         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18404         * m4/cond.m4 (gl_COND):
18405         * m4/lock.m4 (gl_PREREQ_LOCK):
18406         * m4/thread.m4 (gl_THREAD):
18407         Do not require AC_C_INLINE.
18408         * modules/cond, modules/thread (Depends-on): Add extern-inline.
18410         chdir-long, cycle-check, savewd: better 'inline'
18411         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
18412         (find_non_slash):
18413         * lib/cycle-check.c (is_zero_or_power_of_two):
18414         * lib/savewd.c (savewd_delegating):
18415         Change 'static inline' to 'inline'.
18416         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
18417         Replace all remaining uses of 'static inline' with it.
18418         * lib/savewd.h:
18419         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18420         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
18421         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
18422         * m4/savewd.m4 (gl_SAVEWD):
18423         Do not require AC_C_INLINE.
18424         * modules/savewd (Depends-on): Add extern-inline.
18426         base32, base64: no need for 'inline'
18427         * lib/base32.c (to_uchar, get_8, decode_8):
18428         * lib/base64.c (to_uchar, get_4, decode_4):
18429         Change 'static inline' to 'inline'.
18430         * m4/base32.m4 (gl_PREREQ_BASE32):
18431         * m4/base64.m4 (gl_PREREQ_BASE64):
18432         Do not require AC_C_INLINE.
18434         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
18435         * lib/gl_array_oset.c (gl_array_nx_add_at):
18436         (gl_array_remove_at):
18437         * lib/gl_linkedhash_list.c (hash_resize_after_add)
18438         (add_to_bucket, remove_from_bucket):
18439         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
18440         Change 'static inline' to 'static', as it's simpler to omit
18441         'inline' unless there's a significant performance advantage.
18443         list, oset, xlist, xoset, xsublist: simplify via extern inline
18444         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
18445         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
18446         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
18447         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
18448         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
18449         New macro.  Replace all uses of 'static inline' with it.
18450         [HAVE_INLINE]: Implement functions as *_INLINE functions,
18451         instead of as macros FOO that are defined to static inline
18452         functions FOO_inline.
18453         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
18454         * lib/gl_xsublist.c:
18455         Reimplement from scratch, by defining the corresponding *_INLINE
18456         macro and including the corresponding .h file.  This is simpler.
18457         * modules/list, modules/oset, modules/xlist, modules/xoset:
18458         (Files): Remove m4/gl_list.m4.
18459         (configure.ac): Remove gl_LIST.
18460         * m4/gl_list.m4: Remove.
18461         * modules/list, modules/oset, modules/xlist, modules/xoset:
18462         * modules/xsublist:
18463         (Depends-on): Depend on extern-inline, not inline.
18465         xalloc: better 'inline'
18466         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
18467         New macro.  Replace all uses of 'static inline' with it.
18468         (static_inline): Remove.
18469         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
18470         Let 'extern inline' do the work automatically, instead of doing
18471         it by hand.
18472         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
18473         Remove.  All uses removed.
18474         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
18476         gethrxtime: better 'inline'
18477         * lib/xtime.c: New file.
18478         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
18479         * lib/xtime.h (XTIME_INCLUDE):
18480         New macros.  Replace all uses of 'static inline' with them.
18481         * lib/gethrxtime.c (gethrxtime): Define only if
18482         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
18483         this source file is now always compiled, because of the extern inline.
18484         * lib/gethrxtime.h, lib/xtime.h:
18485         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18486         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
18487         if gethrtime works, as they're not needed in that case.
18488         (gl_XTIME): Do not require AC_C_INLINE.
18489         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
18490         compiled now.  Move the check into gl_GETHRXTIME.
18491         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
18492         (Depends-on): Add extern-inline.
18493         (configure.ac): gethrxtime is always compiled now.
18494         (lib_SOURCES): Add gethrxtime.c.
18496         wctype-h: better 'inline'
18497         * lib/wctype-h.c: New file.
18498         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
18499         New macro.  Replace all uses of 'static inline' with it.
18500         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18501         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
18502         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
18503         (Depends-on): Add extern-inline.
18505         unistd: better 'inline'
18506         * lib/unistd.c: New file.
18507         * lib/unistd.in.h (_GL_UNISTD_INLINE):
18508         New macro.  Replace all uses of 'static inline' with it.
18509         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18510         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
18511         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
18512         (Depends-on): Add extern-inline.
18514         sys_socket: better 'inline'
18515         * lib/sys_socket.c: New file.
18516         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
18517         New macro.  Replace all uses of 'static inline' with it.
18518         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18519         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
18520         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
18521         (Depends-on): Add extern-inline.
18523         stdio: better 'inline'
18524         * lib/stdio.c: New file.
18525         * lib/stdio.in.h (_GL_STDIO_INLINE):
18526         New macro.  Replace all uses of 'static inline' with it.
18527         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18528         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
18529         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
18530         (Depends-on): Add extern-inline.
18532         sigaction: better 'inline'
18533         * lib/sig-handler.c: New file.
18534         * lib/sig-handler.h (SIG_HANDLER_INLINE):
18535         New macro.  Replace all uses of 'static inline' with it.
18536         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18537         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
18538         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
18539         (Depends-on): Add extern-inline.
18541         selinux-h: better 'inline'
18542         * lib/se-context.c, lib/se-selinux.c: New files.
18543         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
18544         * lib/se-context.in.h (SE_CONTEXT_INLINE):
18545         New macro.  Replace all uses of 'static inline' with it.
18546         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18547         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
18548         New macro.  Replace all uses of 'static inline' with it.
18549         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18550         * modules/selinux-h (Files, lib_SOURCES):
18551         Add lib/se-context.c, lib/se-selinux.c.
18552         (Depends-on): Add extern-inline.
18553         (configure.ac): Do not require AC_C_INLINE.
18555         pthread: better 'inline'
18556         * lib/pthread.c: New file.
18557         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
18558         New macro.  Replace all uses of 'static inline' with it.
18559         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18560         * m4/pthread.m4 (gl_PTHREAD_CHECK):
18561         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
18562         * modules/pthread (Files): Add lib/pthread.c.
18563         (Depends-on): Add extern-inline.
18565         math: better 'inline'
18566         * lib/math.c: New file.
18567         * lib/math.in.h (_GL_MATH_INLINE):
18568         New macro.  Replace all uses of 'static inline' with it.
18569         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18570         * m4/math_h.m4 (gl_MATH_H):
18571         Do not require AC_C_INLINE.
18572         * modules/math (Files, lib_SOURCES):
18573         Add lib/math.c.
18574         (Depends-on): Add extern-inline.
18576         count-one-bits: better 'inline'
18577         * lib/count-one-bits.c: New file.
18578         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
18579         New macro.  Replace all uses of 'static inline' with it.
18580         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18581         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
18582         Do not require AC_C_INLINE.
18583         * modules/count-one-bits (Files, lib_SOURCES):
18584         Add lib/count-one-bits.c.
18585         (Depends-on): Add extern-inline.
18587         count-leading-zeros: better 'inline'
18588         * lib/count-leading-zeros.c: New file.
18589         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
18590         New macro.  Replace all uses of 'static inline' with it.
18591         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18592         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
18593         Do not require AC_C_INLINE.
18594         * modules/count-leading-zeros (Files, lib_SOURCES):
18595         Add lib/count-leading-zeros.c.
18596         (Depends-on): Add extern-inline.
18598         bitrotate: better 'inline'
18599         * lib/bitrotate.c: New file.
18600         * lib/bitrotate.h (BITROTATE_INLINE):
18601         New macros.
18602         Replace all uses of 'static inline' with them.
18603         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
18604         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
18605         (Depends-on): Add extern-inline.
18606         (configure.ac): Do not require AC_C_INLINE.
18608 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
18610         maint.mk: avoid gratuitous failure
18611         Reported by Stefano Lattarini in
18612         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
18613         * top/maint.mk (public-submodule-commit): Quote more safely.
18615 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
18617         canonicalize, canonicalize-lgpl: support MS-Windows file names
18618         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
18619         for test cases, which it'd be nice to add at some point.
18620         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
18621         * lib/canonicalize.c (canonicalize_filename_mode):
18622         * lib/canonicalize-lgpl.c (__realpath):
18623         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
18624         slash is at the beginning of the file name.  Use ISSLASH, instead
18625         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
18626         the first character with '/'.  Test for
18627         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
18628         with a drive letter.
18629         * lib/canonicalize.c (SLASHES): New macro.
18630         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
18632 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
18634         fts: introduce FTS_VERBATIM
18635         * lib/fts_.h (FTS_VERBATIM): New bit flag.
18636         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
18637         * lib/fts.c (fts_open): Honor it.
18639 2012-11-09  Pádraig Brady  <P@draigBrady.com>
18641         getlogin-tests: allow errno == ENXIO
18642         * tests/test-getlogin.c (main): Skip tests if getlogin fails
18643         with errno == ENXIO (No controlling tty).
18644         getlogin_r-tests: Likewise. Also allow errno == ENOENT
18645         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
18646         with errno == ENOENT.  This was reported to happen in various
18647         situations on GNU/Linux.
18649 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
18651         getlogin-tests: allow errno == ENOENT
18652         * tests/test-getlogin.c (main): Skip tests if getlogin fails
18653         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
18654         when running a test in an Emacs shell buffer.
18656 2012-11-08  Jim Meyering  <jim@meyering.net>
18658         tests/nap.h: avoid warning about unused variable
18659         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
18661         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
18662         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
18663         white space before each of the special-cased file names, to avoid
18664         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
18665         in http://bugs.gnu.org/12830.
18667 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
18669         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
18670         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
18671         fails with errno == EBADF when fd is opened with O_PATH.
18672         Reported by Jim Meyering in
18673         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
18674         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
18675         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
18677 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
18679         test-utimens: speed up by taking shorter naps
18680         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
18681         New functions.
18682         (nap): Use them, to do a better job of guessing the delay.
18683         On Fedora 17 with ext4 atop md atop hard disks, this made
18684         test-utimens run 10x faster, because the test napped for
18685         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
18686         <http://bugs.gnu.org/12820#11>.
18688 2012-11-07  Jim Meyering  <jim@meyering.net>
18690         mountlist.c: fix a compilation failure
18691         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
18692         I introduced while transforming commit v0.0-7683-g613bcb6
18694 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
18696         errno: port to LynxOS 178 2.2.2
18697         Problem reported by Joel Brobecker in
18698         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
18699         * doc/posix-headers/errno.texi (errno.h): Document this.
18700         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
18701         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
18702         Supply a string for EILSEQ.
18703         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
18705 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
18707         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
18708         Linux kernel 2.6.39 introduced O_PATH (see
18709         <http://lwn.net/Articles/433854/>) and this is a better fallback
18710         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
18711         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
18712         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
18713         * lib/fcntl.in.h (O_ACCMODE):
18714         * tests/test-fcntl-h.c (main):
18715         Do not reject O_ACCMODE merely because it has more than the
18716         minimal number of bits, as POSIX allows extensions here.
18718 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
18720         mountlist: do not classify a bind-mounted dir entry as "dummy"
18721         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
18722         the "none"-testing clause.
18723         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
18724         exception for bind-mounted directories.
18726 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
18728         quote: provide a means to escape strings with nul characters
18729         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
18730         (quote, quote_n): Rename formal arguments for consistency with
18731         quotearg.
18733 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18735         test-raise: don't assume 199 is an invalid signal
18736         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
18738         sh-quote-tests: port to Solaris 9
18739         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
18740         Problem reported by Dagobert Michelsen in
18741         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
18743 2012-10-28  Jim Meyering  <jim@meyering.net>
18745         maint.mk: rename a new configurable variable
18746         * top/maint.mk (_gl_translatable_string_re): Rename from
18747         translation-markers: _gl_ prefix to insulate from user Makefile code,
18748         and the _re suffix to inform that it's a regular expression.
18750 2012-10-26  Eric Blake  <eblake@redhat.com>
18752         maint.mk: let packages tweak sc_po_check pattern
18753         * top/maint.mk (sc_po_check): Add translation-markers, to allow
18754         finding files with other translation markers.
18756 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
18758         euidaccess: speed up 'configure' on GNU hosts
18759         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
18760         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
18761         it's needed only in this case.  Use AC_CHECK_DECLS, not
18762         AC_CHECK_DECLS_ONCE.
18763         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
18764         or AC_REQUIRE for AC_FUNC_GETGROUPS.
18766         * lib/regexec.c (re_search_internal): Fix grammar in comment.
18768 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
18770         fchmodat, fchownat, fstatat: port to non-inlining compilers
18771         Problem reported for FreeBSD 9 by Jim Meyering in
18772         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
18773         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
18774         New files, which define FCHMODAT_INLINE etc.
18775         * lib/fchmodat.c (FCHMODAT_INLINE):
18776         * lib/fchownat.c (FCHOWNAT_INLINE):
18777         * lib/fstatat.c (FSTATAT_INLINE):
18778         Remove, as chmodat.c etc. now do this.
18779         * modules/fchmodat (Files): Add lib/chmodat.c.
18780         * modules/fchownat (Files): Add lib/chownat.c.
18781         * modules/fstatat (Files): Add lib/statat.c.
18783 2012-10-15  Jim Meyering  <jim@meyering.net>
18785         fchmodat.c, fchownat.c: compile-impeding typos
18786         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
18787         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
18788         Introduced in commit v0.0-7636-gd202279.
18790 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
18792         fcntl-h: support GNU flags like O_IGNORE_CTTY
18793         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
18794         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
18795         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
18796         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
18797         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
18798         Define to 0 if not already defined.
18799         * tests/test-fcntl-h.c: Test these new flags.
18801 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
18803         faccessat, etc.: support AT_FDCWD-only use
18804         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
18805         this function only if its first argument is AT_FDCWD.
18806         Emacs wants faccessat for AT_EACCESS but not for any first-arg
18807         values other than AT_FDCWD, so it doesn't want all the openat
18808         machinery with fchdir etc.
18809         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
18810         * modules/fstatat, modules/mkdirat, modules/openat (Files):
18811         * modules/unlinkat (Files):
18812         Remove lib/openat-priv.h, as at-internal supplies this file.
18813         Removing this file here allows us to support programs like Emacs
18814         that avoid at-internal.
18816         faccessat: speed up 'configure' on mainstream hosts
18817         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
18818         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
18819         since it's only on unusual platforms that we need to check for
18820         'access', and it's better not to slow 'configure' down on all
18821         platforms.
18823         faccessat: port to Solaris 10
18824         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
18825         Needed on Solaris 10, which doesn't have AT_EACCESS,
18826         so we need the Gnulib fcntl.h, which defines it.
18828 2012-10-14  Pádraig Brady  <P@draigBrady.com>
18829         canonicalize: fix C89 compilation
18830         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
18831         declarations so C89 is supported.  Also remove the comment
18832         referencing memorty allocation as the suggested feature could
18833         not be implemented as suggested.
18834         Reported by Michael Goffioul.
18836 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
18838         group-member: omit unnecessary dependencies
18839         This is for Emacs, which has its own allocator and where we
18840         don't want to use xalloc.
18841         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
18842         since we no longer use xmalloc.  Do not include stdbool.h, since
18843         the changes below happen to remove the only use of bool.
18844         (GROUPBUF_SIZE): New constant.
18845         (struct group_info): Remove n_groups member.  Add groupbuf member.
18846         This lets us get the groups without using malloc, usually.
18847         (free_group_info, get_group_info): Adjust to this.
18848         (get_group_info): Return the number of groups found, or -1 on error.
18849         Use plain malloc not xmalloc, and treat its failure as if there
18850         are no groups, as the user already loses in case of error.
18851         (group_member): Simplify, based on changes to get_group_info.
18852         * modules/group-member (Depends-on): Remove dependencies on
18853         xalloc and stdbool.  Add dependency on xalloc-oversized.
18855 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
18857         gethrxtime: port to C++
18858         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
18860 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
18862         ptsname: fix macro-name typo
18863         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
18865 2012-10-03  Simon Josefsson  <simon@josefsson.org>
18867         inttostr: Relax license.
18868         * modules/inttostr (License): Change from LGPL to LGPLv2+.
18870 2012-10-03  Eric Blake  <eblake@redhat.com>
18872         ptsname_r: support ptys returned by FreeBSD posix_openpt
18873         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
18874         lives in /dev/pts/.
18876 2012-10-02  Eric Blake  <eblake@redhat.com>
18878         pselect: reject invalid file descriptors
18879         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
18880         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
18881         * modules/pselect (Depends-on): Add dup2.
18882         * doc/posix-functions/pselect.texi (pselect): Document this.
18884         select: reject invalid file descriptors
18885         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
18886         * lib/select.c (rpl_select) [!win32]: Work around it.
18887         * modules/select (Depends-on): Add dup2.
18888         * doc/posix-functions/select.texi (select): Document this.
18890         select: enhance test
18891         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
18892         New functions.
18893         (test_function): Enhance test.
18894         (do_select_bad_fd): Avoid any stale errno values.
18896         ptsname: reject invalid file descriptors
18897         http://www.austingroupbugs.net/view.php?id=503
18898         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
18899         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
18900         * modules/stdlib (Makefile.am): Replace witness.
18901         * lib/stdlib.in.h (ptsname): Allow for replacement.
18902         * modules/ptsname (configure.ac): Trigger replacement.
18903         * doc/posix-functions/ptsname.texi (ptsname): Document this.
18905 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
18907         hash-pjw-bare: new module
18908         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
18909         * lib/hash-pjw-bare.h: Likewise.
18910         * modules/hash-pjw-bare: New file.
18911         * MODULES.html.sh (Misc): Add it.
18913 2012-10-02  Eric Blake  <eblake@redhat.com>
18915         manywarnings: cater to more gcc infelicities
18916         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
18917         -Wuninitialized without -O.
18919 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
18921         select, poll tests: Make setsockopt invocation effective.
18922         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
18923         the bind() call.
18924         * tests/test-select.h (open_server_socket): Likewise.
18926 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
18928         sockets, sys_stat: restore AC_C_INLINE
18929         This undoes the 2012-09-22 patch.
18930         * m4/sockets.m4 (gl_SOCKETS):
18931         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
18932         Restore AC_C_INLINE, since MSVC requires __inline or _inline
18933         and does not support plain 'inline'.  Reported by Bruno Haible in
18934         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
18936 2012-09-30  Bruno Haible  <bruno@clisp.org>
18938         localeconv tests: Avoid test failure on OpenIndiana.
18939         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
18940         skip the 'grouping' and 'mon_grouping' tests.
18941         Reported by Jim Meyering.
18943 2012-09-30  Bruno Haible  <bruno@clisp.org>
18945         havelib: Follow libtool developments.
18946         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
18947         Suggested by Simon Josefsson.
18949 2012-09-29  Jim Meyering  <meyering@redhat.com>
18951         fstatat.c: fix a compile-impeding typo
18952         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
18953         Introduced in commit v0.0-7636-gd202279.
18954         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
18956 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
18958         extern-inline: provide a -Wundef safe config.h
18959         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
18960         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
18961         to produce a -Wundef warning free config.h.
18963 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
18965         hash-pjw: relax license to LGPLv2+
18966         * modules/hash-pjw (License): Relax, with consent of author.
18968 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
18970         maint.mk: fix strict vs. lazy variable issues with RELEASE
18971         * top/maint.mk (_equal): New function.
18972         (member_check): Strip the result to avoid spurious spaces.
18973         (url_dir_list): Do not use ifeq, which is strict, as it will
18974         require RELEASE_TYPE to be defined.
18975         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
18976         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
18977         (announcement_Cc_alpha,announcement_mail_headers_alpha)
18978         (announcement_Cc_beta,announcement_mail_headers_beta)
18979         (announcement_Cc_stable,announcement_mail_headers_stable): these.
18980         (release): Do not depend on $(release-type), as it forces its
18981         evaluation.  Bounce to it.
18983 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
18985         maint.mk: formatting changes
18986         * top/maint.mk: Indent bodies of if's.
18988 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
18990         maint.mk: factor the validation of RELEASE_TYPE
18991         With help from Jim Meyering.
18992         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
18993         * top/maint.mk (_empty, _sp): Move their definition earlier.
18994         (member-check, release-type): New.
18995         Use the latter instead of $(RELEASE_TYPE).
18996         Remove now useless local checks.
18998 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
19000         maint.mk: provide "make upload" to ease uploading
19001         See
19002         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
19003         Do not depend simply on the current $(VERSION), as there may have been
19004         new commits since the tarball generation.  Rather, rely on $(RELEASE),
19005         as "make release-commit" already does.
19007         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
19008         "make TYPE".
19010         * top/maint.mk (upload_command, upload, release): New.
19011         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
19012         (VERSION): first word of $(RELEASE) is always right.
19013         (emit_upload_commands): Adjust.
19014         * top/README-release: Update.
19016 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
19018         maint.mk: silent rules
19019         With help from Stefano Lattarini.
19020         * top/maint.mk (writable-files): Use $(AM_V_GEN).
19021         (announcement): Use $(AM_V_at).
19023 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
19025         localename: port gl_locale_name_thread_unsafe to FreeBSD
19026         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
19027         and use the simpler FreeBSD implementation on Mac OS X as well.
19028         Original idea suggested by Ed Maste in
19029         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
19031 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
19033         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
19034         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
19035         * lib/mbuiter.c, lib/xsize.c: New files.
19036         * lib/binary-io.h (BINARY_IO_INLINE):
19037         * lib/eealloc.h (EEALLOC_INLINE):
19038         * lib/mbfile.h (MBFILE_INLINE):
19039         * lib/mbiter.h (MBITER_INLINE):
19040         * lib/mbuiter.h (MBUITER_INLINE):
19041         * lib/xsize.h (XSIZE_INLINE):
19042         New macros.
19043         Replace all uses of 'static inline' with them.
19044         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19045         * m4/eealloc.m4 (gl_EEALLOC):
19046         * m4/mbfile.m4 (gl_MBFILE):
19047         * m4/mbiter.m4 (gl_MBITER):
19048         * m4/xsize.m4 (gl_XSIZE):
19049         Do not require AC_C_INLINE.
19050         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
19051         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
19052         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
19053         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
19054         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
19055         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
19056         * modules/binary-io, modules/eealloc, modules/mbfile:
19057         * modules/mbiter, modules/mbuiter:
19058         (Depends-on): Add extern-inline.
19060         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
19061         * lib/pipe-filter-aux.c: New file.
19062         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
19063         Replace all uses of 'static inline' with it.
19064         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19065         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
19066         (filter_retcode): No real need for inline here.
19067         * modules/pipe-filter-gi, modules/pipe-filter-ii:
19068         (Files): Add lib/pipe-filter-aux.c.
19069         (Depends-on): Add extern-inline.
19070         (configure.ac): Do not require AC_C_INLINE.
19071         (lib_SOURCES): Add pipe-filter-aux.c.
19073         fdutimensat: omit unnecessary AC_C_INLINE
19074         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
19076         fchmodat, fchownat, fstatat: use extern-inline
19077         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
19078         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
19079         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
19080         New macros.
19081         * lib/openat.h:
19082         Replace all uses of 'static inline' with them.
19083         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19084         * modules/fchmodat, modules/fchownat, modules/fstatat:
19085         * modules/openat-h:
19086         (Depends-on):
19087         Add extern-inline.
19088         (configure.ac): Remove AC_C_INLINE.
19090         acl, mbchar, priv-set: use extern-inline
19091         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
19092         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
19093         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
19094         New macros.
19095         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
19096         Replace all uses of 'static inline' with it.
19097         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19098         * m4/acl.m4 (gl_FUNC_ACL):
19099         * m4/mbchar.m4 (gl_MBCHAR):
19100         * m4/priv-set.m4 (gl_PRIV_SET):
19101         Remove AC_C_INLINE, since 'inline' is no longer used directly.
19102         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
19103         Add extern-inline.
19105         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
19106         * m4/sockets.m4 (gl_SOCKETS):
19107         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
19108         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
19109         environments where it's already guaranteed to work, so we needn't
19110         check for it at 'configure'-time.
19112         tls-tests: omit unnecessary 'inline'
19113         * tests/test-tls.c (perhaps_yield): No longer inline.
19114         Simplicity and portability trump efficiency in test cases.
19116         utimens-tests: avoid unnecessary 'inline'
19117         * modules/fdutimensat-tests (configure.ac):
19118         * modules/futimens-tests (configure.ac):
19119         * modules/utimens-tests (configure.ac):
19120         * modules/utimensat-tests (configure.ac):
19121         Remove AC_C_INLINE.
19122         * tests/test-utimens-common.h (ctime_compare):
19123         No longer inline.  Simplicity and portability trump efficiency here.
19125         misc: don't limit commentary to inline functions
19126         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
19127         * lib/xalloc-oversized.h, lib/xsize.h:
19128         Contrast macros to functions in general, not just to inline functions,
19129         when the commentary does not apply only to inline functions.
19131 2012-09-20  Jim Meyering  <meyering@redhat.com>
19133         non-recursive-gnulib-prefix-hack: new module
19134         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
19135         the file that originated in Bison.
19136         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
19137         largely copied from a snippet that resided in bison's configure.ac.
19138         * modules/non-recursive-gnulib-prefix-hack: New file.
19139         * MODULES.html.sh (Support for maintaining and releasing projects):
19140         Add it.
19142 2012-09-18  Jim Meyering  <meyering@redhat.com>
19144         maint.mk: generalize _gl_tight_scope for non-recursive make
19145         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
19146         that *.h would describe additional .h files in the directory
19147         specified by $(_gl_TS_dir).  I.e., add this...
19148         (_gl_TS_other_headers): New variable.
19150         maint.mk: exempt trailing blanks found in "binary" files
19151         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
19152         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
19153         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
19155 2012-09-17  Jim Meyering  <meyering@redhat.com>
19157         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
19158         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
19159         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
19160         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
19162 2012-09-17  Jim Meyering  <meyering@redhat.com>
19164         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
19165         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
19166         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
19167         It is not in the same category as "exit (0)" or "exit (1)", and
19168         besides, I know of no symbolic name for that 77.  Reported by
19169         Richard W.M. Jones in
19170         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
19172 2012-09-17  Jim Meyering  <meyering@redhat.com>
19174         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
19175         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
19176         all uses of #define, not just those that start in column 1.
19177         Richard W.M. Jones reported a false positive in
19178         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
19180 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
19182         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
19183         * lib/localcharset.c (locale_charset) [DARWIN7]:
19184         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
19185         as these two values are incompatible.  Problem reported by Max Horn.
19186         For more discussion, please see
19187         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
19189         doc: document sticky-EOF issue
19190         * doc/posix-functions/fgetc.texi (fgetc):
19191         * doc/posix-functions/fgets.texi (fgets):
19192         * doc/posix-functions/fread.texi (fread):
19193         * doc/posix-functions/fscanf.texi (fscanf):
19194         * doc/posix-functions/getc.texi (getc):
19195         * doc/posix-functions/getchar.texi (getchar):
19196         * doc/posix-functions/scanf.texi (scanf):
19197         Mention that glibc and default Solaris do not conform to
19198         C99 and POSIX-2001 or later, with respect to how getchar
19199         etc. behave when feof reports nonzero.
19201 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
19203         poll: fix poll(0, NULL, msec)
19204         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
19205         but nfd is 0.  In that case poll should behave like select.
19207 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
19208             Paolo Bonzini  <bonzini@gnu.org>
19210         poll: fix for systems that can't recv() on a non-socket
19211         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
19212         is readable.  In this case POLLHUP will not be supported.
19213         * doc/posix-functions/poll.texi: Document this.
19215 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
19217         poll/select: document portability problems not fixed by Gnulib.
19218         * doc/posix-functions/poll.texi: poll does not work well on
19219         pipes under Windows.  It has the same limitations as select on
19220         BeOS.
19221         * doc/posix-functions/select.texi: select does not work well
19222         on pipes under Windows.
19224 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
19226         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
19227         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
19228         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
19229         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
19231 2012-09-06  Eric Blake  <eblake@redhat.com>
19233         net_if: give more details about the bug being fixed
19234         * doc/posix-headers/net_if.texi: Add clarification.
19236 2012-09-05  Eric Blake  <eblake@redhat.com>
19238         net_if: new module
19239         * modules/net_if: New module, borrowing ideas from netinet_in.
19240         * m4/net_if_h.m4: New file.
19241         * lib/net_if.in.h: Likewise.
19242         * doc/posix-headers/net_if.texi (net/if.h): Document it.
19243         * MODULES.html.sh (lacking POSIX:2008): Likewise.
19244         * tests/test-net_if.c: Make function checks conditional.
19245         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
19247 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
19249         readutmp: fix non-portable UT_PID use
19250         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
19251         Use `UT_PID (u) > 0' as absolute condition.
19253 2012-09-04  Jim Meyering  <meyering@redhat.com>
19255         fts: reduce two or more trailing spaces to just one, usually
19256         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
19257         or more slashes, trim all but the final one.  But if a name consists
19258         solely of two slashes, don't modify it.  If it consists solely of
19259         three or more slashes, strip all but one.
19261         This is part of the solution to a minor problem with rm:
19262         it would print a bogus ELOOP diagnostic when failing to remove
19263         the slash-decorated name of a symlink-to-directory:
19265             $ mkdir d && ln -s d s && env rm -r s/
19266             rm: cannot remove 's': Too many levels of symbolic links
19268         With the change below and a trivial don't-trim-trailing-slashes
19269         adjustment to remove.c, it does this:
19271             $ env rm -r s/
19272             rm: cannot remove 's/': Not a directory
19274         Improved by: Eric Blake
19276         fts: when there is no risk of overlap, use memcpy, not memmove
19277         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
19279 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
19281         stdbool: be more compatible with mixed C/C++ compiles
19282         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
19283         Define to bool, true, false, respectively, as GCC's builtin
19284         stdbool.h does.  Problem reported by Michael Goffioul in
19285         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
19287 2012-08-28  Jim Meyering  <meyering@redhat.com>
19289         revert last change: it was not needed
19290         * tests/test-vc-list-files-git.sh: There's already a test for
19291         a working git, just below.
19293 2012-08-28  Jim Meyering  <meyering@redhat.com>
19295         tests: test-vc-list-files-git.sh: skip if git is not available
19296         * tests/test-vc-list-files-git.sh: Skip this test when git is
19297         not available.
19299 2012-08-26  Bruno Haible  <bruno@clisp.org>
19301         gnulib-tool: Remove no-op option --no-changelog.
19302         * gnulib-tool (func_usage): Don't mention --no-changelog.
19303         (do_changelog): Remove variable.
19304         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
19306 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
19308         doc: remove fdl-1.2.texi
19309         It is no longer used or maintained, and its use of @acronym
19310         is problematic.  See the thread containing
19311         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
19312         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
19313         * doc/old-licenses/fdl-1.2.texi: Remove.
19315         execinfo: port to FreeBSD
19316         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
19317         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
19318         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
19319         * modules/execinfo (Link): Add $(LIB_EXECINFO).
19321 2012-08-23  Jim Meyering  <meyering@redhat.com>
19323         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
19324         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
19325         to placate gcc's -Wold-style-declaration.
19327 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
19329         doc: do not use @acronym
19330         * doc/inet_ntoa.texi (inet_ntoa):
19331         * doc/parse-datetime.texi (Seconds since the Epoch)
19332         (Specifying time zone rules):
19333         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
19334         Don't use @acronym.  Problem reported by John Darlington in
19335         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
19337 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
19339         stdnoreturn: port to newer GCCs
19340         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
19341         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
19342         Problem reported by Jim Meyering in
19343         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
19344         Also, rename the 'test' function to a void a clash with the
19345         already-supplied 'main' function; this fixes a bug that incorrectly
19346         rejected GCC 4.7.1's <stdnoreturn.h>.
19347         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
19348         Document GCC problem.
19350 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
19352         pipe-filter: fix comment typo
19353         * lib/pipe-filter.h: Mention correct function.
19355 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
19357         execinfo: new module
19358         This is for Emacs.  Currently, it provides a no-effect stub
19359         on all platforms where it does not already work.
19360         It already works on glibc-based systems, and on Solaris 11.
19361         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
19362         New files.
19363         * doc/glibc-headers/execinfo.texi (execinfo.h):
19364         * MODULES.html.sh (Misc): Document it.
19366 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
19368         extern-inline: support old GCC 'inline'
19369         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
19370         if available.  This applies to GCC versions 2.7 through 4.2, or
19371         when newer GCC is using -fgnu89-inline.  The goal is to address
19372         some of the performance issues mentioned by Bruno Haible in
19373         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
19375 2012-08-20  Eric Blake  <eblake@redhat.com>
19377         maint.mk: avoid redundant file name in message
19378         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
19379         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
19380         (sc_makefile_path_separator_check): Remove bogus $(ME).
19382 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
19384         timer-time: fix link order when static linking on glibc
19385         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
19386         _after_ -lrt so that it's significant.
19388 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19390         timespec: omit unnecessary AC_C_INLINE
19391         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
19393         stat-time: omit unnecessary AC_C_INLINE
19394         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
19395         Do not require AC_C_INLINE.
19397         ignore-value: omit unnecessary AC_C_INLINE
19398         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
19400         sys_select: avoid 'static inline'
19401         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
19403         mktime: avoid 'static inline'
19404         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
19405         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
19407 2012-08-19  Bruno Haible  <bruno@clisp.org>
19409         gnulib-tool: Improve coding style.
19410         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
19411         func_emit_lib_Makefile_am.
19412         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
19414 2012-08-19  Bruno Haible  <bruno@clisp.org>
19416         gnulib-tool: Fix indentation.
19417         * gnulib-tool (func_import): Fix indentation.
19419 2012-08-19  Bruno Haible  <bruno@clisp.org>
19421         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
19422         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
19423         on the list of removed files.
19425 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
19427         test-parse-datetime: avoid glibc leap-second glitch
19428         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
19429         with the 2012 rules.  Problem reported by Bruce Dubbs in
19430         <http://bugs.gnu.org/12206>.
19432 2012-08-14  Bruno Haible  <bruno@clisp.org>
19434         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
19435         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
19436         from argument.
19437         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
19439 2012-08-14  Eric Blake  <eblake@redhat.com>
19441         ldexp: relax license
19442         * modules/ldexp (License): Trivial relax, since the module only
19443         provides a permissively licensed m4 file.
19445 2012-08-13  Bruno Haible  <bruno@clisp.org>
19447         gnulib-tool: Fix persistence of --witness-c-macro option.
19448         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
19449         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
19451 2012-08-11  Eric Blake  <eblake@redhat.com>
19453         count-leading-zeros: use a lookup table on non-gcc compilers
19454         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
19455         alternate implementation, suggested by Jim Meyering.
19457 2012-08-10  Eric Blake  <eblake@redhat.com>
19459         count-leading-zeros: new module
19460         * modules/count-leading-zeros: New module.
19461         * m4/count-leading-zeros.m4: New file.
19462         * lib/count-leading-zeros.h: Likewise.
19463         * modules/count-leading-zeros-tests: New test.
19464         * tests/test-count-leading-zeros.c: New file.
19465         * MODULES.html.sh (Integer arithmetic functions): Document it.
19467 2012-08-07  Simon Josefsson  <simon@josefsson.org>
19468             Jim Meyering  <meyering@redhat.com>
19470         maintainer-makefile: Fix syntax error with dash.
19471         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
19472         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
19474 2012-08-05  Jim Meyering  <meyering@redhat.com>
19476         extern-inline: also ignore -Wmissing-declarations
19477         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
19478         required with gcc-4.8.0-to-be.
19480         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
19481         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
19482         for /error ?([^,]*)/.  This avoids false-positives for strings like
19483         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
19485 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
19487         gnumakefile: better interaction with Automake-NG
19488         * modules/gnumakefile [Makefile.am]: The makefiles generated by
19489         Automake-NG always contain a definition of VPATH, even in non-VPATH
19490         builds (its value being simply '.' in that case).  So, in the
19491         'clean-GNUmakefile' rule, to determine whether running under a
19492         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
19493         '$(VPATH)' expands to the empty string.
19495 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
19497         base64: Use extern C scope in header file, for C++.
19498         * lib/base64.h: Add C++ namespace protection.
19500 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
19502         stat-time, timespec, u64: support naive out-of-dir builds
19503         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
19504         Use '#include "foo.h"', not '#include <foo.h>', when including
19505         one's own interface.  This works better when configuring with
19506         out-of-directory builds, since packages need not add an
19507         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
19509 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
19511         utimens: use extern-inline
19512         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
19513         * lib/utimens.h: Add copyright notice, since this is now large enough
19514         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19515         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
19516         * modules/utimens (Depends-on): Add extern-inline.
19518         u64: use extern-inline
19519         * lib/u64.c: New file.
19520         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19521         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
19522         * modules/u64 (Files): Add lib/u64.c.
19523         (Depends-on): Add extern-inline.
19524         (configure.ac): No need to require AC_C_INLINE, since extern-inline
19525         does that now.
19526         (lib_SOURCES): Add u64.c.
19528         timespec: use extern-inline
19529         * lib/timespec.c: New file.
19530         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19531         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
19532         * modules/timespec (Files): Add lib/timespec.c.
19533         (Depends-on): Add extern-inline.
19534         (lib_SOURCES): Add timespec.c.
19536         stat-time: use extern-inline
19537         * lib/stat-time.c: New file.
19538         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19539         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
19540         * modules/stat-time (Files): Add lib/stat-time.c.
19541         (Depends-on): Add extern-inline.
19542         (lib_SOURCES): Add stat-time.c.
19544         extern-inline: new module
19545         * modules/extern-inline, m4/extern-inline.m4: New files.
19546         This is for better support of 'extern inline' a la ISO C99,
19547         with a portable alternative on compilers that do not support
19548         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
19549         of the Emacs executable, when compiled with debugging disabled,
19550         which is a typical way that Emacs is built while developing.
19552 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
19554         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
19555         * build-aux/do-release-commit-and-tag: Move variable definitions
19556         together.
19557         ($branch): Instead of defaulting to "master", default to the current
19558         branch (as gnu-web-doc-update does).
19559         (help): Display the current values of the option arguments.
19560         * top/maint.mk (release-commit): New.
19561         * top/README-release: Simplify the corresponding step.
19563 2012-07-30  Eric Blake  <eblake@redhat.com>
19565         passfd: fix comment on recvfd
19566         * lib/passfd.c (recvfd): Fix comment.
19567         Reported by Jann Horn <jannhorn@googlemail.com>.
19569 2012-07-30  Jim Meyering  <meyering@redhat.com>
19571         maint.mk: avoid a sub-shell
19572         * top/maint.mk (release-prep): Remove unneeded sub-shell.
19574 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
19576         maint.mk: use silent-rules support from Automake
19577         * top/maint.mk (news-check, vc-diff-check, announcement)
19578         (no-submodule-changes, alpha beta stable, release-prep)
19579         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
19581 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
19583         maint.mk: provide a web-manual-update target
19584         * top/maint.mk: here.
19585         * top/README-release: Use it to simplify the web manual update step.
19587 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
19589         README-release: shorten the circuit to post a news
19590         * top/README-release: Point directly to the news submission form.
19592 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
19594         gnu-web-doc-update: fix --help
19595         * build-aux/gnu-web-doc-update: The information "top level" was written
19596         twice.
19598 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
19600         maint.mk: absolute VPATH issue
19601         * top/maint.mk (release-prep): Help Git find .git/.
19602         From Jim Meyering.
19604 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
19606         gitlog-to-changelog: fix previous change
19607         * build-aux/gitlog-to-changelog: Fix condition.
19608         Add missing ";".
19610 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
19612         gitlog-to-changelog: don't expect .git to be in $srcdir
19613         Reported by Bruno Haible.
19614         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
19615         * build-aux/gitlog-to-changelog (&git_dir_option): New.
19616         Use it.
19618 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
19620         maint.mk: absolute VPATH build fix
19621         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
19622         $(srcdir) is not a parent of $(builddir).
19624 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
19626         clean-temp: Fix memory leak.
19627         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
19628         'files' members of tmpdir.
19630 2012-07-27  Jim Meyering  <meyering@redhat.com>
19632         maint.mk: new rule: refresh-gnulib-patches
19633         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
19634         Use this rule to refresh them.
19635         * top/maint.mk (refresh-gnulib-patches): New rule.
19637 2012-07-24  Bruno Haible  <bruno@clisp.org>
19639         gnulib-tool: Fix handling of inctests variable.
19640         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
19641         Reported by Nick Bowler <nbowler@elliptictech.com>.
19643 2012-07-22  Bruno Haible  <bruno@clisp.org>
19645         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
19646         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
19647         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
19648         Remove exemption for getpass.h.
19649         Suggested by Eric Blake.
19651 2012-07-20  Eric Blake  <eblake@redhat.com>
19653         verify: document conflict with -Wnested-externs
19654         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
19656         maint.mk: forbid exit(-1)
19657         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
19659 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
19661         fsusage: port back to Solaris
19662         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
19663         error (fsd not declared) on Solaris 10.  Reported privately by
19664         Andrew Borodin.
19666 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
19668         gnu-web-doc-update: fix error messages
19669         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
19671         gnu-web-doc-update: check the requirements.
19672         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
19673         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
19674         * build-aux/bootstrap (find_tool): Comment change.
19676 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
19678         maint.mk: minor simplication.
19679         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
19680         for default values.
19682 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
19684         gitlog-to-changelog: VPATH build issues
19685         If builddir is not a subdirectory of srcdir, running git from it will
19686         fail.
19687         * build-aux/gitlog-to-changelog (--srcdir): New option.
19689 2012-07-15  Bruno Haible  <bruno@clisp.org>
19691         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
19692         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
19693         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
19694         Remove exemption for fpending.h.
19695         Suggested by Eric Blake.
19697 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
19699         pthread_sigmask: fix bug on FreeBSD 9
19700         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
19701         Include string.h.
19702         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
19703         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
19704         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
19705         but pthread_sigmask (1729, NULL, NULL) returns zero.
19706         See <http://bugs.gnu.org/11884>.
19707         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
19708         by inspecting whether the main call changed the old mask.
19710 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
19712         README-release: make it more legible
19713         * top/README-release: Improve typography slightly.
19715 2012-07-15  Jim Meyering  <meyering@redhat.com>
19717         maint: require that each sc_... command start with "@"
19718         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
19719         "make sc_maint" helps us avoid this nit.
19721 2012-07-15  Jim Meyering  <meyering@redhat.com>
19723         maint.mk: add leading "@" to quiet new "make syntax-check" rule
19724         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
19726 2012-07-13  Eric Blake  <eblake@redhat.com>
19728         maint.mk: new syntax check for HAVE_DECL checks
19729         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
19730         * cfg.mk
19731         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
19732         Exempt some false positives.
19733         Based on a report by Karel Zak.
19735         argp: make HAVE_DECL usage consistent
19736         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
19737         macros, not whether they are defined.
19738         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
19739         convention with other declaration checks.
19740         Reported by Karel Zak, with suggestions from Paul Eggert.
19742         stat-time: relax license to LGPLv2+
19743         * modules/stat-time (License): Relax, with consent of all authors.
19745         strndup: fix m4 usage error
19746         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
19747         defined, to either 0 or 1.
19748         Reported by Karel Zak.
19750 2012-07-11  Jim Meyering  <meyering@redhat.com>
19752         maint: enable the sc_avoid_if_before_free syntax-check rule
19753         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
19754         (if_before_free_offenders_): Define.
19755         (if_before_free_basename_re_): Define.
19756         Exempt current files with useless if-before-free.
19758 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
19760         gettext: do not assume '#define ... defined ...' behavior
19761         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
19762         Do not use '#define FOO ... defined BAR ...', as the C standard says
19763         it's not portable to expect that this works after macro expansion.
19764         Problem reported for gzip by Steven M. Schweda in
19765         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
19767 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
19769         getloadavg: clean out old Emacs and Autoconf cruft
19770         See Glenn Morris in <http://bugs.gnu.org/11905>.
19771         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
19772         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
19773         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
19774         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
19776 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
19778         bootstrap: let warn be like tests/init.sh's warn_
19779         Reported by Jim Meyering.
19780         * build-aux/bootstrap (warn): Remove, replaced by...
19781         (warnf_, warn_): these.
19782         Adjust callers.
19783         Shorten messages that no longer fit in 80 columns.
19785 2012-07-09  Bruno Haible  <bruno@clisp.org>
19787         getopt: Simplify after Emacs changed.
19788         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
19789         (gl_GETOPT_IFELSE): Remove macro.
19791 2012-07-09  Jim Meyering  <meyering@redhat.com>
19793         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
19794         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
19796         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
19797         Bugs in both of those conspired to make the
19798         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
19799         _sc_search_regexp's handling of non-empty $in_files would filter
19800         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
19801         choice of in_files value meant there would be no match in most
19802         projects, due to the presence of two or more Makefile.in files.
19803         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
19804         Fix a bug in how a non-empty $$in_files was processed:
19805         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
19806         in spite of the name, it's a regexp, not a list of file names.
19808 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
19810         getloadavg, getopt: fix commentary re configure.in
19811         Autoconf is deprecating the name 'configure.in', so change it to
19812         to the new name 'configure.ac' in a couple of places.
19813         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
19814         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
19815         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
19816         Emacs has renamed it to configure.ac, and it no longer refers
19817         to these macros anyway.
19819         timespec: mark functions with const attributes
19820         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
19821         Mark with _GL_ATTRIBUTE_CONST.
19823 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
19825         canonicalize[-lgpl]: handle "guessing" values when cross-building
19826         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
19827         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
19828         matches "*yes" instead of just "yes".  Regression introduced in commit
19829         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
19831 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
19832             Bruno Haible  <bruno@clisp.org>
19834         canonicalize: make the right guess when cross-compiling to GNU
19835         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
19836         determine whether cross-compiling to glibc systems, so as to
19837         include GNU/Hurd.
19839 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19841         timespec-sub: avoid duplicate include
19842         * lib/timespec-sub.c: Do not include <config.h> twice.
19843         Reported by Juanma Barranquero.
19845 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
19847         bootstrap: use a more consistent error reporting scheme
19848         * build-aux/bootstrap (warn, die): New.
19849         Use them.
19851 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19853         sys_time: allow too-wide tv_sec
19854         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
19855         timeval even if tv_sec is wider than time_t.  This allows
19856         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
19857         as without this patch gnulib replaces struct timeval
19858         and OpenBSD futimes therefore has a type mismatch.
19859         * doc/posix-headers/sys_time.texi: Mention this.
19861         pthread: check for both pthread_create and pthread_join
19862         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
19863         alter the check so that it tests for both pthread_create and
19864         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
19865         Suggested by Bruno Haible and Richard Yao in
19866         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
19868         parse-datetime: doc tuneup
19869         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
19870         spacing issues.
19872 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
19874         do-release-commit-and-tag: fix the previous commit
19875         * build-aux/do-release-commit-and-tag: Actually the test was right,
19876         but the comment and the error message were misleading.
19877         Fix comment, and improve error message.
19878         Perform check first, so that NEWS is not modified uselessly.
19880         do-release-commit-and-tag: fix typo
19881         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
19882         _not_ start with a stub.
19884 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
19886         pthread: check for pthread_create, not pthread_join
19887         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
19888         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
19889         pthread_join in libc.  I hope this removes the need for all the
19890         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
19891         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
19893 2012-07-04  Jim Meyering  <meyering@redhat.com>
19895         parse-datetime: fix failure to diagnose invalid input
19896         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
19897         rather than diagnosing the invalid input.  Now it reports this:
19898         date: invalid date '\260'
19899         * lib/parse-datetime.y (to_uchar): Define.
19900         (yylex): Don't sign-extend "other" bytes.
19901         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
19902         Thanks to Bruno Haible for the patch to this file.
19903         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
19904         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
19906 2012-07-03  Jim Meyering  <meyering@redhat.com>
19908         bootstrap: do not require now-removed build-aux/missing
19909         Now that build-aux/missing is, er, missing, bootstrap would
19910         silently fail.
19911         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
19912         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
19913         no longer part of gnulib.
19914         Diagnose the failure.
19916 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
19918         alloca: add support for HP NonStop TNS/E native
19919         * lib/alloca.in.h (alloca): Support the new host.
19920         From a suggestion by Joachim Schmitz in
19921         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
19923 2012-07-02  Pádraig Brady  <P@draigBrady.com>
19925         fsusage: remove code not needed on non GNU/Linux systems.
19927         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
19928         Don't include headers no longer needed in this case.
19929         * lib/fsusage.c [STAT_STATVFS &&
19930         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
19931         STAT_STATFS2_FRSIZE to exclude code not used in this case.
19933 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
19935         fsusage: include files needed for glibc 2.6 fallback
19936         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
19937         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
19938         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
19939         Problem reported by Ludovic Courtès in
19940         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
19942         fsusage: avoid needless check on GNU/Linux
19943         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
19944         on GNU/Linux systems, since it can't possibly work.
19946 2012-07-01  Bruno Haible  <bruno@clisp.org>
19948         log: Fix an autoconf >= 2.64 warning.
19949         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
19950         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
19952 2012-06-28  Bruno Haible  <bruno@clisp.org>
19954         log10f: Fix possible configuration problem.
19955         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
19956         $LOGF_LIBM.
19957         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
19959 2012-06-28  Bruno Haible  <bruno@clisp.org>
19961         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
19962         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
19963         not gl_cv_func_unlink_works.
19964         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
19966 2012-06-27  Eric Blake  <eblake@redhat.com>
19968         config: drop scripts that automake says are not independent
19969         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
19970         * build-aux/elisp-comp: Delete.
19971         * build-aux/missing: Likewise.
19972         * build-aux/ylwrap: Likewise.
19973         * modules/elisp-comp: Likewise.
19974         * MODULES.html.sh: Drop mention of elisp-comp.
19975         * NEWS: Mention this.
19977 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
19979         root-uid: new module
19980         This is for portability to Tandem's NonStop Kernel.
19981         * lib/root-uid.h, modules/root-uid: New files.
19982         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
19983         * lib/write-any-file.c, tests/test-sethostname2.c:
19984         Include "root-uid.h".
19985         * lib/euidaccess.c (euidaccess):
19986         * lib/pt_chown.c (main):
19987         * lib/unlinkdir.c (cannot_unlink_dir):
19988         * lib/write-any-file.c (can_write_any_file):
19989         * m4/mknod.m4 (gl_FUNC_MKNOD):
19990         * tests/test-sethostname2.c (geteuid, main):
19991         Don't assume ROOT_UID == 0.
19992         * modules/euidaccess (Depends-on):
19993         * modules/pt_chown (Depends-on):
19994         * modules/sethostname-tests (Depends-on):
19995         * modules/unlinkdir (Depends-on):
19996         * modules/write-any-file (Depends-on):
19997         Add root-uid.
19999         regex: use locale-independent comparison for codeset name
20000         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
20001         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
20002         for codeset name.
20003         * lib/regex_internal.h: Do not include <strings.h>, since we
20004         no longer use strcasecmp.
20005         * modules/regex (Depends-on): Remove strcase.
20007 2012-06-23  Bruno Haible  <bruno@clisp.org>
20009         getopt-posix: No longer guarantee that option processing is resettable.
20010         * doc/posix-functions/getopt.texi: Drop description of problem with
20011         internal state. Fix info about mingw and msvc9.
20012         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
20013         option processing by getopt(). Run three test programs instead of one.
20014         Simplify cross-compilation guess.
20015         * NEWS: Mention the change.
20016         Reported by Rich Felker <dalias@aerifal.cx>.
20018 2012-06-26  Bruno Haible  <bruno@clisp.org>
20020         argp, regex: Ensure strcasecmp gets declared.
20021         * lib/argp-help.c: Include <strings.h>.
20022         * lib/regex_internal.h: Likewise.
20023         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
20025 2012-06-24  Bruno Haible  <bruno@clisp.org>
20027         ptsname_r: Make it consistent with ptsname on AIX.
20028         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
20029         implementation as for OSF/1.
20030         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
20031         a pty master.
20033         ptsname_r: Make it consistent with ptsname on OSF/1.
20034         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
20035         OSF/1.
20037 2012-06-24  Bruno Haible  <bruno@clisp.org>
20039         ttyname_r: Fix result on OSF/1, Solaris.
20040         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
20042 2012-06-24  Bruno Haible  <bruno@clisp.org>
20044         ptsname_r: Add support for Solaris.
20045         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
20046         Solaris.
20048         ptsname_r: Fix test failure on native Windows.
20049         * modules/ptsname_r (Depends-on): Add isatty.
20051         ptsname_r: Fix test failures on IRIX, Solaris.
20052         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
20053         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
20054         accordingly.
20055         * lib/ptsname_r.c: Include <fcntl.h>.
20056         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
20057         set errno if fd is invalid.
20058         * tests/test-isatty.c (main): Update comments.
20060 2012-06-24  Bruno Haible  <bruno@clisp.org>
20062         ptsname test: Extend test.
20063         * tests/test-ptsname.c: Include <errno.h>.
20064         (main): Test behaviour with invalid file descriptor.
20066 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
20068         time: fix obsolete comment
20069         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
20070         reference to HAVE_STRUCT_TIMESPEC in comment.
20072 2012-06-23  Bruno Haible  <bruno@clisp.org>
20074         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
20075         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
20076         does not handle abbreviated long options with equivalent
20077         disambiguations, set gl_replace_getopt to yes.
20078         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
20080 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
20082         time_r: fix typo that always overrode localtime_r decl
20083         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
20084         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
20085         not in a standard include.
20087 2012-06-22  Bruno Haible  <bruno@clisp.org>
20089         Write "Mac OS X" instead of "MacOS X".
20090         * README: Write "Mac OS X" instead of "MacOS X".
20091         * build-aux/bootstrap: Likewise.
20092         * build-aux/install-reloc: Likewise.
20093         * lib/acl-internal.h: Likewise.
20094         * lib/acl_entries.c: Likewise.
20095         * lib/argp-ba.c: Likewise.
20096         * lib/argp-pv.c: Likewise.
20097         * lib/config.charset: Likewise.
20098         * lib/copy-acl.c: Likewise.
20099         * lib/csharpexec.c: Likewise.
20100         * lib/euidaccess.c: Likewise.
20101         * lib/fbufmode.c: Likewise.
20102         * lib/fflush.c: Likewise.
20103         * lib/file-has-acl.c: Likewise.
20104         * lib/filemode.h: Likewise.
20105         * lib/fpurge.c: Likewise.
20106         * lib/freadable.c: Likewise.
20107         * lib/freadahead.c: Likewise.
20108         * lib/freading.c: Likewise.
20109         * lib/freadptr.c: Likewise.
20110         * lib/freadseek.c: Likewise.
20111         * lib/fseeko.c: Likewise.
20112         * lib/fseterr.c: Likewise.
20113         * lib/fsusage.c: Likewise.
20114         * lib/fwritable.c: Likewise.
20115         * lib/fwriting.c: Likewise.
20116         * lib/get-rusage-as.c: Likewise.
20117         * lib/get-rusage-data.c: Likewise.
20118         * lib/getdomainname.c: Likewise.
20119         * lib/idpriv-drop.c: Likewise.
20120         * lib/idpriv-droptemp.c: Likewise.
20121         * lib/localcharset.c: Likewise.
20122         * lib/locale.in.h: Likewise.
20123         * lib/localename.c: Likewise.
20124         * lib/mbsrtowcs-state.c: Likewise.
20125         * lib/nproc.c: Likewise.
20126         * lib/passfd.c: Likewise.
20127         * lib/posix_openpt.c: Likewise.
20128         * lib/printf-parse.c: Likewise.
20129         * lib/progreloc.c: Likewise.
20130         * lib/safe-read.h: Likewise.
20131         * lib/safe-write.h: Likewise.
20132         * lib/sched.in.h: Likewise.
20133         * lib/set-mode-acl.c: Likewise.
20134         * lib/signal.in.h: Likewise.
20135         * lib/stdint.in.h: Likewise.
20136         * lib/stdio-impl.h: Likewise.
20137         * lib/stdlib.in.h: Likewise.
20138         * lib/strtod.c: Likewise.
20139         * lib/sys_select.in.h: Likewise.
20140         * lib/tcgetsid.c: Likewise.
20141         * lib/unistd.in.h: Likewise.
20142         * lib/unlockpt.c: Likewise.
20143         * lib/vasnprintf.c: Likewise.
20144         * lib/vma-iter.c: Likewise.
20145         * lib/wcsrtombs-state.c: Likewise.
20146         * m4/acl.m4: Likewise.
20147         * m4/acosl.m4: Likewise.
20148         * m4/asinl.m4: Likewise.
20149         * m4/atanl.m4: Likewise.
20150         * m4/c-stack.m4: Likewise.
20151         * m4/cosl.m4: Likewise.
20152         * m4/expl.m4: Likewise.
20153         * m4/extensions.m4: Likewise.
20154         * m4/fdatasync.m4: Likewise.
20155         * m4/fmal.m4: Likewise.
20156         * m4/frexp.m4: Likewise.
20157         * m4/frexpf.m4: Likewise.
20158         * m4/frexpl.m4: Likewise.
20159         * m4/fsusage.m4: Likewise.
20160         * m4/getdomainname.m4: Likewise.
20161         * m4/getloadavg.m4: Likewise.
20162         * m4/getopt.m4: Likewise.
20163         * m4/gettext.m4: Likewise.
20164         * m4/gnulib-common.m4: Likewise.
20165         * m4/intdiv0.m4: Likewise.
20166         * m4/intlmacosx.m4: Likewise.
20167         * m4/largefile.m4: Likewise.
20168         * m4/ldexpl.m4: Likewise.
20169         * m4/link-follow.m4: Likewise.
20170         * m4/locale-ar.m4: Likewise.
20171         * m4/locale-fr.m4: Likewise.
20172         * m4/locale-ja.m4: Likewise.
20173         * m4/locale-tr.m4: Likewise.
20174         * m4/locale-zh.m4: Likewise.
20175         * m4/locale_h.m4: Likewise.
20176         * m4/lock.m4: Likewise.
20177         * m4/logl.m4: Likewise.
20178         * m4/mathfunc.m4: Likewise.
20179         * m4/minus-zero.m4: Likewise.
20180         * m4/mktime.m4: Likewise.
20181         * m4/mmap-anon.m4: Likewise.
20182         * m4/multiarch.m4: Likewise.
20183         * m4/nanosleep.m4: Likewise.
20184         * m4/nocrash.m4: Likewise.
20185         * m4/poll.m4: Likewise.
20186         * m4/printf-frexpl.m4: Likewise.
20187         * m4/printf.m4: Likewise.
20188         * m4/signbit.m4: Likewise.
20189         * m4/sinl.m4: Likewise.
20190         * m4/sqrtl.m4: Likewise.
20191         * m4/strerror_r.m4: Likewise.
20192         * m4/tanl.m4: Likewise.
20193         * m4/threadlib.m4: Likewise.
20194         * m4/ttyname_r.m4: Likewise.
20195         * m4/unlink.m4: Likewise.
20196         * m4/visibility.m4: Likewise.
20197         * m4/wcwidth.m4: Likewise.
20198         * tests/minus-zero.h: Likewise.
20199         * tests/test-alloca-opt.c: Likewise.
20200         * tests/test-copy-acl.sh: Likewise.
20201         * tests/test-copy-file.sh: Likewise.
20202         * tests/test-fdatasync.c: Likewise.
20203         * tests/test-file-has-acl.sh: Likewise.
20204         * tests/test-flock.c: Likewise.
20205         * tests/test-fsync.c: Likewise.
20206         * tests/test-localename.c: Likewise.
20207         * tests/test-malloca.c: Likewise.
20208         * tests/test-nonblocking-pipe.h: Likewise.
20209         * tests/test-nonblocking-socket.h: Likewise.
20210         * tests/test-openpty.c: Likewise.
20211         * tests/test-posix_openpt.c: Likewise.
20212         * tests/test-ptsname.c: Likewise.
20213         * tests/test-ptsname_r.c: Likewise.
20214         * tests/test-sameacls.c: Likewise.
20215         * tests/test-select.h: Likewise.
20216         * tests/test-set-mode-acl.sh: Likewise.
20217         * tests/test-snprintf-posix.h: Likewise.
20218         * tests/test-sprintf-posix.h: Likewise.
20219         * tests/test-strtod.c: Likewise.
20220         * tests/test-time.c: Likewise.
20221         * tests/test-vasnprintf-posix.c: Likewise.
20222         * tests/test-vasprintf-posix.c: Likewise.
20223         * doc/acl-resources.txt: Likewise.
20224         * doc/**/*.texi: Likewise.
20225         Reported by Max Horn <max@quendi.de>.
20227 2012-06-22  Bruno Haible  <bruno@clisp.org>
20229         grantpt: Relax requirement regarding invalid file descriptors.
20230         * lib/grantpt.c: Don't include <fcntl.h>.
20231         (grantpt): Don't verify the validity of the file descriptor.
20232         * modules/grantpt (Depends-on): Remove fcntl-h.
20233         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
20234         file descriptors.
20235         * doc/posix-functions/grantpt.texi: Document more platforms on which
20236         grantpt succeeds for invalid file descriptors.
20237         Reported by Rich Felker <dalias@aerifal.cx>.
20239 2012-06-22  Bruno Haible  <bruno@clisp.org>
20241         fbufmode test: Don't test unportable behaviour.
20242         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
20243         (main): Invoke it three times.
20244         Reported by Szabolcs Nagy <nsz@port70.net>
20245         and Rich Felker <dalias@aerifal.cx>.
20247 2012-06-21  Bruno Haible  <bruno@clisp.org>
20249         gnulib-tool: Refactor inctests variable.
20250         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
20251         (func_modules_transitive_closure,
20252         func_modules_transitive_closure_separately,
20253         func_import, func_create_testdir): Update.
20255         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
20256         * gnulib-tool: Accept option --without-tests.
20257         (func_usage): Document --without-tests option. Rearrange.
20258         (inctests): Normalize according to the mode.
20259         * NEWS: Mention the change.
20260         Suggested by Simon Josefsson.
20262 2012-06-21  Bruce Korb  <bkorb@gnu.org>
20264         parse-duration test: Avoid spurious output.
20265         * tests/test-parse-duration.sh: Reindent with leading tabs.
20267 2012-06-21  Jim Meyering  <meyering@redhat.com>
20269         maint: disable the strncpy prohibition
20270         * cfg.mk: Do not prohibit strncpy here.
20272 2012-06-21  Bruno Haible  <bruno@clisp.org>
20274         nonblocking: Avoid compilation error on mingw64.
20275         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
20276         fscanf.
20277         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
20278         * modules/vfscanf (configure.ac): Likewise.
20279         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
20280         definition only if stdio.h has prepared it.
20281         Reported by Daniel P. Berrange <berrange@redhat.com>.
20283 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
20285         gnulib-tool: Use readlink if it is available.
20286         * gnulib-tool (func_readlink): Choose function more appropriately.
20288 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
20290         posixtm-tests: port to buggy compiler
20291         Problem reported by Simon Josefsson in
20292         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
20293         * modules/posixtm-tests (Depends-on): Add stdint.
20294         * tests/test-posixtm.c (struct posixtm_test.t_expected):
20295         Now of type int_least64_t, not int64_t, both because that's
20296         what INT64_C returns and because int_least64_t works even
20297         on 72-bit hosts.
20298         (T): Use INT64_C on constants outside the traditional int range,
20299         to work around compiler bug noted by Simon.
20301         mktime: fix integer overflow in 'configure'-time test
20302         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
20303         after integer overflow.  Problem reported by Rich Felker in
20304         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
20305         Also, don't look for further instances of a bug if we've already
20306         found one instance; this helps 'configure' run faster.
20308 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
20310         tmpfile, clean-temp: Fix invocation of GetVersionEx.
20311         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
20312         GetVersionEx correctly.
20313         * lib/clean-temp.c (supports_delete_on_close): Likewise.
20315 2012-06-20  Bruno Haible  <bruno@clisp.org>
20317         fdopen: Allow implementations that don't reject invalid fd arguments.
20318         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
20319         succeeds.
20320         Reported by Rich Felker <dalias@aerifal.cx>.
20322 2012-06-20  Simon Josefsson  <simon@josefsson.org>
20324         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
20325         bring in LIBINTL.
20327 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
20329         init.sh: do not rely on autoupated PWD
20330         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
20331         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
20332         Although Nelson's bug was not necessarily fixed by this patch,
20333         it seems wise to make the change for safety.
20334         * tests/init.sh (path_prepend_): Do not rely on PWD updating
20335         automagically after 'cd'; this is not reliable on older shells.
20336         (setup_): Fail if we cannot cd to temporary directory.
20338 2012-06-19  Bruno Haible  <bruno@clisp.org>
20340         stat, fstat: Avoid warnings on mingw64.
20341         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
20342         redefining.
20343         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
20344         Reported by Daniel P. Berrange <berrange@redhat.com>.
20346 2012-06-19  Bruno Haible  <bruno@clisp.org>
20348         stdioext: Add support for musl libc.
20350         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
20351         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
20353         * m4/fseterr.m4: New file.
20354         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
20355         function exists.
20356         * modules/fseterr (Files): Add m4/fseterr.m4.
20357         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
20358         __fseterr does not exist.
20359         (Makefile.am): Remove fseterr.c from lib_SOURCES.
20361         * lib/freadable.h: Update comment.
20363         * lib/fwritable.h: Update comment.
20365         * lib/freading.h: Update comment.
20367         * lib/fwriting.h: Update comment.
20369         * m4/freadahead.m4: New file.
20370         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
20371         that function exists.
20372         * modules/freadahead (Files): Add m4/freadahead.m4.
20373         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
20374         __freadahead does not exist.
20375         (Makefile.am): Remove freadahead.c from lib_SOURCES.
20377         * m4/freadptr.m4: New file.
20378         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
20379         function exists.
20380         * modules/freadptr (Files): Add m4/freadptr.m4.
20381         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
20382         __freadptr does not exist.
20383         (Makefile.am): Remove freadptr.c from lib_SOURCES.
20385         * m4/freadseek.m4: New file.
20386         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
20387         exists.
20388         * modules/freadseek (Files): Add m4/freadseek.m4.
20389         (configure.ac): Invoke gl_FUNC_FREADSEEK.
20391         * lib/fpurge.c (fpurge): Update comment.
20393         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
20395 2012-06-19  Bruno Haible  <bruno@clisp.org>
20397         *printf-posix: Put more info into config.log.
20398         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
20399         exit code into config.log.
20401 2012-06-19  Bruno Haible  <bruno@clisp.org>
20403         getopt-gnu: Fix exit code overflow in autoconf test.
20404         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
20405         to keep them below < 128.
20407 2012-06-17  Jim Meyering  <meyering@redhat.com>
20409         maint.mk: fix typo in code to derive GPG key at release time
20410         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
20412 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
20414         regex: avoid warning when pointers are not long
20415         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
20416         and uintptr_t, not long, for portability to hosts where pointers and
20417         long have different sizes.  Issue noted by Daniel P. Berrange in
20418         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
20419         and fix suggested by Bruno Haible in
20420         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
20422 2012-06-17  Bruno Haible  <bruno@clisp.org>
20424         dummy: Relicense into the public domain.
20425         * modules/dummy (License): Set to "public domain".
20426         Suggested by Reuben Thomas.
20428 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
20430         announce-gen: VPATH issues
20431         * build-aux/announce-gen (--srcdir): New option, used to trim the
20432         $srcdir part of the path from $builddir to NEWS.
20433         * top/maint.mk (announcement): Adjust.
20435 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
20437         gnu-web-doc-update: VPATH builds
20438         * build-aux/gnu-web-doc-update (--builddir): New option.
20439         Revamp the handling of options.
20440         Prefer $(...) to `...`.
20441         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
20442         the template, and it is GNU mktemp specific.
20443         Prefer set -e to long series of &&.
20444         Restore the initial git branch, not "master".
20445         Properly initialize submodules (don't rely only on bootstrap).
20446         Do not reconfigure blindly, use config.status.
20447         * top/README-release: Update instructions for gnu-web-doc-update.
20449 2012-06-11  Jim Meyering  <meyering@redhat.com>
20451         maint.mk: revert most of the previous change re "all these"
20452         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
20453         For rationale, see the discussion at
20454         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
20456 2012-06-10  Karl Berry  <karl@gnu.org>
20458         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
20460         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
20462 2012-06-10  Bruce Korb  <bkorb@gnu.org>
20464         parse-duration: Relicense under LGPLv2+.
20465         * modules/parse-duration (License): Change to LGPLv2+.
20467 2012-06-10  Jim Meyering  <meyering@redhat.com>
20469         maint.mk: prohibit common grammar error: "all these"
20470         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
20471         the list of prohibited word sequences.  It should be "all of these".
20472         * lib/tempname.c (__gen_tempname): Fix one of them.
20474 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
20476         do-release-commit-and-tag: support VPATH builds
20477         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
20478         (noteworthy): Defined earlier to factor its value.
20479         (noteworthy_stub): New.
20480         Use it to factor.
20481         (help_version): Split into...
20482         (help, version): these.
20483         Adjust the option processing part.
20484         Support "--option=value" in addition to "--option value".
20485         (builddir): New.
20486         (--builddir): New option.
20487         * top/README-release: Document this.
20488         Reword slightly so that the reader cannot understand that he
20489         has to do these steps before calling do-release-commit-and-tag.
20491 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
20493         readme-release: also require announce-gen and maintainer-makefile
20494         * modules/readme-release (Depends-on): here.
20495         * modules/announce-gen, modules/do-release-commit-and-tag,
20496         modules/gnu-web-doc-update, modules/maintainer-makefile
20497         (Description): Point to readme-release.
20499 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
20501         maint.mk: fix VPATH issues.
20502         * top/maint.mk (news-check): GNU Make understand $< very well.
20503         (release-prep): NEWS is in $(srcdir).
20505 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
20507         readme-release: require the promoted modules.
20508         * modules/readme-release (Depends-on): Add
20509         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
20510         in this text.
20512 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
20513             Bruno Haible  <bruno@clisp.org>
20515         error, strerror-override: Support mingw64 from Fedora 17.
20516         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
20517         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
20518         EINPROGRESS.
20519         * lib/strerror-override.h (strerror_override): Test it.
20520         * lib/strerror-override.c (strerror_override): Likewise.
20521         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
20523 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
20524             Bruno Haible  <bruno@clisp.org>
20526         error, strerror-override: Support mingw64 from Fedora 17.
20527         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
20528         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
20529         * lib/strerror-override.h (strerror_override): Test it.
20530         * lib/strerror-override.c (strerror_override): Likewise.
20532 2012-06-03  Bruno Haible  <bruno@clisp.org>
20534         error, strerror-override: Support new errno values from POSIX:2008.
20535         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
20536         ENOTRECOVERABLE.
20537         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
20538         platforms.
20539         * lib/strerror-override.c (strerror_override): Conditionalize the
20540         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
20541         * lib/strerror-override.h (strerror_override): Declare also if
20542         GNULIB_defined_EOWNERDEAD is defined.
20543         * tests/test-errno.c (e130, e131): New variables.
20544         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
20545         ENOTRECOVERABLE.
20546         Reported by Paolo Bonzini.
20548 2012-05-31  Jim Meyering  <meyering@redhat.com>
20550         savewd: add missing dependency on sys_wait module
20551         * modules/savewd (Depends-on): Add sys_wait, needed at least
20552         for MSVC.  Report and suggested change by Michael Goffioul.
20554 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20556         system-quote-tests: port to CentOS 5
20557         Problem reported by Tom G. Christensen in
20558         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
20559         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
20561 2012-05-29  Jim Meyering  <meyering@redhat.com>
20563         maint: fix typos in comments and ChangeLog
20564         Culprits identified and fixed mostly automatically using these commands:
20565         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
20566         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
20567         using http://github.com/lyda/misspell-check
20568         * ChangeLog: Fix typos.
20569         * doc/solaris-versions: Likewise.
20570         * lib/regexec.c (re_search_stub): Likewise.
20571         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
20573 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20575         manywarnings: remove duplicate -Wmultichar entry
20576         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
20577         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
20578         so keep the entry marked as documented.
20580 2012-05-27  Karl Berry  <karl@gnu.org>
20582         * config/srclist.txt (mktime.c): remove last libc sync,
20583         perhaps just temporarily.
20585 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
20587         regex: don't assume uint64_t or uint32_t
20588         * lib/regcomp.c (init_word_char): Don't assume that the types
20589         uint64_t and uint32_t exist.  The C standard doesn't guarantee
20590         them, and on some 32-bit compilers there is no uint64_t.
20591         Problem reported by Gianluigi Tiesi in
20592         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
20594 2012-05-25  Jim Meyering  <meyering@redhat.com>
20596         maint.mk: add strncpy-prohibiting syntax-check rule
20597         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
20599 2012-05-24  Jim Meyering  <meyering@redhat.com>
20601         maint.mk: compute $(gpg_key_ID) more portably
20602         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
20603         That use of sed is not portable to some fringe systems.
20604         Reported by Paul Eggert in
20605         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
20607 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20609         mktime: sync from glibc
20610         * config/srclist.txt: Uncomment mktime.c.
20611         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
20612         First, indent with tabs, since glibc uses tabs and doesn't want to
20613         change and we'd rather be identical to glibc.  Also, two small
20614         coding changes:
20615         (isdst_differ): Use &&, not &, as && is the usual style.
20616         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
20617         for clarity.
20619 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
20621         announce-gen: du -h is more portable than du --human
20622         * build-aux/announce-gen (sizes): Invoke du with -h instead
20623         of --human.  Accept leading white space in its output.
20625 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
20627         announce-gen: Improve diagnostics.
20628         * build-aux/announce-gen: When parsing command line options,
20629         prefer "announce-gen: option --release-type requires an argument"
20630         to "Option release-type requires an argument".
20632 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
20634         maint.mk: gpg_key_ID: use sed more portably
20635         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
20636         the closing brace.
20637         (refresh-po): Fuse two sed invocations into one.
20639 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
20641         gitlog-to-changelog: support the log message format used in Bison.
20642         * build-aux/gitlog-to-changelog: Support --strip-tab and
20643         --strip-cherry-picked.
20645 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
20647         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
20648         the rest of the current time slice to another thread in the current
20649         process. So if the thread that feeds the file decscriptor we're
20650         polling is not in the current process, we get busy-waiting.
20651         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
20652         Patch from Theodore Leblond.
20653         * lib/select.c: Split polling out of the loop that sets the output
20654         fd_sets.  Check for zero result and loop if the wait timeout is
20655         infinite.
20657 2012-05-21  Simon Josefsson  <simon@josefsson.org>
20659         select: Fix build error on IRIX 6.5.
20660         * lib/select.c: Include stddef.h for NULL.
20662 2012-05-21  Simon Josefsson  <simon@josefsson.org>
20664         gc: fix libgcrypt detection on older machines.
20665         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
20666         copyright years because the file has been distributed every year
20667         since it was created.
20669 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
20671         crypto: fix bug in large buffer handling
20672         Problem reported by Serge Belyshev for glibc in
20673         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
20674         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
20675         * lib/md4.c (md4_process_block):
20676         * lib/md5.c (md5_process_block):
20677         * lib/sha1.c (sha1_process_block):
20678         * lib/sha256.c (sha256_process_block):
20679         Don't assume the buffer length is less than 2**32.
20680         * lib/sha512.c (sha512_process_block): Likewise.
20681         Here, the bug is present only in the rare case where the host does
20682         not support uint64_t or where size_t is wider than 64 bits.
20683         Use u64size to work around the problems.
20684         * lib/u64.h (u64size): New macro.
20686 2012-05-15  Pádraig Brady  <P@draigBrady.com>
20688         fsusage: fix block size returned on older Linux 2.6
20690         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
20691         which is available since Linux 2.6.
20692         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
20693         when the member is available so it can be used as a fallback.
20694         * doc/posix-functions/statvfs.texi: Mention the hang issue
20695         on Linux < 2.6.36.
20697 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
20699         bootstrap: suppress stderr chatter
20700         * build-aux/bootstrap (insert_sorted_if_absent, main program):
20701         Omit unnecessary chatter to stderr.  The main program chatter
20702         was there only inadvertantly.
20704         bootstrap: .gitignore files created by autopoint, libtool
20705         I ran into this problem when bootstrapping the latest diffutils.
20706         After './bootstrap', 'git status' reported lots of untracked files
20707         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
20708         autopoint and do not need to be version-controlled.
20709         * build-aux/bootstrap: Put into .gitignore the files that
20710         autopoint and libtool create, by keeping track of files that exist
20711         after but not before these programs are run.
20712         (version_controlled_file): Move up.  2nd arg is now full file
20713         name, not base name; this is more convenient.  Put CVS at the end,
20714         as it's now somewhat deprecated.
20716 2012-05-14  Jim Meyering  <meyering@redhat.com>
20718         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
20719         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
20720         definition.  Reported by Bruno Haible.
20722 2012-05-13  Bruno Haible  <bruno@clisp.org>
20723             Paul Eggert  <eggert@cs.ucla.edu>
20725         binary-io: Define set_binary_mode function.
20726         * lib/binary-io.h (set_binary_mode): New function.
20727         (SET_BINARY): Define in terms of set_binary_mode.
20728         * modules/binary-io (configure.ac): Require AC_C_INLINE.
20729         * tests/test-binary-io.c (main): Accept an argument, and test either
20730         set_binary_mode or SET_BINARY depending on the argument.
20731         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
20732         argument. Clean up also t-bin-out0.tmp.
20734 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
20736         bootstrap: take advantage of POSIX shell features
20738         The 'bootstrap' script offered by Gnulib script already uses POSIX
20739         shell features (like $((...)) arithmetic expansions) that are not
20740         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
20741         means that bootstrap must already be run using a proper POSIX shell,
20742         which will thus provide more features, like ${var#pattern} parameter
20743         expansion or inversion of a command exit status with '!'.  We can
20744         thus use these features to improve the clarity and the performances
20745         of the bootstrap script.
20747         Suggested by Eric Blake.
20749         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
20750         of sed/expr plus command substitutions, to save some forks.  While
20751         we are at it, prefer the POSIX $(...) form of command substitution,
20752         rather than the legacy form `...` (since the former is visually
20753         clearer and interacts better with quoting), and prefer the idiom:
20754           "if ! CMD; then ACTION ..."
20755         over the idiom:
20756           "if CMD; then :; else ACTION ..."
20757         which was required by legacy Bourne shells not supporting '!'.
20759 2012-05-12  Bruno Haible  <bruno@clisp.org>
20761         system-quote: Add more comments.
20762         * lib/system-quote.h: Add more comments about wilcards and limitations.
20763         Suggested by Eli Zaretskii <eliz@gnu.org>.
20765         sh-quote, system-quote: Add comments about wildcards.
20766         * lib/sh-quote.h: Clarify what happens with wildcard characters.
20767         * lib/system-quote.h: Likewise.
20768         Reported by Eli Zaretskii <eliz@gnu.org>.
20770 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
20772         fsusage: check for GNU/Linux statvfs problem dynamically
20773         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
20774         Define STAT_STATFS2_BSIZE too, since in this case the code now
20775         checks dynamically whether statvfs is reliable, falling back on
20776         Linux-style statfs otherwise.
20777         (statvfs_works): New function, for dynamically testing statvfs.
20778         (get_fs_usage) [STAT_STATVFS]: Use it.
20779         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
20780         statvfs on GNU/Linux hosts, since it's now done dynamically.
20782 2012-05-10  Bruno Haible  <bruno@clisp.org>
20784         system-quote, execute, spawn-pipe: Escape '?' on Windows.
20785         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
20786         '?' character.
20787         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
20788         * tests/test-system-quote-main.c (check_all): Check also strings like
20789         "??????????".
20790         Reported by Eli Zaretskii <eliz@gnu.org>.
20792 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
20794         _Noreturn: port config.h to gcc -Wundef
20795         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
20796         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
20797         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
20799 2012-05-10  Bruno Haible  <bruno@clisp.org>
20801         system-quote: Refactor.
20802         * lib/system-quote.h (system_quote_copy): Fix comment.
20803         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
20804         New functions, extracted from system_quote_copy.
20805         (system_quote_length, system_quote_copy): Use these functions.
20806         Reported by Paul Eggert.
20808 2012-05-08  Bruno Haible  <bruno@clisp.org>
20810         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
20811         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
20813 2012-05-08  Bruno Haible  <bruno@clisp.org>
20815         Tests for module 'system-quote'.
20816         * modules/system-quote-tests: New file.
20817         * tests/test-system-quote.sh: New file.
20818         * tests/test-system-quote-main.c: New file.
20819         * tests/test-system-quote-child.c: New file.
20821         New module 'system-quote'.
20822         * lib/system-quote.h: New file.
20823         * lib/system-quote.c: New file.
20824         * modules/system-quote: New file.
20826 2012-05-08  Bruno Haible  <bruno@clisp.org>
20828         sh-quote: Make C++ safe and allow multiple inclusion.
20829         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
20830         declarations in extern "C".
20832 2012-05-08  Bruno Haible  <bruno@clisp.org>
20834         sh-quote tests: Make tests stricter.
20835         * tests/test-sh-quote.c (check_one): Check the return value of
20836         shell_quote_copy.
20837         (main): Check a string with a CR character. Check a string that
20838         contains UCHAR_MAX.
20840 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
20842         warnings.m4: provide a means to specify the program to compile.
20843         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
20844         (gl_WARN_ADD): here.
20845         Use gl_AS_VAR_APPEND.
20846         Support an argument to specify the program to compile.
20847         (gl_WARN_ADD): Accept an argument to specify the program to compile.
20848         AC_SUBST the WARN_CFLAGS when they are used.
20849         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
20850         leave this to gl_WARN_ADD.
20852 2012-05-08  Eric Blake  <eblake@redhat.com>
20854         doc: recommendations on gettext version
20855         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
20856         choice between versions.
20857         * DEPENDENCIES (gettext): Cover both approaches.
20859 2012-05-08  Jim Meyering  <meyering@redhat.com>
20861         init.sh: explain why EXEEXT support uses aliases rather than functions
20862         * tests/init.sh: Add a comment.
20864         init.sh: don't let bash aliases interfere with tests
20865         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
20866         is bash.  This avoids problems for those who alias standard commands to
20867         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
20868         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
20870 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20872         stdint: be more consistent with glibc, SunOS libc
20873         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
20874         (gl_int_fast16_t, gl_uint_fast16_t)
20875         (gl_int_fast32_t, gl_uint_fast32_t)
20876         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
20877         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
20878         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
20879         Be consistent with glibc by default, and with SunOS 5.10 and later
20880         if __sun is defined.  This lessens the likelihood of clashes if
20881         code compiled for older hosts is combined with code compiled for
20882         newer ones.  Problem reported by Niels Möller in
20883         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
20885 2012-05-07  Eric Blake  <eblake@redhat.com>
20887         isatty: relax license to LGPLv2+
20888         * modules/isatty (License): Relax license.
20890 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
20892         stat-size: comment fix
20893         * lib/stat-size.h: Remove obsolete comment about indenting.
20895 2012-05-06  Bruno Haible  <bruno@clisp.org>
20897         Tests for module 'sh-quote'.
20898         * modules/sh-quote-tests: New file.
20899         * tests/test-sh-quote.c: New file.
20901 2012-05-06  Bruno Haible  <bruno@clisp.org>
20903         sh-quote: Improve shell_quote_argv's signature.
20904         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
20905         * lib/sh-quote.c (shell_quote_argv): Likewise.
20907 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
20909         stdint: document issues with int_fast8_t etc.
20910         * doc/posix-headers/stdint.texi (stdint.h): Say that other
20911         stdint.h substitutes may define these types differently.  See
20912         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
20914 2012-05-05  Bruno Haible  <bruno@clisp.org>
20916         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
20917         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
20918         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
20919         or 'guessing no (mishandles large arguments)'.
20921 2012-05-05  Bruno Haible  <bruno@clisp.org>
20923         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
20924         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
20925         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
20926         set gl_cv_func_link_follows_symlink to "guessing no".
20928 2012-05-05  Bruno Haible  <bruno@clisp.org>
20930         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
20931         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
20932         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
20933         "guessing no".
20934         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
20936 2012-05-05  Bruno Haible  <bruno@clisp.org>
20938         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
20939         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
20940         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
20941         set gl_cv_struct_dirent_d_ino to "guessing yes".
20943 2012-05-05  Bruno Haible  <bruno@clisp.org>
20945         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
20946         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
20947         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
20948         "guessing yes".
20950 2012-05-05  Bruno Haible  <bruno@clisp.org>
20952         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
20953         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
20954         compiling to a glibc system, set gl_cv_func_signbit and
20955         gl_cv_func_signbit_gcc to "guessing yes".
20957 2012-05-05  Bruno Haible  <bruno@clisp.org>
20959         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
20960         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
20961         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
20962         to "guessing yes".
20963         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
20964         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
20966 2012-05-05  Bruno Haible  <bruno@clisp.org>
20968         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
20969         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
20970         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
20971         gl_cv_func_realpath_works to "guessing yes".
20973 2012-05-05  Bruno Haible  <bruno@clisp.org>
20975         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
20976         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
20977         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
20979 2012-05-04  Bruno Haible  <bruno@clisp.org>
20981         Tweak last commit.
20982         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
20983         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
20985 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
20987         unistd_h: make it easier to avoid sys_types_h
20988         This is useful for Emacs, which has its own method of porting to
20989         Windows, and which therefore does not need the sys_types_h module.
20990         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
20991         code moved here from gl_SYS_TYPES_H.
20992         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
20993         using the code directly.
20994         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
20995         gl_SYS_TYPES_H.
20996         * modules/sys_types (Files):
20997         * modules/unistd (Files): Add m4/off_t.m4.
20999 2012-05-03  Bruno Haible  <bruno@clisp.org>
21001         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
21002         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
21003         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
21004         "guessing yes" or "guessing no".
21005         (gl_FUNC_LSTAT): Update.
21006         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
21007         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
21008         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
21010 2012-05-03  Bruno Haible  <bruno@clisp.org>
21012         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
21013         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
21014         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
21015         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
21016         cross-compiling, choose the first alternative on glibc systems.
21017         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
21019 2012-05-03  Bruno Haible  <bruno@clisp.org>
21021         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
21022         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
21023         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
21025 2012-05-03  Bruno Haible  <bruno@clisp.org>
21027         chown: Avoid "guessing no" when cross-compiling to glibc systems.
21028         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
21030 2012-05-03  Bruno Haible  <bruno@clisp.org>
21032         Avoid "guessing no" guesses when cross-compiling to glibc systems.
21033         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
21034         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
21035         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
21036         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
21037         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
21038         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
21039         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
21040         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
21041         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
21042         compiling to glibc systems, set gl_cv_func_chown_slash_works,
21043         gl_cv_func_chown_ctime_works to "guessing yes".
21044         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
21045         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
21046         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
21047         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
21048         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
21049         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
21050         compiling to glibc systems, set gl_cv_func_open_directory_works to
21051         "guessing yes".
21052         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
21053         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
21054         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
21055         "guessing yes".
21056         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
21057         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
21058         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
21059         compiling to glibc systems, set gl_cv_func_floorf_ieee to
21060         "guessing yes".
21061         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
21062         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
21063         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
21064         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
21065         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
21066         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
21067         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
21068         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
21069         "guessing yes".
21070         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
21071         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
21072         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
21073         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
21074         "guessing yes".
21075         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
21076         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
21077         "guessing yes".
21078         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
21079         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
21080         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
21081         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
21082         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
21083         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
21084         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
21085         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
21086         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
21087         compiling to glibc systems, set gl_cv_func_log10f_ieee to
21088         "guessing yes".
21089         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
21090         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
21091         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
21092         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
21093         "guessing yes".
21094         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
21095         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
21096         "guessing yes".
21097         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
21098         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
21099         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
21100         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
21101         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
21102         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
21103         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
21104         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
21105         compiling to glibc systems, set gl_cv_func_mkfifo_works to
21106         "guessing yes".
21107         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
21108         compiling to glibc systems, set gl_cv_func_mknod_works to
21109         "guessing yes".
21110         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
21111         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
21112         "guessing yes".
21113         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
21114         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
21115         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
21116         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
21117         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
21118         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
21119         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
21120         compiling to glibc systems, set gl_cv_func_svid_putenv to
21121         "guessing yes".
21122         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
21123         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
21124         "guessing yes".
21125         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
21126         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
21127         "guessing yes".
21128         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
21129         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
21130         to "guessing yes".
21131         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
21132         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
21133         to "guessing yes".
21134         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
21135         compiling to glibc systems, set gl_cv_func_rmdir_works to
21136         "guessing yes".
21137         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
21138         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
21139         gl_cv_func_unlink_parent_fails to "guessing yes".
21140         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
21141         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
21142         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
21143         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
21144         gl_cv_func_rename_dest_works to "guessing yes".
21145         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
21146         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
21147         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
21148         compiling to glibc systems, set gl_cv_func_roundf_ieee to
21149         "guessing yes".
21150         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
21151         compiling to glibc systems, set gl_cv_func_roundl_ieee to
21152         "guessing yes".
21153         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
21154         compiling to glibc systems, set gl_cv_func_setenv_works to
21155         "guessing yes".
21156         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
21157         compiling to glibc systems, set gl_cv_func_unsetenv_works to
21158         "guessing yes".
21159         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
21160         compiling to glibc systems, set gl_cv_func_sleep_works to
21161         "guessing yes".
21162         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
21163         compiling to glibc systems, set gl_cv_func_stat_file_slash to
21164         "guessing yes".
21165         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
21166         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
21167         "guessing yes".
21168         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
21169         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
21170         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
21171         compiling to glibc systems, set gl_cv_func_truncf_ieee to
21172         "guessing yes".
21173         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
21174         compiling to glibc systems, set gl_cv_func_truncl_ieee to
21175         "guessing yes".
21176         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
21177         compiling to glibc systems, set gl_cv_func_usleep_works to
21178         "guessing yes".
21179         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
21180         compiling to glibc systems, set gl_cv_func_futimesat_works to
21181         "guessing yes".
21183 2012-05-03  Bruno Haible  <bruno@clisp.org>
21185         Say "guessing yes" or "guessing no" when cross-compiling.
21186         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
21187         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
21188         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
21189         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
21190         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
21191         am_cv_func_working_getline to "guessing yes" or "guessing no".
21192         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
21193         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
21194         (gl_FUNC_MEMMEM): When cross-compiling, set
21195         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
21196         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
21197         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
21198         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
21199         set gl_cv_func_strcasestr_works_always to "guessing yes" or
21200         "guessing no".
21201         (gl_FUNC_STRCASESTR): When cross-compiling, set
21202         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
21203         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
21204         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
21205         (gl_FUNC_STRSTR): When cross-compiling, set
21206         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
21207         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
21208         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
21209         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
21210         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
21212 2012-05-01  Bruno Haible  <bruno@clisp.org>
21214         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
21215         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
21216         * build-aux/reloc-ldflags: Likewise.
21217         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
21219 2012-05-01  Bruno Haible  <bruno@clisp.org>
21221         gnulib-tool: Remove transitional code.
21222         * gnulib-tool: Don't warn about --import with 0 arguments any more.
21223         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
21225 2012-05-01  Bruno Haible  <bruno@clisp.org>
21227         getcwd: Fix misindentation.
21228         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
21230 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
21232         exclude: process exclude and include directives in order
21233         This restores the pre-2009 behavior, and is part of a fix of a
21234         grep bug reported by Quentin Arce in
21235         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
21236         * lib/exclude.c (struct exclude): Remove 'tail' member.
21237         (new_exclude_segment): Prepend the new segment instead of appending.
21238         Return void, since that's now more convenient.
21239         (file_pattern_matches): Renamed from excluded_file_pattern_p.
21240         (file_name_matches): Renamed from excluded_file_name_p.
21241         (file_pattern_matches, file_name_matches):
21242         Return true if the pattern matches, not if it excludes.
21243         All callers changed.
21244         (excluded_file_name): Process the list in reverse order;
21245         since the list is now reversed this restores the pre-2009 behavior.
21246         (add_exclude): Adjust to new reversed-order list.  Use local var
21247         rather than macro, for clarity.
21248         * tests/test-exclude7.sh: Adjust to corrected behavior.
21250         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
21251         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
21252         it's not possible here.  Handle the case of \ at end of pattern
21253         without dumping core.
21254         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
21256         _Noreturn: future-proof non-GNU and non-MSVC compilers
21257         * build-aux/snippet/_Noreturn.h (_Noreturn):
21258         * m4/gnulib-common.m4 (gl_COMMON_BODY):
21259         Do not define _Noreturn if __STDC_VERSION__ indicates this is
21260         C11 or later.  This is more likely to work with random future C
21261         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
21262         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
21264         exclude: handle wildcards with FNM_EXTMATCH
21265         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
21266         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
21267         comment that "has wildcards" really means "has or may have
21268         wildcards".  Simplify by avoiding the need to call strcspn.
21270 2012-04-29  Bruno Haible  <bruno@clisp.org>
21272         gnulib-tool: Fix list of authors.
21273         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
21275 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
21277         bootstrap: support Automake-NG in $buildreq
21278         * bootstrap (check_versions): Handle automake and aclocal from
21279         Automake-NG specially.  They can be specified as respectively
21280         the "automake-ng" and "aclocal-ng" requirements.
21282 2012-04-25  Eric Blake  <eblake@redhat.com>
21284         bootstrap: only force latest Makefile.in.in for gettext module
21285         * build-aux/bootstrap (with_gettext): Only install latest
21286         Makefile.in.in for projects requesting bleeding edge gettext.
21288 2012-04-22  Bruno Haible  <bruno@clisp.org>
21290         doc: Mention reason for replacement on glibc/Linux systems.
21291         * doc/posix-functions/dprintf.texi: Mention the problem with special
21292         'long double' values.
21293         * doc/posix-functions/fprintf.texi: Likewise.
21294         * doc/posix-functions/printf.texi: Likewise.
21295         * doc/posix-functions/snprintf.texi: Likewise.
21296         * doc/posix-functions/sprintf.texi: Likewise.
21297         * doc/posix-functions/vdprintf.texi: Likewise.
21298         * doc/posix-functions/vfprintf.texi: Likewise.
21299         * doc/posix-functions/vprintf.texi: Likewise.
21300         * doc/posix-functions/vsnprintf.texi: Likewise.
21301         * doc/posix-functions/vsprintf.texi: Likewise.
21302         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
21303         platforms with F_DUPFD_CLOEXEC problems.
21304         * doc/posix-functions/glob.texi: Mention which platforms are affected
21305         by the problem with symbolic links.
21306         * doc/posix-functions/linkat.texi: Mention the problem with
21307         AT_SYMLINK_FOLLOW on Linux.
21309 2012-04-22  Bruno Haible  <bruno@clisp.org>
21311         pwrite: Don't replace on all platforms.
21312         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
21314 2012-04-22  Bruno Haible  <bruno@clisp.org>
21316         rint* tests: Avoid gcc warnings.
21317         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
21318         * tests/test-rintf.c (INFINITY, NAN): Likewise.
21319         * tests/test-rintl.c (INFINITY, NAN): Likewise.
21321 2012-04-21  Bruno Haible  <bruno@clisp.org>
21323         users.txt: Update.
21324         * users.txt: Add freedink, wdiff. Update URLs for projects that have
21325         switched from CVS to git, bzr, or svn.
21327 2012-04-21  Bruno Haible  <bruno@clisp.org>
21329         Large File Support for native Windows platforms.
21331         * m4/largefile.m4 (gl_LARGEFILE): New macro.
21332         * modules/largefile (configure.ac): Require gl_LARGEFILE.
21334         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
21335         type.
21336         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
21337         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
21338         * doc/posix-headers/sys_types.texi: Mention the effect of the
21339         'largefile' module.
21341         * lib/fcntl.in.h: Add comments about off_t.
21342         * modules/fcntl-h (Depends-on): Add sys_types.
21344         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
21345         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
21346         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
21347         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
21348         * modules/unistd (Depends-on): Add sys_types.
21349         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
21351         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
21352         instead of lseek.
21353         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
21354         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
21355         * modules/lseek (Depends-on): Add sys_types.
21357         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
21358         msvc-nothrow.h.
21359         (SetFileSize): New function.
21360         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
21361         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
21362         if Large File Support is requested.
21363         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
21364         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
21366         * lib/stdio.in.h: Add comments about off_t.
21367         * modules/stdio (Depends-on): Add sys_types.
21369         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
21370         instead of ftello.
21371         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
21372         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
21373         (gl_PREREQ_FTELLO): New macro.
21374         * modules/ftello (Depends-on): Add sys_types.
21375         (configure.ac): Incoke gl_PREREQ_FTELLO.
21377         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
21378         instead of fseeko.
21379         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
21380         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
21381         (gl_PREREQ_FSEEKO): New macro.
21382         * modules/fseeko (Depends-on): Add sys_types.
21383         (configure.ac): Invoke gl_PREREQ_FSEEKO.
21385         * lib/sys_stat.in.h: Add comments about off_t.
21386         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
21387         64-bit integer for st_size in 'struct stat'.
21388         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
21389         Define _GL_WINDOWS_64_BIT_ST_SIZE.
21390         * modules/sys_stat (Depends-on): Add sys_types.
21391         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
21393         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
21394         instead of stat or _stat.
21396         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
21397         'struct _stati64' instead of fstat and 'struct stat'.
21398         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
21399         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
21401         Reported by Ray Satiro <raysatiro@yahoo.com>.
21403 2012-04-19  Eric Blake  <eblake@redhat.com>
21405         bootstrap: accommodate older libtool
21406         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
21407         Reported by Daniel P. Berrange.
21409 2012-04-19  Jim Meyering  <meyering@redhat.com>
21411         announce-gen: avoid failure due to lack of Digest::SHA1
21412         Even with the preferred Digest::SHA available, this script
21413         would fail when the backup module, Digest::SHA1, was not installed.
21414         * build-aux/announce-gen: Quote the conditional use of "use".
21415         Reported by Reuben Thomas in:
21416         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
21418         bootstrap: don't let a user's CDPATH setting affect this script
21419         When CDPATH is set, cd will sometimes generate output.
21420         When "cd" is run in a subshell whose output matters, that
21421         surprising-to-some output can cause malfunction.
21422         Unsetting CDPATH turns off this shell "feature."
21423         * build-aux/bootstrap (CDPATH): Unset.
21424         Reported by Reuben Thomas in:
21425         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
21426         and inspired by his patch here:
21427         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
21429 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
21430         and Jim Meyering  <meyering@redhat.com>
21432         maint.mk: catch "see @xref{}" and similar
21433         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
21434         prohibit "See also @xref{", "Also see @pxref{", and similar.
21436 2012-04-16  Jim Meyering  <meyering@redhat.com>
21438         bootstrap: really use gnulib's po/Makefile.in.in
21439         * build-aux/bootstrap: Correct the source file name in previous change.
21440         Reported by Akim Demaille.
21442         configmake: correct minor inconsistency in Makefile rule
21443         * modules/configmake (Makefile.am): All other rules like this one
21444         run the final "mv -f ..." in the same backslash-continued command
21445         as the one that does everything else.  This one put the mv -f ...
21446         command on a separate, non-backslash-continued line.
21447         Make it like the others.
21449         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
21450         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
21451         the one from gettext.  Reported by Akim Demaille.
21453 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
21455         Fix recursion of install-* into po directories.
21456         Bison's install-pdf bug reported by Hans Aberg at
21457         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
21458         * build-aux/po/Makefile.in.in (install-dvi, install-html)
21459         (install-info, install-pdf, install-ps): New targets.
21461 2012-04-16  Jim Meyering  <meyering@redhat.com>
21463         maint: avoid spurious "make sc_maint" failure
21464         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
21465         exempt all *.class file names, for lib/javaversion.class.
21467 2012-04-15  Bruno Haible  <bruno@clisp.org>
21469         lseek: Make configure test independent of environment.
21470         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
21471         Windows, we know that lseek() on pipes is broken; skip the runtime
21472         test.
21474 2012-04-14  Bruno Haible  <bruno@clisp.org>
21476         stat: Bypass buggy override in mingw64.
21477         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
21478         * lib/stat.c (stat) [mingw64]: Define to _stat.
21479         * doc/posix-functions/stat.texi: Mention mingw64 bug.
21481 2012-04-14  Bruno Haible  <bruno@clisp.org>
21483         pathmax: Fix compilation error on MSVC 9.
21484         * modules/pathmax (Depends-on): Add unistd.
21486 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
21488         README: document pointer comparison assumption
21489         * README (Portability guidelines): Document assumption about
21490         pointer comparisons, in response to a recent bug-gnulib comment by
21491         Jeffrey Kegler.
21493 2012-04-12  Bruno Haible  <bruno@clisp.org>
21495         Tests for module 'getrusage'.
21496         * modules/getrusage-tests: New file.
21497         * tests/test-getrusage.c: New file.
21499         New module 'getrusage'.
21500         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
21501         warn-on-use.h.
21502         (getrusage): New declaration.
21503         * lib/getrusage.c: New file.
21504         * m4/getrusage.m4: New file.
21505         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
21506         is declared.
21507         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
21508         HAVE_GETRUSAGE.
21509         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
21510         snippet/c++defs, snippet/warn-on-use.
21511         (Makefile.am): Update generation of sys/resource.h. Substitute
21512         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
21513         * modules/getrusage: New file.
21514         * doc/posix-functions/getrusage.texi: Mention the new module.
21516 2012-04-12  Bruno Haible  <bruno@clisp.org>
21518         Tests for module 'sys_resource'.
21519         * modules/sys_resource-tests: New file.
21520         * tests/test-sys_resource.c: New file.
21522         New module 'sys_resource'.
21523         * lib/sys_resource.in.h: New file.
21524         * m4/sys_resource_h.m4: New file.
21525         * modules/sys_resource: New file.
21526         * doc/posix-headers/sys_resource.texi: Mention the new module.
21528 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
21530         ioctl: Fix compilation error on mingw.
21531         * lib/ioctl.c: Include <windows.h>.
21532         Also reported by Ray Satiro <raysatiro@yahoo.com>.
21534 2012-04-04  Jim Meyering  <meyering@redhat.com>
21536         regex: correct #pragma guard expression
21537         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
21538         not 4.3.  Correct its cpp guard expression.
21540 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
21542         regex: remove unnecessary type punning
21543         Problem reported by Vladimir Serbinenko in
21544         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
21545         * lib/regex.h (struct re_pattern_buffer): Change the type of
21546         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
21547         Fix comment to match code.
21548         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
21549         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
21550         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
21551         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
21552         (set_regs):
21553         Omit no-longer-necessary casts.
21555 2012-04-03  Bruno Haible  <bruno@clisp.org>
21557         Tests for module 'ilogbl'.
21558         * modules/ilogbl-tests: New file.
21559         * tests/test-ilogbl.c: New file.
21561         New module 'ilogbl'.
21562         * lib/math.in.h (ilogbl): New declaration.
21563         * lib/ilogbl.c: New file.
21564         * m4/ilogbl.m4: New file.
21565         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
21566         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
21567         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
21568         Split sed invocation, to avoid the limit of 100 substitutions of
21569         HP-UX 'sed'.
21570         * modules/ilogbl: New file.
21571         * tests/test-math-c++.cc: Check the declaration of ilogbl.
21572         * doc/posix-functions/ilogbl.texi: Mention the new module.
21574 2012-04-03  Bruno Haible  <bruno@clisp.org>
21576         Tests for module 'ilogbf'.
21577         * modules/ilogbf-tests: New file.
21578         * tests/test-ilogbf.c: New file.
21580         New module 'ilogbf'.
21581         * lib/math.in.h (ilogbf): New declaration.
21582         * lib/ilogbf.c: New file.
21583         * m4/ilogbf.m4: New file.
21584         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
21585         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
21586         REPLACE_ILOGBF.
21587         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
21588         REPLACE_ILOGBF.
21589         * modules/ilogbf: New file.
21590         * tests/test-math-c++.cc: Check the declaration of ilogbf.
21591         * doc/posix-functions/ilogbf.texi: Mention the new module.
21593 2012-04-03  Bruno Haible  <bruno@clisp.org>
21595         Tests for module 'ilogb'.
21596         * modules/ilogb-tests: New file.
21597         * tests/test-ilogb.c: New file.
21598         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
21599         tests/test-logb-ieee.h.
21601         New module 'ilogb'.
21602         * lib/math.in.h (ilogb): New declaration.
21603         * lib/ilogb.c: New file.
21604         * m4/ilogb.m4: New file.
21605         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
21606         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
21607         REPLACE_ILOGB.
21608         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
21609         REPLACE_ILOGB.
21610         * modules/ilogb: New file.
21611         * tests/test-math-c++.cc: Check the declaration of ilogb.
21612         * doc/posix-functions/ilogb.texi: Mention the new module.
21614 2012-04-03  Bruno Haible  <bruno@clisp.org>
21616         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
21617         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
21618         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
21619         (main): Check their values.
21620         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
21621         problem.
21623 2012-04-03  Bruno Haible  <bruno@clisp.org>
21625         Tests for module 'logbl-ieee'.
21626         * modules/logbl-ieee-tests: New file.
21627         * tests/test-logbl-ieee.c: New file.
21629         New module 'logbl-ieee'.
21630         * modules/logbl-ieee: New file.
21632         Tests for module 'logb-ieee'.
21633         * modules/logb-ieee-tests: New file.
21634         * tests/test-logb-ieee.c: New file.
21636         New module 'logb-ieee'.
21637         * modules/logb-ieee: New file.
21639         Tests for module 'logbf-ieee'.
21640         * modules/logbf-ieee-tests: New file.
21641         * tests/test-logbf-ieee.c: New file.
21642         * tests/test-logb-ieee.h: New file.
21644         New module 'logbf-ieee'.
21645         * modules/logbf-ieee: New file.
21647 2012-04-03  Bruno Haible  <bruno@clisp.org>
21649         Tests for module 'logbl'.
21650         * modules/logbl-tests: New file.
21651         * tests/test-logbl.c: New file.
21653         New module 'logbl'.
21654         * lib/math.in.h (logbl): New declaration.
21655         * lib/logbl.c: New file.
21656         * m4/logbl.m4: New file.
21657         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
21658         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
21659         REPLACE_LOGBL.
21660         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
21661         REPLACE_LOGBL.
21662         * modules/logbl: New file.
21663         * tests/test-math-c++.cc: Check the declaration of logbl.
21664         * doc/posix-functions/logbl.texi: Mention the new module.
21666 2012-04-02  Bruno Haible  <bruno@clisp.org>
21668         Tests for module 'logbf'.
21669         * modules/logbf-tests: New file.
21670         * tests/test-logbf.c: New file.
21672         New module 'logbf'.
21673         * lib/math.in.h (logbf): New declaration.
21674         * lib/logbf.c: New file.
21675         * m4/logbf.m4: New file.
21676         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
21677         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
21678         REPLACE_LOGBF.
21679         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
21680         REPLACE_LOGBF.
21681         * modules/logbf: New file.
21682         * tests/test-math-c++.cc: Check the declaration of logbf.
21683         * doc/posix-functions/logbf.texi: Mention the new module.
21685 2012-04-02  Bruno Haible  <bruno@clisp.org>
21687         logb tests: More tests.
21688         * tests/test-logb.h: New file, based on tests/test-logb.c and
21689         tests/test-frexp.h.
21690         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
21691         (main): Just invoke test_function.
21692         * modules/logb-tests (Files): Add tests/test-logb.h,
21693         tests/minus-zero.h, tests/randomd.c.
21694         (Makefile.am): Add randomd.c to test_logb_SOURCES.
21696         logb: Provide replacement and workarounds.
21697         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
21698         is 1.
21699         * lib/logb.c: New file.
21700         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
21701         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
21702         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
21703         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
21704         * modules/logb (Files): Add lib/logb.c.
21705         (Depends-on): Add isfinite, frexp, isnand.
21706         (configure.ac): Compile the replacement code logb.c if needed.
21707         * tests/test-math-c++.cc: Check the declaration of logb.
21708         * doc/posix-functions/logb.texi: Mention the replacement and the bug
21709         with subnormal numbers.
21711 2012-04-02  Bruno Haible  <bruno@clisp.org>
21713         log10* tests: Speed up.
21714         * tests/test-log10.h (test_function): Reduce amount of random numbers
21715         to test.
21717 2012-04-01  Bruno Haible  <bruno@clisp.org>
21719         logf-ieee: Fix test whether logf works.
21720         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
21722 2012-04-01  Bruno Haible  <bruno@clisp.org>
21724         log10l: Work around log10l-ieee test failure on IRIX 6.5.
21725         * lib/log10l.c: Include <float.h>
21726         (log10l): On IRIX, normalize the +Infinity value.
21727         * modules/log10l (Depends-on): Add 'float'.
21728         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
21729         +Infinity.
21731         log10f-ieee: Work around test failure on NetBSD 5.1.
21732         * m4/log10f-ieee.m4: New file.
21733         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
21734         test whether log10f works with a negative argument. Replace it if not.
21735         * lib/log10f.c (log10f): For negative arguments, return NaN.
21736         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
21737         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
21738         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
21740         log10f-ieee: Work around test failure on Solaris 9.
21741         * modules/log10f-ieee (Depends-on): Add log10-ieee.
21742         (configure.ac): Require gl_FUNC_LOG10F.
21744         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
21745         * m4/log10-ieee.m4: New file.
21746         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
21747         whether log10 works with a negative argument. Replace it if not.
21748         * lib/log10.c (log10): For negative arguments, return NaN.
21749         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
21750         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
21751         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
21753         Tests for module 'log10l-ieee'.
21754         * modules/log10l-ieee-tests: New file.
21755         * tests/test-log10l-ieee.c: New file.
21757         New module 'log10l-ieee'.
21758         * modules/log10l-ieee: New file.
21760         Tests for module 'log10-ieee'.
21761         * modules/log10-ieee-tests: New file.
21762         * tests/test-log10-ieee.c: New file.
21764         New module 'log10-ieee'.
21765         * modules/log10-ieee: New file.
21767         Tests for module 'log10f-ieee'.
21768         * modules/log10f-ieee-tests: New file.
21769         * tests/test-log10f-ieee.c: New file.
21770         * tests/test-log10-ieee.h: New file.
21772         New module 'log10f-ieee'.
21773         * modules/log10f-ieee: New file.
21775 2012-04-01  Bruno Haible  <bruno@clisp.org>
21777         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
21778         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
21779         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
21780         workaround.
21781         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
21782         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
21783         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
21784         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
21785         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
21786         (Depends-on): Update conditions.
21787         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
21788         IRIX 6.5, OSF/1 5.1 problems.
21790 2012-04-01  Bruno Haible  <bruno@clisp.org>
21792         log10f: Work around OSF/1 5.1 bug.
21793         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
21794         * lib/log10f.c (log10f): If logf exists, use it and provide just the
21795         workaround.
21796         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
21797         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
21798         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
21799         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
21800         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
21801         (Depends-on): Update conditions.
21802         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
21804 2012-04-01  Bruno Haible  <bruno@clisp.org>
21806         log10: Work around OSF/1 5.1 bug.
21807         * lib/math.in.h (log10): New declaration.
21808         * lib/log10.c: New file.
21809         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
21810         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
21811         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
21812         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
21813         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
21814         * modules/log10 (Files): Add lib/log10.c.
21815         (Depends-on): Add math.
21816         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
21817         * tests/test-math-c++.cc: Check the declaration of log10.
21818         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
21820 2012-03-31  Bruno Haible  <bruno@clisp.org>
21822         log10l tests: More tests.
21823         * modules/log10l-tests (Files): Add tests/test-log10l.h,
21824         tests/minus-zero.h, tests/randoml.c.
21825         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
21826         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
21827         (main): Invoke test_function.
21829         log10f tests: More tests.
21830         * modules/log10f-tests (Files): Add tests/test-log10.h,
21831         tests/minus-zero.h, tests/randomf.c.
21832         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
21833         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
21834         (main): Invoke test_function.
21836         log10 tests: More tests.
21837         * tests/test-log10.h: New file.
21838         * modules/log10-tests (Files): Add tests/test-log10.h,
21839         tests/minus-zero.h, tests/randomd.c.
21840         (Makefile.am): Add randomd.c to test_log10_SOURCES.
21841         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
21842         (main): Invoke test_function.
21844 2012-03-31  Simon Josefsson  <simon@josefsson.org>
21846         fflush: Fix syntax error.
21847         * lib/fflush.c: Include unused-parameter.h, needed for
21848         _GL_UNUSED_PARAMETER.
21849         * modules/fflush (Depends-on): Add snippet/unused-parameter.
21851 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
21853         regex: pacify GCC when compiling GRUB
21854         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
21855         a diagnostic.  Reported by Vladimir Serbinenko in
21856         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
21858 2012-03-29  Eric Blake  <eblake@redhat.com>
21860         stdio: don't assume gets any more
21861         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
21862         support.
21863         * modules/stdio (Makefile.am): Likewise.
21864         * lib/stdio-read.c (gets): Likewise.
21865         * tests/test-stdio-c++.cc: Likewise.
21866         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
21867         * lib/stdio.in.h (gets): Make warning occur in more places.
21868         * doc/posix-functions/gets.texi (gets): Update documentation.
21869         Reported by Christer Solskogen.
21871         maint.mk: fix syntax checks without exclusions
21872         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
21873         Reported by Daniel P. Berrange.
21875         strerror_r: avoid compiler warning
21876         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
21877         level.
21879         fflush: avoid compiler warning
21880         * lib/fflush.c (update_fpos_cache): Mark variables that are
21881         potentially unused.
21883 2012-03-25  Bruno Haible  <bruno@clisp.org>
21885         Tests for module 'localeconv'.
21886         * modules/localeconv-tests: New file.
21887         * tests/test-localeconv.c: New file.
21889         New module 'localeconv'.
21890         * lib/locale.in.h (localeconv): New declaration.
21891         * lib/localeconv.c: New file.
21892         * m4/localeconv.m4: New file.
21893         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
21894         REPLACE_LOCALECONV.
21895         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
21896         REPLACE_LOCALECONV.
21897         * modules/localeconv: New file.
21898         * modules/nl_langinfo (Depends-on): Add localeconv.
21899         * modules/human (Depends-on): Likewise.
21900         * doc/posix-functions/localeconv.texi: Mention the new module.
21902 2012-03-25  Bruno Haible  <bruno@clisp.org>
21904         locale: Provide a complete 'struct lconv'.
21905         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
21906         'struct lconv' does not contain int_p_cs_precedes.
21907         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
21908         * doc/posix-headers/locale.texi: Update.
21910         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
21911         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
21912         * doc/posix-headers/locale.texi: Update.
21914         locale: Provide a working 'struct lconv'.
21915         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
21916         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
21917         'struct lconv' does not even contain decimal_point.
21918         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
21919         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
21920         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
21921         * doc/posix-headers/locale.texi: Mention the problems with
21922         'struct lconv'.
21923         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
21925 2012-03-24  Bruno Haible  <bruno@clisp.org>
21927         Enable common subexpression optimization in GCC.
21928         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
21929         macros.
21930         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
21931         GCC attribute 'const'.
21932         (uc_locale_language): Declare with GCC attribute 'pure'.
21933         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
21934         with GCC attribute 'const'.
21935         * lib/unictype.in.h (uc_is_general_category_withtable,
21936         uc_combining_class, uc_combining_class_name,
21937         uc_combining_class_long_name, uc_bidi_class_name,
21938         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
21939         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
21940         uc_decimal_value, uc_digit_value, uc_numeric_value,
21941         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
21942         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
21943         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
21944         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
21945         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
21946         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
21947         Declare with GCC attribute 'const'.
21948         (uc_general_category_name, uc_general_category_long_name,
21949         uc_general_category_byname, uc_general_category,
21950         uc_is_general_category, uc_combining_class_byname,
21951         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
21952         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
21953         Declare with GCC attribute 'pure'.
21954         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
21955         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
21956         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
21957         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
21958         with GCC attribute 'pure'.
21959         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
21960         'const'.
21961         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
21962         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
21963         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
21964         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
21965         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
21966         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
21967         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
21968         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
21969         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
21970         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
21971         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
21972         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
21973         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
21974         GCC attribute 'pure'.
21975         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
21976         'const'.
21977         * lib/uniwidth.in.h (uc_width): Simplify declaration.
21978         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
21979         u32_strwidth): Declare with GCC attribute 'pure'.
21981         Enable common subexpression optimization in GCC.
21982         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
21983         (alphasort): Declare with GCC attribute 'pure'.
21984         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
21985         (atoll): Declare with GCC attribute 'pure'.
21986         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
21987         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
21988         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
21989         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
21990         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
21991         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
21992         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
21994 2012-03-24  Bruno Haible  <bruno@clisp.org>
21996         gnulib-tool: Avoid unintended error output from 'cmp'.
21997         * gnulib-tool (func_add_file, func_update_file, func_import): Use
21998         "cmp -s", not "cmp > /dev/null".
22000 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
22002         gnulib-tool: fix imprecise comments w.r.t. an automake bug
22004         It's not just Automake versions < 1.9b that creates an empty
22005         pkgdatadir at installation time if pkgdata_DATA is specified
22006         to empty; modern automake versions do this as well, at least
22007         until automake 1.11.4 (not yet released at the moment of writing,
22008         but soon to appear).  That behaviour was generally considered a
22009         feature rather than a bug, at least until this discussion:
22010         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
22012         See also automake bugs #10997 and #11030.
22014         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
22015         reference to relevant automake bug numbers.
22016         (func_emit_tests_Makefile_am): Likewise.
22018 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
22020         announce-gen: use Digest::SHA when possible
22021         * build-aux/announce-gen: Use Digest::SHA when possible, falling
22022         back to Digest::SHA1 if necessary.
22024 2012-03-20  Jim Meyering  <meyering@redhat.com>
22026         tests: avoid gcc warnings about argv vs. const initializers
22027         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
22028         warnings about discarding 'const' qualifier from pointer target type.
22029         * tests/test-posix_spawn2.c (main): Likewise.
22031 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
22033         README-release: simplify slightly
22034         * top/README-release: Run "git checkout master" only once.
22036 2012-03-15  Mark Wielaard  <mark@klomp.org>
22038         git-merge-changelog: add specific example on how to use with hg.
22039         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
22041 2012-03-18  Mark Wielaard  <mark@klomp.org>
22043         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
22045 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
22047         git-version-gen: don't let "prefix" envvar cause trouble
22048         * build-aux/git-version-gen (prefix): Initialize properly,
22049         so as not to use a value specified via the environment.
22050         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
22052 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
22054         regex: diagnose too-large repeat counts in EREs
22055         Previously, the code did not diagnose the too-large repeat count
22056         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
22057         as if it were 'b\{1000000000}', which is unexpected.
22058         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
22059         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
22060         is a reasonable one for this problem.  Another option would be to
22061         create a new REG_OVERFLOW error for repeat counts that are too large.
22062         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
22063         count is too large, so that the caller can distinguish the two cases.
22064         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
22065         "Too large" return code, and that repeat counts are one example of this.
22067 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
22069         doc: some glibc x32 integer width issues
22070         * doc/posix-headers/sys_types.texi (sys/types.h):
22071         * doc/posix-headers/time.texi (time.h):
22072         Mention that glibc x32 does not conform to POSIX in a couple of
22073         areas related to integer widths.
22075 2012-03-15  Bruno Haible  <bruno@clisp.org>
22077         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
22078         * lib/fma.c (VOLATILE): New macro.
22079         (FUNC): Use it to work around a GCC compiler bug.
22081 2012-03-13  Bruno Haible  <bruno@clisp.org>
22083         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
22084         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
22085         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
22086         REPLACE_HYPOTL to 1.
22087         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
22089 2012-03-13  Bruno Haible  <bruno@clisp.org>
22091         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
22092         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
22093         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
22094         REPLACE_REMAINDERL to 1.
22095         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
22096         bug.
22098 2012-03-13  Bruno Haible  <bruno@clisp.org>
22100         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
22101         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
22102         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
22103         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
22104         too big rounding errors.
22105         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
22106         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
22107         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
22108         (Depends-on): Update conditions.
22109         * tests/test-sqrtl.c (my_ldexpl): New function.
22110         (main): Add test of a particular value.
22111         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
22113 2012-03-13  Pádraig Brady  <P@draigBrady.com>
22115         doc: Update timer_* platform portability notes.
22116         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
22117         that always return ENOSYS.
22118         * doc/posix-functions/timer_delete.texi: Likewise.
22119         * doc/posix-functions/timer_gettime.texi: Likewise.
22120         * doc/posix-functions/timer_settime.texi: Likewise.
22122 2012-03-13  Bruno Haible  <bruno@clisp.org>
22124         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
22125         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
22126         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
22127         REPLACE_CBRTL to 1.
22128         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
22130 2012-03-13  Bruno Haible  <bruno@clisp.org>
22132         remainderl: Avoid compilation error on AIX >= 5.2.
22133         * lib/math.in.h (remainderl): Undefine macro from the system header.
22135 2012-03-13  Bruno Haible  <bruno@clisp.org>
22137         Avoid compilation errors with MSVC option -fp:strict.
22138         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
22139         * lib/cbrtf.c: Likewise.
22140         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
22142 2012-03-12  Bruno Haible  <bruno@clisp.org>
22144         uninorm: Don't crash in out-of-memory conditions.
22145         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
22146         gracefully.
22147         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
22148         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
22150 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
22152         quote: fix syntax-check
22153         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
22154         also exports quote_quoting_options.
22156 2012-03-12  Simon Josefsson  <simon@josefsson.org>
22158         Collapse list of copyright years to ranges.  See
22159         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
22160         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
22161         build-aux/csharpexec.sh.in, build-aux/gnupload,
22162         build-aux/install-reloc, build-aux/javacomp.sh.in,
22163         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
22164         build-aux/move-if-change, build-aux/reloc-ldflags,
22165         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
22167 2012-03-11  Bruno Haible  <bruno@clisp.org>
22169         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
22170         * m4/log2f-ieee.m4: New file.
22171         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
22172         whether log2f works with a minus zero argument. Replace it if not.
22173         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
22174         (Depends-on): Add log2-ieee.
22175         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
22176         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
22178         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
22179         * m4/log2-ieee.m4: New file.
22180         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
22181         whether log2 works with a minus zero argument. Replace it if not.
22182         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
22183         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
22184         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
22186         Tests for module 'log2l-ieee'.
22187         * modules/log2l-ieee-tests: New file.
22188         * tests/test-log2l-ieee.c: New file.
22190         New module 'log2l-ieee'.
22191         * modules/log2l-ieee: New file.
22193         Tests for module 'log2-ieee'.
22194         * modules/log2-ieee-tests: New file.
22195         * tests/test-log2-ieee.c: New file.
22197         New module 'log2-ieee'.
22198         * modules/log2-ieee: New file.
22200         Tests for module 'log2f-ieee'.
22201         * modules/log2f-ieee-tests: New file.
22202         * tests/test-log2f-ieee.c: New file.
22203         * tests/test-log2-ieee.h: New file.
22205         New module 'log2f-ieee'.
22206         * modules/log2f-ieee: New file.
22208 2012-03-11  Bruno Haible  <bruno@clisp.org>
22210         Tests for module 'log2l'.
22211         * modules/log2l-tests: New file.
22212         * tests/test-log2l.c: New file.
22214         New module 'log2l'.
22215         * lib/math.in.h (log2l): New declaration.
22216         * lib/log2l.c: New file.
22217         * m4/log2l.m4: New file.
22218         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
22219         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
22220         REPLACE_LOG2L.
22221         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
22222         REPLACE_LOG2L.
22223         * modules/log2l: New file.
22224         * tests/test-math-c++.cc: Check the declaration of log2l.
22225         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
22226         and OSF/1 problems.
22228 2012-03-11  Bruno Haible  <bruno@clisp.org>
22230         Tests for module 'log2f'.
22231         * modules/log2f-tests: New file.
22232         * tests/test-log2f.c: New file.
22234         New module 'log2f'.
22235         * lib/math.in.h (log2f): New declaration.
22236         * lib/log2f.c: New file.
22237         * m4/log2f.m4: New file.
22238         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
22239         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
22240         REPLACE_LOG2F.
22241         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
22242         REPLACE_LOG2F.
22243         * modules/log2f: New file.
22244         * tests/test-math-c++.cc: Check the declaration of log2f.
22245         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
22246         and OSF/1 and Cygwin problems.
22248 2012-03-11  Bruno Haible  <bruno@clisp.org>
22250         Tests for module 'log2'.
22251         * modules/log2-tests: New file.
22252         * tests/test-log2.c: New file.
22253         * tests/test-log2.h: New file.
22255         New module 'log2'.
22256         * lib/math.in.h (log2): New declaration.
22257         * lib/log2.c: New file.
22258         * m4/log2.m4: New file.
22259         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
22260         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
22261         REPLACE_LOG2.
22262         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
22263         REPLACE_LOG2.
22264         * modules/log2: New file.
22265         * tests/test-math-c++.cc: Check the declaration of log2.
22266         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
22267         and OSF/1 and Cygwin problems.
22269 2012-03-11  Bruno Haible  <bruno@clisp.org>
22271         exp2* tests: More tests.
22272         * tests/test-exp2.h (test_function): Test all integral arguments that
22273         don't need to overflow or denormalized numbers.
22274         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
22275         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
22276         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
22278 2012-03-10  Bruno Haible  <bruno@clisp.org>
22280         log1pl-ieee: Work around test failure on AIX 7.1.
22281         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
22283         log1pl-ieee: Work around test failure on IRIX 6.5.
22284         * m4/log1pl-ieee.m4: New file.
22285         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
22286         test whether log1pl works with a minus zero argument. Replace it if
22287         not.
22288         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
22289         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
22290         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
22291         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
22292         (Depends-on): Update conditions.
22293         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
22294         m4/signbit.m4.
22295         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
22296         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
22298         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
22299         * m4/log1pf-ieee.m4: New file.
22300         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
22301         test whether log1pf works with a minus zero argument. Replace it if
22302         not.
22303         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
22304         m4/signbit.m4.
22305         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
22306         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
22308         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
22309         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
22310         (configure.ac): Require gl_FUNC_LOG1PF.
22312         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
22313         * m4/log1p-ieee.m4: New file.
22314         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
22315         whether log1p works with a minus zero argument. Replace it if not.
22316         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
22317         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
22318         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
22319         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
22320         (Depends-on): Update conditions.
22321         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
22322         m4/signbit.m4.
22323         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
22324         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
22326         Tests for module 'log1pl-ieee'.
22327         * modules/log1pl-ieee-tests: New file.
22328         * tests/test-log1pl-ieee.c: New file.
22330         New module 'log1pl-ieee'.
22331         * modules/log1pl-ieee: New file.
22333         Tests for module 'log1p-ieee'.
22334         * modules/log1p-ieee-tests: New file.
22335         * tests/test-log1p-ieee.c: New file.
22337         New module 'log1p-ieee'.
22338         * modules/log1p-ieee: New file.
22340         Tests for module 'log1pf-ieee'.
22341         * modules/log1pf-ieee-tests: New file.
22342         * tests/test-log1pf-ieee.c: New file.
22343         * tests/test-log1p-ieee.h: New file.
22345         New module 'log1pf-ieee'.
22346         * modules/log1pf-ieee: New file.
22348 2012-03-10  Bruno Haible  <bruno@clisp.org>
22350         Tests for module 'log1pl'.
22351         * modules/log1pl-tests: New file.
22352         * tests/test-log1pl.c: New file.
22354         New module 'log1pl'.
22355         * lib/math.in.h (log1pl): New declaration.
22356         * lib/log1pl.c: New file.
22357         * m4/log1pl.m4: New file.
22358         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
22359         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
22360         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
22361         * modules/log1pl: New file.
22362         * tests/test-math-c++.cc: Check the declaration of log1pl.
22363         * doc/posix-functions/log1pl.texi: Mention the new module.
22365 2012-03-10  Bruno Haible  <bruno@clisp.org>
22367         Tests for module 'log1pf'.
22368         * modules/log1pf-tests: New file.
22369         * tests/test-log1pf.c: New file.
22371         New module 'log1pf'.
22372         * lib/math.in.h (log1pf): New declaration.
22373         * lib/log1pf.c: New file.
22374         * m4/log1pf.m4: New file.
22375         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
22376         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
22377         REPLACE_LOG1PF.
22378         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
22379         REPLACE_LOG1PF.
22380         * modules/log1pf: New file.
22381         * tests/test-math-c++.cc: Check the declaration of log1pf.
22382         * doc/posix-functions/log1pf.texi: Mention the new module.
22384 2012-03-10  Bruno Haible  <bruno@clisp.org>
22386         log1p tests: More tests.
22387         * tests/test-log1p.h: New file.
22388         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
22389         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
22390         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
22391         (main): Invoke test_function.
22393         log1p: Provide replacement for Minix and MSVC.
22394         * lib/math.in.h (log1p): New declaration.
22395         * lib/log1p.c: New file.
22396         * m4/log1p.m4: New file.
22397         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
22398         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
22399         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
22400         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
22401         (Depends-on): Add math, isnand, log, round.
22402         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
22403         HAVE_LOG1P is 0.
22404         * tests/test-math-c++.cc: Check the declaration of log1p.
22405         * doc/posix-functions/log1p.texi: Mention the replacement.
22407 2012-03-10  Bruno Haible  <bruno@clisp.org>
22409         math tests: Small simplification.
22410         * tests/test-exp.h (test_function): Use the same err_bound for
22411         'double' on platforms with sizeof (long double) == sizeof (double)
22412         than on platforms with sizeof (long double) > sizeof (double).
22413         * tests/test-exp2.h (test_function): Likewise.
22414         * tests/test-expm1.h (test_function): Likewise.
22415         * tests/test-log.h (test_function): Likewise.
22417 2012-03-10  Bruno Haible  <bruno@clisp.org>
22419         Fix some comments.
22420         * lib/expl.c: Fix an ambiguous comment.
22421         * lib/expm1.c: Likewise.
22422         * lib/expm1l.c: Likewise.
22423         * lib/exp2.c: Likewise.
22424         * lib/exp2l.c: Likewise.
22426 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
22428         regex: allow inclusion of <regex.h> before <limits.h>
22429         Without this patch, portable programs had to include <limits.h> before
22430         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
22431         I ran into this problem with a test version of GNU grep on Solaris 8.
22432         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
22433         This is done conditionally so that this change can be merged
22434         back to glibc.
22435         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
22436         using the included regex.
22438         fts: depend on fdopendir
22439         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
22440         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
22441         problem was introduced when fdopendir was split out.
22443 2012-03-10  Bruno Haible  <bruno@clisp.org>
22445         Remove unused variables.
22446         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
22447         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
22449 2012-03-10  Bruno Haible  <bruno@clisp.org>
22451         isnanf-nolibm: Fix last commit.
22452         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
22454         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
22455         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
22457 2012-03-10  Bruno Haible  <bruno@clisp.org>
22459         logf-ieee: Work around test failure on NetBSD 5.1.
22460         * m4/logf-ieee.m4: New file.
22461         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
22462         whether logf works with a negative argument. Replace it if not.
22463         * lib/logf.c (logf): For negative arguments, return NaN.
22464         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
22465         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
22466         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
22468         logf-ieee: Work around test failure on Solaris 9.
22469         * modules/logf-ieee (Depends-on): Add log-ieee.
22470         (configure.ac): Require gl_FUNC_LOGF.
22472         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
22473         * m4/log-ieee.m4: New file.
22474         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
22475         log works with a negative argument. Replace it if not.
22476         * lib/log.c (log): For negative arguments, return NaN.
22477         * modules/log-ieee (Files): Add m4/log-ieee.m4.
22478         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
22479         * doc/posix-functions/log.texi: Mention the log-ieee module.
22481         Tests for module 'logl-ieee'.
22482         * modules/logl-ieee-tests: New file.
22483         * tests/test-logl-ieee.c: New file.
22485         New module 'logl-ieee'.
22486         * modules/logl-ieee: New file.
22488         Tests for module 'log-ieee'.
22489         * modules/log-ieee-tests: New file.
22490         * tests/test-log-ieee.c: New file.
22492         New module 'log-ieee'.
22493         * modules/log-ieee: New file.
22495         Tests for module 'logf-ieee'.
22496         * modules/logf-ieee-tests: New file.
22497         * tests/test-logf-ieee.c: New file.
22498         * tests/test-log-ieee.h: New file.
22500         New module 'logf-ieee'.
22501         * modules/logf-ieee: New file.
22503 2012-03-10  Bruno Haible  <bruno@clisp.org>
22505         log: Fix bug introduced on 2012-03-09.
22506         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
22508 2012-03-10  Pádraig Brady  <P@draigBrady.com>
22510         timer-time: link explicitly with pthreads on glibc
22511         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
22512         to support static linking, when newer glibc is
22513         detected, as that contains pthread emulation of
22514         POSIX timer functions where required.
22515         * modules/timer-time: Depend on threadlib to
22516         pull in the appropriate library to link.
22518 2012-03-10  Bruno Haible  <bruno@clisp.org>
22520         log* tests: More tests.
22521         * tests/test-log.h: New file.
22522         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
22523         (main): Invoke test_function.
22524         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
22525         (main): Invoke test_function.
22526         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
22527         (main): Invoke test_function.
22528         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
22529         tests/randomd.c.
22530         (Makefile.am): Add randomd.c to test_log_SOURCES.
22531         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
22532         tests/randomf.c.
22533         (Makefile.am): Add randomf.c to test_logf_SOURCES.
22534         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
22535         tests/randoml.c.
22536         (Depends-on): Add 'float'.
22537         (Makefile.am): Add randoml.c to test_logl_SOURCES.
22539 2012-03-09  Bruno Haible  <bruno@clisp.org>
22541         logl: Work around OSF/1 5.1 bug.
22542         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
22543         * lib/logl.c (logl): If logl exists, use it and provide just the
22544         workaround.
22545         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
22546         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
22547         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
22548         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
22549         * modules/logl (configure.ac): Consider REPLACE_LOGL.
22550         (Depends-on): Update conditions.
22551         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
22553 2012-03-09  Bruno Haible  <bruno@clisp.org>
22555         logf: Work around OSF/1 5.1 bug.
22556         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
22557         * lib/logf.c (logf): If logf exists, use it and provide just the
22558         workaround.
22559         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
22560         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
22561         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
22562         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
22563         * modules/logf (configure.ac): Consider REPLACE_LOGF.
22564         (Depends-on): Update conditions.
22565         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
22567 2012-03-09  Bruno Haible  <bruno@clisp.org>
22569         log: Work around OSF/1 5.1 bug.
22570         * lib/math.in.h (log): New declaration.
22571         * lib/log.c: New file.
22572         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
22573         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
22574         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
22575         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
22576         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
22577         * modules/log (Files): Add lib/log.c.
22578         (Depends-on): Add math.
22579         (configure.ac): If REPLACE_LOG is 1, compile an override.
22580         * tests/test-math-c++.cc: Check the declaration of log.
22581         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
22583 2012-03-09  Jim Meyering  <meyering@redhat.com>
22585         readtokens.c: adjust wording in a comment
22586         * lib/readtokens.c: Insert omitted "that" in a comment.
22588 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
22590         modechange: add notations +40, 00440, etc.
22591         * lib/modechange.c (mode_compile): Support new notations
22592         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
22594 2012-03-08  Bruno Haible  <bruno@clisp.org>
22596         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
22597         * m4/exp2l-ieee.m4: New file.
22598         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
22599         test whether exp2l works with a NaN argument and with a negative
22600         infinity argument. Replace it if not.
22601         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
22602         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
22603         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
22604         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
22605         (Depends-on): Update conditions.
22606         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
22607         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
22608         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
22610         Tests for module 'exp2l-ieee'.
22611         * modules/exp2l-ieee-tests: New file.
22612         * tests/test-exp2l-ieee.c: New file.
22614         New module 'exp2l-ieee'.
22615         * modules/exp2l-ieee: New file.
22617         Tests for module 'exp2-ieee'.
22618         * modules/exp2-ieee-tests: New file.
22619         * tests/test-exp2-ieee.c: New file.
22621         New module 'exp2-ieee'.
22622         * modules/exp2-ieee: New file.
22624         Tests for module 'exp2f-ieee'.
22625         * modules/exp2f-ieee-tests: New file.
22626         * tests/test-exp2f-ieee.c: New file.
22627         * tests/test-exp2-ieee.h: New file.
22629         New module 'exp2f-ieee'.
22630         * modules/exp2f-ieee: New file.
22632 2012-03-08  Bruno Haible  <bruno@clisp.org>
22634         Tests for module 'exp2l'.
22635         * modules/exp2l-tests: New file.
22636         * tests/test-exp2l.c: New file.
22638         New module 'exp2l'.
22639         * lib/math.in.h (exp2l): New declaration.
22640         * lib/exp2l.c: New file.
22641         * lib/expl-table.c: New file, extracted from lib/expl.c.
22642         * lib/expl.c (gl_expl_table): New declaration.
22643         (expl): Remove expl_table. Update reference.
22644         * m4/exp2l.m4: New file.
22645         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
22646         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
22647         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
22648         * modules/exp2l: New file.
22649         * modules/expl (Files): Add lib/expl-table.c.
22650         (configure.ac): Compile also expl-table.c.
22651         * tests/test-math-c++.cc: Check the declaration of exp2l.
22652         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
22653         problem.
22655 2012-03-08  Bruno Haible  <bruno@clisp.org>
22657         Tests for module 'exp2f'.
22658         * modules/exp2f-tests: New file.
22659         * tests/test-exp2f.c: New file.
22661         New module 'exp2f'.
22662         * lib/math.in.h (exp2f): New declaration.
22663         * lib/exp2f.c: New file.
22664         * m4/exp2f.m4: New file.
22665         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
22666         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
22667         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
22668         * modules/exp2f: New file.
22669         * tests/test-math-c++.cc: Check the declaration of exp2f.
22670         * doc/posix-functions/exp2f.texi: Mention the new module and the
22671         IRIX problem.
22673 2012-03-08  Bruno Haible  <bruno@clisp.org>
22675         Tests for module 'exp2'.
22676         * modules/exp2-tests: New file.
22677         * tests/test-exp2.c: New file.
22678         * tests/test-exp2.h: New file.
22680         New module 'exp2'.
22681         * lib/math.in.h (exp2): New declaration.
22682         * lib/exp2.c: New file.
22683         * m4/exp2.m4: New file.
22684         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
22685         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
22686         REPLACE_EXP2.
22687         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
22688         REPLACE_EXP2.
22689         * modules/exp2: New file.
22690         * tests/test-math-c++.cc: Check the declaration of exp2.
22691         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
22692         and OpenBSD problems.
22694 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
22696         savedir: fix comment typo
22697         * lib/savedir.c (savedirstream): Fix typo in comment.
22699 2012-03-08  Bruno Haible  <bruno@clisp.org>
22701         test-readtokens.c: use const; remove unwarranted cast
22702         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
22704 2012-03-08  Bruno Haible  <bruno@clisp.org>
22706         fmal: Avoid compilation error on AIX.
22707         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
22708         AIX 5.2..7.1.
22710 2012-03-08  Bruno Haible  <bruno@clisp.org>
22712         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
22713         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
22714         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
22715         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
22716         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
22717         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
22718         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
22720 2012-03-08  Bruno Haible  <bruno@clisp.org>
22722         remainderf: Override buggy system function on IRIX 6.5.
22723         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
22724         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
22725         when it exists.
22726         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
22728 2012-03-08  Jim Meyering  <meyering@redhat.com>
22730         test-readtokens.c: avoid const-related compilation warnings
22731         * tests/test-readtokens.c: Avoid const-related compilation warnings.
22733 2012-03-07  Jim Meyering  <meyering@redhat.com>
22734             Bruno Haible  <bruno@clisp.org>
22736         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
22737         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
22738         tests/randomd.c.
22739         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
22740         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
22741         tests/randoml.c.
22742         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
22744 2012-03-07  Bruno Haible  <bruno@clisp.org>
22746         expm1l: Avoid compilation error on AIX.
22747         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
22748         AIX 5.2..7.1.
22750 2012-03-07  Bruno Haible  <bruno@clisp.org>
22752         expm1l: Don't override undeclared system function on IRIX 6.5.
22753         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
22754         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
22755         it exists. Set HAVE_DECL_EXPM1L.
22756         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
22757         HAVE_EXPM1L.
22758         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
22759         HAVE_EXPM1L.
22760         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
22762 2012-03-07  Bruno Haible  <bruno@clisp.org>
22764         remainderl: Don't override undeclared system function on IRIX 6.5.
22765         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
22766         HAVE_REMAINDERL.
22767         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
22768         declared when it exists. Set HAVE_DECL_REMAINDERL.
22769         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
22770         not HAVE_REMAINDERL.
22771         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
22772         HAVE_REMAINDERL.
22773         * doc/posix-functions/remainderl.texi: Mention missing declaration
22774         problem.
22776 2012-03-07  Bruno Haible  <bruno@clisp.org>
22778         rintf: Don't override undeclared system function on IRIX 6.5.
22779         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
22780         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
22781         exists. Set HAVE_DECL_RINTF.
22782         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
22783         HAVE_RINTF.
22784         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
22785         HAVE_RINTF.
22786         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
22788 2012-03-07  Bruno Haible  <bruno@clisp.org>
22790         roundl: Avoid compilation error on AIX.
22791         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
22792         AIX 5.2..7.1.
22794 2012-03-07  Bruno Haible  <bruno@clisp.org>
22796         roundl: Don't override undeclared system function on IRIX 6.5.
22797         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
22798         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
22799         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
22800         * modules/roundl (configure.ac): For replacement code, test
22801         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
22802         (Depends-on): Update conditions.
22803         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
22805 2012-03-07  Bruno Haible  <bruno@clisp.org>
22807         roundf: Don't override undeclared system function on IRIX 6.5.
22808         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
22809         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
22810         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
22811         * modules/roundf (configure.ac): For replacement code, test
22812         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
22813         (Depends-on): Update conditions.
22814         * modules/roundf-ieee (Depends-on): Update conditions.
22815         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
22817 2012-03-07  Bruno Haible  <bruno@clisp.org>
22819         round: Don't override undeclared system function on IRIX 6.5.
22820         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
22821         argument.
22822         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
22823         also when it is not declared. Set HAVE_ROUND. For replacement code,
22824         test HAVE_ROUND, not HAVE_DECL_ROUND.
22825         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
22826         not HAVE_DECL_ROUND.
22827         (Depends-on): Update conditions.
22828         * modules/round-ieee (Depends-on): Update conditions.
22829         * doc/posix-functions/round.texi: Mention the IRIX problem.
22831 2012-03-07  Bruno Haible  <bruno@clisp.org>
22833         copysignf: Don't override undeclared system function on IRIX 6.5.
22834         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
22835         HAVE_COPYSIGNF.
22836         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
22837         declared when it exists. Set HAVE_DECL_COPYSIGNF.
22838         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
22839         not HAVE_COPYSIGNF.
22840         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
22841         HAVE_COPYSIGNF.
22842         * doc/posix-functions/copysignf.texi: Mention missing declaration
22843         problem.
22845 2012-03-07  Jim Meyering  <meyering@redhat.com>
22847         readtokens: add tests
22848         * modules/readtokens-tests: New file.
22849         * tests/test-readtokens.c: New file.
22851 2012-03-07  Jim Meyering  <meyering@redhat.com>
22853         quotearg: the module must now include quote.h
22854         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
22855         So must the module.
22856         * modules/quotearg (Files): Add quote.h.
22858 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
22860         readtokens: avoid core dumps with unusual calling patterns
22861         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
22862         * lib/readtokens.c: Include limits.h.
22863         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
22864         (readtoken): Don't cache the delimiters; the cache code was buggy
22865         if !delim && saved_delim, or if the new n_delim differs from the old.
22866         Also, it wasn't thread-safe.
22868 2012-03-07  Bruno Haible  <bruno@clisp.org>
22870         quote: Adhere to common module description layout.
22871         * modules/quote (Makefile.am): Add back empty section.
22873 2012-03-06  Akim Demaille  <demaille@gostai.com>
22875         quote: fuse into quotearg
22876         This patch is made for the benefit of Bison.
22877         quote does not leave the choice of the quoting style to the user.
22878         quoting_style provides poor customizability, yet quoting_options,
22879         which is very rich, is hidden inside quotearg.c.  So in order to
22880         allow quote customization, move its implementation to quotearg.c.
22881         * lib/quote.c: Remove.
22882         * modules/quote: Adjust.
22883         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
22884         warning: provide all the members of literal structs.
22885         (quote_quoting_options): New.
22886         (quote, quote_n): Import implementation from quote.c.
22887         * lib/quote.h: Import the comments from quote.c.
22888         (quote_quoting_options): New.
22890 2012-03-06  Bruno Haible  <bruno@clisp.org>
22892         Tests for module 'expm1l-ieee'.
22893         * modules/expm1l-ieee-tests: New file.
22894         * tests/test-expm1l-ieee.c: New file.
22896         New module 'expm1l-ieee'.
22897         * modules/expm1l-ieee: New file.
22899         Tests for module 'expm1f-ieee'.
22900         * modules/expm1f-ieee-tests: New file.
22901         * tests/test-expm1f-ieee.c: New file.
22903         New module 'expm1f-ieee'.
22904         * modules/expm1f-ieee: New file.
22906         Tests for module 'expm1-ieee'.
22907         * modules/expm1-ieee-tests: New file.
22908         * tests/test-expm1-ieee.c: New file.
22909         * tests/test-expm1-ieee.h: New file.
22911         New module 'expm1-ieee'.
22912         * modules/expm1-ieee: New file.
22913         * m4/expm1-ieee.m4: New file.
22914         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
22915         whether expm1 works with a minus zero argument. Replace it if not.
22916         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
22917         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
22918         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
22919         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
22920         (Depends-on): Update conditions.
22921         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
22922         AIX problem.
22924 2012-03-06  Bruno Haible  <bruno@clisp.org>
22926         Work around expm1f bug on IRIX 6.5.
22927         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
22928         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
22929         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
22930         not work.
22931         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
22932         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
22933         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
22934         (Depends-on): Update conditions.
22935         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
22937 2012-03-06  Bruno Haible  <bruno@clisp.org>
22939         Tests for module 'expm1l'.
22940         * modules/expm1l-tests: New file.
22941         * tests/test-expm1l.c: New file.
22943         New module 'expm1l'.
22944         * lib/math.in.h (expm1l): New declaration.
22945         * lib/expm1l.c: New file.
22946         * m4/expm1l.m4: New file.
22947         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
22948         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
22949         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
22950         * modules/expm1l: New file.
22951         * tests/test-math-c++.cc: Check the declaration of expm1l.
22952         * doc/posix-functions/expm1l.texi: Mention the new module.
22954 2012-03-06  Bruno Haible  <bruno@clisp.org>
22956         Tests for module 'expm1f'.
22957         * modules/expm1f-tests: New file.
22958         * tests/test-expm1f.c: New file.
22960         New module 'expm1f'.
22961         * lib/math.in.h (expm1f): New declaration.
22962         * lib/expm1f.c: New file.
22963         * m4/expm1f.m4: New file.
22964         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
22965         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
22966         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
22967         * modules/expm1f: New file.
22968         * tests/test-math-c++.cc: Check the declaration of expm1f.
22969         * doc/posix-functions/expm1f.texi: Mention the new module.
22971 2012-03-06  Bruno Haible  <bruno@clisp.org>
22973         Tests for module 'expm1'.
22974         * modules/expm1-tests: New file.
22975         * tests/test-expm1.c: New file.
22976         * tests/test-expm1.h: New file.
22978         New module 'expm1'.
22979         * lib/math.in.h (expm1): New declaration.
22980         * lib/expm1.c: New file.
22981         * m4/expm1.m4: New file.
22982         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
22983         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
22984         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
22985         * modules/expm1: New file.
22986         * tests/test-math-c++.cc: Check the declaration of expm1.
22987         * doc/posix-functions/expm1.texi: Mention the new module.
22989 2012-03-06  Bruno Haible  <bruno@clisp.org>
22991         math: Ensure declarations of math functions.
22992         * modules/acosf (Depends-on): Add 'extensions'.
22993         * modules/asinf (Depends-on): Likewise.
22994         * modules/atan2f (Depends-on): Likewise.
22995         * modules/atanf (Depends-on): Likewise.
22996         * modules/cbrt (Depends-on): Likewise.
22997         * modules/cbrtf (Depends-on): Likewise.
22998         * modules/cbrtl (Depends-on): Likewise.
22999         * modules/copysignf (Depends-on): Likewise.
23000         * modules/copysignl (Depends-on): Likewise.
23001         * modules/cosf (Depends-on): Likewise.
23002         * modules/coshf (Depends-on): Likewise.
23003         * modules/expf (Depends-on): Likewise.
23004         * modules/fabsf (Depends-on): Likewise.
23005         * modules/fabsl (Depends-on): Likewise.
23006         * modules/fmaf (Depends-on): Likewise.
23007         * modules/fmal (Depends-on): Likewise.
23008         * modules/fmodf (Depends-on): Likewise.
23009         * modules/fmodl (Depends-on): Likewise.
23010         * modules/frexpf (Depends-on): Likewise.
23011         * modules/frexpl (Depends-on): Likewise.
23012         * modules/hypot (Depends-on): Likewise.
23013         * modules/hypotf (Depends-on): Likewise.
23014         * modules/hypotl (Depends-on): Likewise.
23015         * modules/ldexpf (Depends-on): Likewise.
23016         * modules/ldexpl (Depends-on): Likewise.
23017         * modules/log10f (Depends-on): Likewise.
23018         * modules/log10l (Depends-on): Likewise.
23019         * modules/log1p (Depends-on): Likewise.
23020         * modules/logb (Depends-on): Likewise.
23021         * modules/logf (Depends-on): Likewise.
23022         * modules/modff (Depends-on): Likewise.
23023         * modules/modfl (Depends-on): Likewise.
23024         * modules/powf (Depends-on): Likewise.
23025         * modules/remainderf (Depends-on): Likewise.
23026         * modules/remainderl (Depends-on): Likewise.
23027         * modules/rintf (Depends-on): Likewise.
23028         * modules/rintl (Depends-on): Likewise.
23029         * modules/sinf (Depends-on): Likewise.
23030         * modules/sinhf (Depends-on): Likewise.
23031         * modules/sqrtf (Depends-on): Likewise.
23032         * modules/tanf (Depends-on): Likewise.
23033         * modules/tanhf (Depends-on): Likewise.
23034         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
23035         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
23036         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
23037         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
23038         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
23039         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
23040         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
23041         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
23042         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
23043         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
23044         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
23045         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
23046         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
23047         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
23048         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
23049         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
23050         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
23051         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
23052         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
23053         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
23054         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
23055         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
23056         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
23057         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
23058         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
23059         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
23060         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
23061         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
23062         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
23063         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
23064         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
23065         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
23066         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
23067         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
23068         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
23069         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
23070         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
23071         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
23072         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
23073         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
23074         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
23076 2012-03-06  Bruno Haible  <bruno@clisp.org>
23078         math: Update module names in warnings.
23079         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
23080         tanl): Use specific module name in warn-on-use warning.
23082 2012-03-06  Bruno Haible  <bruno@clisp.org>
23084         expl: Simplify computation.
23085         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
23087 2012-03-05  Bruno Haible  <bruno@clisp.org>
23089         exp* tests: More tests.
23090         * tests/test-exp.h: New file.
23091         * tests/test-exp.c: Include <float.h> and test-exp.h.
23092         (main): Invoke test_function.
23093         * tests/test-expf.c: Include <float.h> and test-exp.h.
23094         (main): Invoke test_function.
23095         * tests/test-expl.c: Include <float.h> and test-exp.h.
23096         (main): Invoke test_function.
23097         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
23098         (Makefile.am): Add randomd.c to test_exp_SOURCES.
23099         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
23100         (Makefile.am): Add randomf.c to test_expf_SOURCES.
23101         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
23102         (Depends-on): Add 'float'.
23103         (Makefile.am): Add randoml.c to test_expl_SOURCES.
23105         expl: Fix precision of computed result.
23106         * lib/expl.c: Completely rewritten.
23107         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
23108         (Maintainer): Add me.
23109         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
23111 2012-03-05  Bruno Haible  <bruno@clisp.org>
23113         cbrt* tests: More tests.
23114         * tests/test-cbrt.h: New file.
23115         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
23116         (main): Invoke test_function.
23117         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
23118         (main): Invoke test_function.
23119         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
23120         (main): Invoke test_function.
23121         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
23122         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
23123         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
23124         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
23125         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
23126         (Depends-on): Add 'float'.
23127         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
23129 2012-03-05  Bruno Haible  <bruno@clisp.org>
23131         hypot* tests: More tests.
23132         * tests/test-hypot.h: New file, partially extracted from
23133         tests/test-hypotl.c.
23134         * tests/test-hypot.c: Include test-hypot.h.
23135         (main): Invoke test_function.
23136         * tests/test-hypotf.c: Include test-hypot.h.
23137         (main): Invoke test_function.
23138         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
23139         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
23140         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
23141         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
23142         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
23143         tests/randomf.c.
23144         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
23145         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
23146         tests/randoml.c.
23147         (Depends-on): Add 'fpucw', 'float'.
23148         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
23150 2012-03-05  Bruno Haible  <bruno@clisp.org>
23152         fpucw: Doc about FreeBSD.
23153         * lib/fpucw.h: Mention FreeBSD in comments.
23155 2012-03-04  Bruno Haible  <bruno@clisp.org>
23157         sqrt* tests: More tests.
23158         * tests/test-sqrt.h: New file.
23159         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
23160         (main): Invoke test_function.
23161         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
23162         (main): Invoke test_function.
23163         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
23164         (main): Invoke test_function.
23165         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
23166         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
23167         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
23168         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
23169         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
23170         (Depends-on): Add 'float'.
23171         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
23173 2012-03-04  Bruno Haible  <bruno@clisp.org>
23175         remainder* tests: More tests.
23176         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
23177         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
23178         (main): Invoke test_function.
23179         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
23180         (main): Invoke test_function.
23181         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
23182         (main): Invoke test_function.
23183         * modules/remainder-tests (Files): Add tests/test-remainder.h,
23184         tests/randomd.c.
23185         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
23186         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
23187         tests/randomf.c.
23188         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
23189         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
23190         tests/randoml.c.
23191         (Depends-on): Add 'float'.
23192         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
23194 2012-03-04  Bruno Haible  <bruno@clisp.org>
23196         remainder, remainderf, remainderl: Fix computation for large quotients.
23197         * lib/remainder.c: Completely rewritten.
23198         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
23199         USE_FLOAT.
23200         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
23201         USE_LONG_DOUBLE.
23202         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
23203         isnand, isinf. Remove round, fma.
23204         * modules/remainderf (Files): Add lib/remainder.c.
23205         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
23206         Remove roundf, fmaf.
23207         * modules/remainderl (Files): Add lib/remainder.c.
23208         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
23209         isinf. Remove roundl, fmal.
23210         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
23211         REMAINDER_LIBM.
23212         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
23213         REMAINDERF_LIBM.
23214         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
23215         REMAINDERL_LIBM.
23217 2012-03-04  Bruno Haible  <bruno@clisp.org>
23219         fmod* tests: More tests.
23220         * tests/test-fmod.h (my_ldexp): New function.
23221         (test_function): Reduce amount of random numbers to test. Add tests
23222         of very large quotients x / y.
23223         * tests/test-fmod.c (MAX_EXP): New macro.
23224         * tests/test-fmodf.c (MAX_EXP): Likewise.
23225         * tests/test-fmodl.c (MAX_EXP): Likewise.
23227 2012-03-04  Bruno Haible  <bruno@clisp.org>
23229         fmod, fmodl: Fix computation for large quotients x / y.
23230         * lib/fmod.c: Completely rewritten.
23231         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
23232         USE_LONG_DOUBLE.
23233         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
23234         isnand. Remove fma.
23235         * modules/fmodl (Files): Add lib/fmod.c.
23236         (Depends-on): Add float, isfinite, signbit, fabsl,
23237         frexpl, ldexpl, isnanl. Remove fma.
23238         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
23239         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
23241 2012-03-03  Bruno Haible  <bruno@clisp.org>
23243         fmod* tests: More tests.
23244         * tests/test-fmod.h: New file.
23245         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
23246         (main): Invoke test_function.
23247         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
23248         (main): Invoke test_function.
23249         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
23250         (main): Invoke test_function.
23251         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
23252         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
23253         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
23254         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
23255         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
23256         (Depends-on): Add 'float'.
23257         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
23259 2012-03-03  Bruno Haible  <bruno@clisp.org>
23261         rint* tests: More tests.
23262         * tests/test-rint.h: New file, partially extracted from
23263         tests/test-rintl.c.
23264         * tests/test-rint.c: Include test-rint.h.
23265         (main): Invoke test_function.
23266         * tests/test-rintf.c: Include test-rint.h.
23267         (main): Invoke test_function.
23268         * tests/test-rintl.c: Include test-rint.h.
23269         (main): Invoke test_function.
23270         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
23271         (Makefile.am): Add randomd.c to test_rint_SOURCES.
23272         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
23273         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
23274         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
23275         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
23277 2012-03-03  Bruno Haible  <bruno@clisp.org>
23279         modf* tests: More tests.
23280         * tests/test-modf.h: New file.
23281         * tests/test-modf.c: Include <float.h> and test-modf.h.
23282         (main): Invoke test_function.
23283         * tests/test-modff.c: Include <float.h> and test-modf.h.
23284         (main): Invoke test_function.
23285         * tests/test-modfl.c: Include <float.h> and test-modf.h.
23286         (main): Invoke test_function.
23287         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
23288         (Makefile.am): Add randomd.c to test_modf_SOURCES.
23289         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
23290         (Makefile.am): Add randomf.c to test_modff_SOURCES.
23291         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
23292         (Depends-on): Add 'float'.
23293         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
23295 2012-03-03  Bruno Haible  <bruno@clisp.org>
23297         fabs* tests: More tests.
23298         * tests/test-fabs.h: New file, partially extracted from
23299         tests/test-fabsl.c.
23300         * tests/test-fabs.c (RANDOM): New macro.
23301         * tests/test-fabsf.c (RANDOM): New macro.
23302         * tests/test-fabsl.c (RANDOM): New macro.
23303         * modules/fabs-tests (Files): Add tests/randomd.c.
23304         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
23305         * modules/fabsf-tests (Files): Add tests/randomf.c.
23306         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
23307         * modules/fabsl-tests (Files): Add tests/randoml.c.
23308         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
23310 2012-03-03  Bruno Haible  <bruno@clisp.org>
23312         ldexp* tests: More tests.
23313         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
23314         * tests/test-ldexp.c (RANDOM): New macro.
23315         * tests/test-ldexpf.c (RANDOM): New macro.
23316         * tests/test-ldexpl.c (RANDOM): New macro.
23317         * modules/ldexp-tests (Files): Add tests/randomd.c.
23318         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
23319         * modules/ldexpf-tests (Files): Add tests/randomf.c.
23320         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
23321         * modules/ldexpl-tests (Files): Add tests/randoml.c.
23322         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
23324 2012-03-03  Bruno Haible  <bruno@clisp.org>
23326         frexp* tests: More tests.
23327         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
23328         * tests/test-frexp.c (RANDOM): New macro.
23329         * tests/test-frexpf.c (RANDOM): New macro.
23330         * tests/test-frexpl.c (RANDOM): New macro.
23331         * modules/frexp-tests (Files): Add tests/randomd.c.
23332         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
23333         * modules/frexpf-tests (Files): Add tests/randomf.c.
23334         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
23335         * modules/frexpl-tests (Files): Add tests/randoml.c.
23336         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
23338 2012-03-03  Bruno Haible  <bruno@clisp.org>
23340         Support for pseudo-random numbers in tests.
23341         * tests/randomf.c: New file.
23342         * tests/randomd.c: New file.
23343         * tests/randoml.c: New file.
23344         * tests/macros.h (randomf, randomd, randoml): New declarations.
23346 2012-03-03  Bruno Haible  <bruno@clisp.org>
23348         frexp* tests: Refactor.
23349         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
23350         * tests/test-frexp.c: Include and use it.
23351         * tests/test-frexpf.c: Likewise.
23352         * tests/test-frexpl.c: Likewise.
23353         * modules/frexp-tests (Files): Add tests/test-frexp.h.
23354         * modules/frexpf-tests (Files): Likewise.
23355         * modules/frexpl-tests (Files): Likewise.
23357 2012-03-02  Jim Meyering  <meyering@redhat.com>
23359         maint: don't specify XZ_OPT=-9ev in dist-related rule
23360         Using xz's -9 option is warranted only if you have a very large
23361         tarball (see xz's documentation for the sizes vs. presets), and
23362         requires 64MiB of memory at decompression time.
23363         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
23364         Automake's default of just "-e" is fine.  Override on a
23365         per-package basis by setting XZ_OPT e.g., in cfg.mk.
23367 2012-03-01  Eric Blake  <eblake@redhat.com>
23369         maint.mk: allow announcement for non-gnulib project
23370         * maint.mk (announcement): Skip gnulib version if not used.
23372 2012-03-01  Jim Meyering  <meyering@redhat.com>
23374         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
23375         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
23376         envvar settings cannot interfere.  Otherwise, setting envvars like
23377         prohibit=foo require=bar, etc. would cause spurious test failures.
23379 2012-03-01  Eric Blake  <eblake@redhat.com>
23381         maint.mk: add per-line exclusions to prohibitions
23382         * maint.mk (_sc_search_regexp): Add $exclude parameter.
23383         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
23384         (sc_const_long_option): Use it.
23386 2012-03-01  Bruno Haible  <bruno@clisp.org>
23388         Tests for module 'expl-ieee'.
23389         * modules/expl-ieee-tests: New file.
23390         * tests/test-expl-ieee.c: New file.
23392         New module 'expl-ieee'.
23393         * modules/expl-ieee: New file.
23395         Tests for module 'exp-ieee'.
23396         * modules/exp-ieee-tests: New file.
23397         * tests/test-exp-ieee.c: New file.
23399         New module 'exp-ieee'.
23400         * modules/exp-ieee: New file.
23402         Tests for module 'expf-ieee'.
23403         * modules/expf-ieee-tests: New file.
23404         * tests/test-expf-ieee.c: New file.
23405         * tests/test-exp-ieee.h: New file.
23407         New module 'expf-ieee'.
23408         * modules/expf-ieee: New file.
23410 2012-02-29  Bruno Haible  <bruno@clisp.org>
23412         cbrtl-ieee: Work around test failure on IRIX 6.5.
23413         * m4/cbrtl-ieee.m4: New file.
23414         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
23415         test whether cbrtl works with a minus zero argument. Replace it if not.
23416         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
23417         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
23418         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
23419         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
23420         (Depends-on): Update conditions.
23421         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
23422         m4/signbit.m4.
23423         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
23424         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
23425         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
23427         Tests for module 'cbrtl-ieee'.
23428         * modules/cbrtl-ieee-tests: New file.
23429         * tests/test-cbrtl-ieee.c: New file.
23431         New module 'cbrtl-ieee'.
23432         * modules/cbrtl-ieee: New file.
23434         Tests for module 'cbrt-ieee'.
23435         * modules/cbrt-ieee-tests: New file.
23436         * tests/test-cbrt-ieee.c: New file.
23438         New module 'cbrt-ieee'.
23439         * modules/cbrt-ieee: New file.
23441         Tests for module 'cbrtf-ieee'.
23442         * modules/cbrtf-ieee-tests: New file.
23443         * tests/test-cbrtf-ieee.c: New file.
23444         * tests/test-cbrt-ieee.h: New file.
23446         New module 'cbrtf-ieee'.
23447         * modules/cbrtf-ieee: New file.
23449 2012-02-29  Bruno Haible  <bruno@clisp.org>
23451         cbrtf: Work around bug in IRIX 6.5 system function.
23452         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
23453         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
23454         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
23455         work.
23456         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
23457         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
23458         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
23459         (Depends-on): Update conditions.
23460         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
23462 2012-02-29  Bruno Haible  <bruno@clisp.org>
23464         Tests for module 'cbrtl'.
23465         * modules/cbrtl-tests: New file.
23466         * tests/test-cbrtl.c: New file.
23468         New module 'cbrtl'.
23469         * lib/math.in.h (cbrtl): New declaration.
23470         * lib/cbrtl.c: New file.
23471         * m4/cbrtl.m4: New file.
23472         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
23473         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
23474         HAVE_DECL_CBRTL.
23475         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
23476         HAVE_DECL_CBRTL.
23477         * modules/cbrtl: New file.
23478         * tests/test-math-c++.cc: Check the declaration of cbrtl.
23479         * doc/posix-functions/cbrtl.texi: Mention the new module.
23481 2012-02-29  Bruno Haible  <bruno@clisp.org>
23483         Tests for module 'cbrtf'.
23484         * modules/cbrtf-tests: New file.
23485         * tests/test-cbrtf.c: New file.
23487         New module 'cbrtf'.
23488         * lib/math.in.h (cbrtf): New declaration.
23489         * lib/cbrtf.c: New file.
23490         * m4/cbrtf.m4: New file.
23491         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
23492         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
23493         HAVE_DECL_CBRTF.
23494         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
23495         HAVE_DECL_CBRTF.
23496         * modules/cbrtf: New file.
23497         * tests/test-math-c++.cc: Check the declaration of cbrtf.
23498         * doc/posix-functions/cbrtf.texi: Mention the new module.
23500 2012-02-29  Bruno Haible  <bruno@clisp.org>
23502         cbrt: Provide replacement on MSVC and Minix.
23503         * lib/math.in.h (cbrt): New declaration.
23504         * lib/cbrt.c: New file.
23505         * m4/cbrt.m4: New file.
23506         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
23507         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
23508         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
23509         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
23510         (Depends-on): Add dependencies.
23511         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
23512         * tests/test-math-c++.cc: Check the declaration of cbrt.
23513         * doc/posix-functions/cbrt.texi: Mention that the module provides a
23514         replacement.
23516 2012-02-29  Bruno Haible  <bruno@clisp.org>
23518         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
23519         * m4/hypotl-ieee.m4: New file.
23520         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
23521         test whether hypotl works with mixed NaN and Infinity arguments.
23522         Replace it if not.
23523         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
23524         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
23525         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
23526         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
23527         (Depends-on): Update conditions.
23528         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
23529         (Depends-on): Add hypot-ieee.
23530         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
23531         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
23533         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
23534         * m4/hypotf-ieee.m4: New file.
23535         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
23536         test whether hypotf works with mixed NaN and Infinity arguments.
23537         Replace it if not.
23538         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
23539         (Depends-on): Add hypot-ieee.
23540         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
23541         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
23543         hypot-ieee: Work around test failure on OSF/1 and native Windows.
23544         * lib/math.in.h (hypot): New declaration.
23545         * lib/hypot.c: New file.
23546         * m4/hypot-ieee.m4: New file.
23547         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
23548         whether hypot works with mixed NaN and Infinity arguments. Replace it
23549         if not.
23550         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
23551         REPLACE_HYPOT.
23552         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
23553         * modules/hypot (Files): Add lib/hypot.c.
23554         (Depends-on): Add dependencies.
23555         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
23556         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
23557         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
23558         * tests/test-math-c++.cc: Check the declaration of hypot.
23559         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
23561         Tests for module 'hypotl-ieee'.
23562         * modules/hypotl-ieee-tests: New file.
23563         * tests/test-hypotl-ieee.c: New file.
23565         New module 'hypotl-ieee'.
23566         * modules/hypotl-ieee: New file.
23568         Tests for module 'hypot-ieee'.
23569         * modules/hypot-ieee-tests: New file.
23570         * tests/test-hypot-ieee.c: New file.
23572         New module 'hypot-ieee'.
23573         * modules/hypot-ieee: New file.
23575         Tests for module 'hypotf-ieee'.
23576         * modules/hypotf-ieee-tests: New file.
23577         * tests/test-hypotf-ieee.c: New file.
23578         * tests/test-hypot-ieee.h: New file.
23580         New module 'hypotf-ieee'.
23581         * modules/hypotf-ieee: New file.
23583 2012-02-29  Bruno Haible  <bruno@clisp.org>
23585         Remove unused variables.
23586         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
23587         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
23588         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
23589         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
23591 2012-02-29  Eric Blake  <eblake@redhat.com>
23593         termios: fix pid_t always, not just for tcgetsid
23594         * doc/posix-headers/termios.texi (termios.h): Mention problem.
23595         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
23596         just when building tcgetsid.
23598 2012-02-29  Bruno Haible  <bruno@clisp.org>
23600         Tests for module 'hypotl'.
23601         * modules/hypotl-tests: New file.
23602         * tests/test-hypotl.c: New file.
23604         New module 'hypotl'.
23605         * lib/math.in.h (hypotl): New declaration.
23606         * lib/hypotl.c: New file.
23607         * m4/hypotl.m4: New file.
23608         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
23609         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
23610         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
23611         * modules/hypotl: New file.
23612         * tests/test-math-c++.cc: Check the hypotl declaration.
23613         * doc/posix-functions/hypotl.texi: Mention the new module.
23615 2012-02-29  Eric Blake  <eblake@redhat.com>
23617         tcgetsid: fix cygwin header bug
23618         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
23620         docs: update cygwin progress
23621         * doc/posix-functions/llround.texi (llround): Added in cygwin
23622         1.7.8.
23623         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
23624         * doc/glibc-functions/program_invocation_name.texi
23625         (program_invocation_name): Likewise.
23626         * doc/glibc-functions/program_invocation_short_name.texi
23627         (program_invocation_short_name): Likewise.
23628         * doc/glibc-functions/madvise.texi (madvise): Likewise.
23629         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
23630         Likewise.
23631         * doc/posix-functions/pthread_spin_destroy.texi
23632         (pthread_spin_destroy): Added in cygwin 1.7.10.
23633         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
23634         Likewise.
23635         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
23636         Likewise.
23637         * doc/posix-functions/pthread_spin_trylock.texi
23638         (pthread_spin_trylock): Likewise.
23639         * doc/posix-functions/pthread_spin_unlock.texi
23640         (pthread_spin_unlock): Likewise.
23641         * doc/posix-functions/pthread_setschedprio.texi
23642         (pthread_setschedprio): Likewise.
23643         * doc/posix-functions/pthread_attr_getstack.texi
23644         (pthread_attr_getstack): Likewise.
23645         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
23646         (pthread_attr_getstackaddr): Likewise.
23647         * doc/glibc-functions/pthread_getattr_np.texi
23648         (pthread_getattr_np): Likewise.
23649         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
23650         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
23651         * doc/posix-functions/clock_settime.texi (clock_settime):
23652         Likewise.
23653         * doc/posix-functions/pthread_attr_getguardsize.texi
23654         (pthread_attr_getguardsize): Likewise.
23655         * doc/posix-functions/pthread_attr_setguardsize.texi
23656         (pthread_attr_setguardsize): Likewise.
23657         * doc/posix-functions/pthread_attr_setstack.texi
23658         (pthread_attr_setstack): Likewise.
23659         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
23660         (pthread_attr_setstackaddr): Likewise.
23661         * doc/posix-functions/clock_getcpuclockid.texi
23662         (clock_getcpuclockid): Likewise.
23663         * doc/posix-functions/pthread_getcpuclockid.texi
23664         (pthread_getcpuclockid): Likewise.
23665         * doc/glibc-functions/error.texi (error): Likewise.
23666         * doc/glibc-functions/error_at_line.texi (error_at_line):
23667         Likewise.
23668         * doc/glibc-functions/error_message_count.texi
23669         (error_message_count): Likewise.
23670         * doc/glibc-functions/error_one_per_line.texi
23671         (error_one_per_line): Likewise.
23672         * doc/glibc-functions/error_print_progname.texi
23673         (error_print_progname): Likewise.
23674         * doc/posix-functions/pthread_condattr_getclock.texi
23675         (pthread_condattr_getclock): Likewise.
23676         * doc/posix-functions/pthread_condattr_setclock.texi
23677         (pthread_condattr_setclock): Likewise.
23678         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
23679         Likewise.
23680         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
23681         * doc/glibc-functions/getpt.texi (getpt): Likewise.
23682         * doc/glibc-functions/get_current_dir_name.texi
23683         (get_current_dir_name): Likewise.
23684         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
23685         Likewise.
23686         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
23687         wrong return type.
23688         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
23689         1.7.11.
23691 2012-02-29  Bruno Haible  <bruno@clisp.org>
23693         Tests for module 'hypotf'.
23694         * modules/hypotf-tests: New file.
23695         * tests/test-hypotf.c: New file.
23697         New module 'hypotf'.
23698         * lib/math.in.h (hypotf): New declaration.
23699         * lib/hypotf.c: New file.
23700         * m4/hypotf.m4: New file.
23701         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
23702         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
23703         REPLACE_HYPOTF.
23704         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
23705         REPLACE_HYPOTF.
23706         * modules/hypotf: New file.
23707         * tests/test-math-c++.cc: Check the hypotf declaration.
23708         * doc/posix-functions/hypotf.texi: Mention the new module.
23710         hypot: Prepare for hypotf module.
23711         * m4/hypot.m4: New file.
23712         * modules/hypot (Files): Add m4/hypot.m4.
23713         (configure.ac): Invoke gl_FUNC_HYPOT.
23715 2012-02-29  Bruno Haible  <bruno@clisp.org>
23717         hypot tests: More tests.
23718         * tests/test-hypot.c: Include <float.h>.
23719         (main): Add tests about overflow and underflow.
23721 2012-02-29  Bruno Haible  <bruno@clisp.org>
23723         math code: Add comments.
23724         * lib/acosl.c: Add comment about related glibc source files.
23725         * lib/asinl.c: Likewise.
23726         * lib/atanl.c: Likewise.
23727         * lib/expl.c: Likewise.
23728         * lib/logl.c: Likewise.
23729         * lib/sincosl.c: Likewise.
23730         * lib/sinl.c: Likewise.
23731         * lib/tanl.c: Likewise.
23732         * lib/trigl.c: Likewise.
23733         * lib/cosl.c: Likewise. Fix comments.
23735 2012-02-28  Bruno Haible  <bruno@clisp.org>
23737         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
23738         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
23739         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
23740         HUGE_VALL are defined.
23741         (numeric_equald): Renamed from numeric_equal.
23742         (numeric_equalf, numeric_equall): New functions.
23743         (main): Check also HUGE_VALF, HUGE_VALL.
23744         * modules/math-tests (Files): Add tests/macros.h.
23745         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
23746         HUGE_VALL.
23748 2012-02-28  Bruno Haible  <bruno@clisp.org>
23750         doc: Move ISO C11 feature notes into POSIX chapters.
23751         * doc/posix-functions/aligned_alloc.texi: Renamed from
23752         doc/glibc-functions/aligned_alloc.texi.
23753         * doc/posix-functions/quick_exit.texi: Renamed from
23754         doc/glibc-functions/quick_exit.texi.
23755         * doc/posix-headers/uchar.texi: Renamed from
23756         doc/glibc-headers/uchar.texi.
23757         * doc/posix-functions/c16rtomb.texi: Renamed from
23758         doc/glibc-functions/c16rtomb.texi.
23759         * doc/posix-functions/c32rtomb.texi: Renamed from
23760         doc/glibc-functions/c32rtomb.texi.
23761         * doc/posix-functions/mbrtoc16.texi: Renamed from
23762         doc/glibc-functions/mbrtoc16.texi.
23763         * doc/posix-functions/mbrtoc32.texi: Renamed from
23764         doc/glibc-functions/mbrtoc32.texi.
23765         * doc/gnulib.texi: Update.
23766         (Glibc uchar.h): Remove section.
23767         Suggested by Eric Blake.
23769 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
23771         stdnoreturn: port to MSVC better
23772         MSVC standard headers use __declspec(noreturn), so #define noreturn
23773         to empty on that platform.  Reported by Bruno Haible in
23774         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
23775         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
23776         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
23778 2012-02-28  Bruno Haible  <bruno@clisp.org>
23780         doc: Mention new glibc headers and functions.
23781         * doc/glibc-headers/uchar.texi: New file.
23782         * doc/glibc-functions/aligned_alloc.texi: New file.
23783         * doc/glibc-functions/c16rtomb.texi: New file.
23784         * doc/glibc-functions/c32rtomb.texi: New file.
23785         * doc/glibc-functions/clock_adjtime.texi: New file.
23786         * doc/glibc-functions/fanotify_init.texi: New file.
23787         * doc/glibc-functions/fanotify_mark.texi: New file.
23788         * doc/glibc-functions/inet6_opt_append.texi: New file.
23789         * doc/glibc-functions/inet6_opt_find.texi: New file.
23790         * doc/glibc-functions/inet6_opt_finish.texi: New file.
23791         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
23792         * doc/glibc-functions/inet6_opt_init.texi: New file.
23793         * doc/glibc-functions/inet6_opt_next.texi: New file.
23794         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
23795         * doc/glibc-functions/inet6_rth_add.texi: New file.
23796         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
23797         * doc/glibc-functions/inet6_rth_init.texi: New file.
23798         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
23799         * doc/glibc-functions/inet6_rth_segments.texi: New file.
23800         * doc/glibc-functions/inet6_rth_space.texi: New file.
23801         * doc/glibc-functions/login.texi: New file.
23802         * doc/glibc-functions/mbrtoc16.texi: New file.
23803         * doc/glibc-functions/mbrtoc32.texi: New file.
23804         * doc/glibc-functions/name_to_handle_at.texi: New file.
23805         * doc/glibc-functions/ntp_gettimex.texi: New file.
23806         * doc/glibc-functions/open_by_handle_at.texi: New file.
23807         * doc/glibc-functions/prlimit.texi: New file.
23808         * doc/glibc-functions/process_vm_readv.texi: New file.
23809         * doc/glibc-functions/process_vm_writev.texi: New file.
23810         * doc/glibc-functions/recvmmsg.texi: New file.
23811         * doc/glibc-functions/scandirat.texi: New file.
23812         * doc/glibc-functions/sendmmsg.texi: New file.
23813         * doc/glibc-functions/setns.texi: New file.
23814         * doc/glibc-functions/timespec_get.texi: New file.
23815         * doc/gnulib.texi: Include them.
23816         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
23817         sections.
23818         Reported by Eric Blake.
23820 2012-02-28  Bruno Haible  <bruno@clisp.org>
23822         Avoid compilation errors with MSVC option -fp:strict.
23823         * lib/floor.c: Use MSVC specific pragma fenv_access.
23824         * lib/ceil.c: Likewise.
23825         * lib/trunc.c: Likewise.
23826         * lib/round.c: Likewise.
23827         * lib/rint.c: Likewise.
23828         * lib/fma.c: Likewise.
23829         * lib/integer_length.c: Likewise.
23830         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23831         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23832         * tests/test-floor2.c: Likewise.
23833         * tests/test-floorf2.c: Likewise.
23834         * tests/test-ceil2.c: Likewise.
23835         * tests/test-ceilf2.c: Likewise.
23836         * tests/test-trunc2.c: Likewise.
23837         * tests/test-truncf2.c: Likewise.
23838         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
23840 2012-02-27  Bruno Haible  <bruno@clisp.org>
23842         Tests for module 'sqrtl-ieee'.
23843         * modules/sqrtl-ieee-tests: New file.
23844         * tests/test-sqrtl-ieee.c: New file.
23846         New module 'sqrtl-ieee'.
23847         * modules/sqrtl-ieee: New file.
23849         Tests for module 'sqrt-ieee'.
23850         * modules/sqrt-ieee-tests: New file.
23851         * tests/test-sqrt-ieee.c: New file.
23853         New module 'sqrt-ieee'.
23854         * modules/sqrt-ieee: New file.
23856         Tests for module 'sqrtf-ieee'.
23857         * modules/sqrtf-ieee-tests: New file.
23858         * tests/test-sqrtf-ieee.c: New file.
23859         * tests/test-sqrt-ieee.h: New file.
23861         New module 'sqrtf-ieee'.
23862         * modules/sqrtf-ieee: New file.
23864 2012-02-27  Bruno Haible  <bruno@clisp.org>
23866         remainderl-ieee: Work around test failure on OSF/1.
23867         * m4/remainderl-ieee.m4: New file.
23868         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
23869         present, test whether remainderl works with a zero second argument.
23870         Replace it if not.
23871         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
23872         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
23873         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
23874         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
23875         (Depends-on): Update conditions.
23876         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
23877         (Depends-on): Add remainder-ieee.
23878         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
23879         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
23880         module.
23882         remainderf-ieee: Work around test failure on OSF/1.
23883         * m4/remainderf-ieee.m4: New file.
23884         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
23885         present, test whether remainderf works with a zero second argument.
23886         Replace it if not.
23887         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
23888         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
23889         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
23890         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
23891         (Depends-on): Update conditions.
23892         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
23893         (Depends-on): Add remainder-ieee.
23894         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
23895         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
23896         module.
23898         remainder-ieee: Work around test failure on OSF/1.
23899         * m4/remainder-ieee.m4: New file.
23900         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
23901         present, test whether remainder works with a zero second argument.
23902         Replace it if not.
23903         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
23904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
23905         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
23906         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
23907         (Depends-on): Update dependencies.
23908         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
23909         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
23910         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
23912         Tests for module 'remainderl-ieee'.
23913         * modules/remainderl-ieee-tests: New file.
23914         * tests/test-remainderl-ieee.c: New file.
23916         New module 'remainderl-ieee'.
23917         * modules/remainderl-ieee: New file.
23919         Tests for module 'remainder-ieee'.
23920         * modules/remainder-ieee-tests: New file.
23921         * tests/test-remainder-ieee.c: New file.
23923         New module 'remainder-ieee'.
23924         * modules/remainder-ieee: New file.
23926         Tests for module 'remainderf-ieee'.
23927         * modules/remainderf-ieee-tests: New file.
23928         * tests/test-remainderf-ieee.c: New file.
23929         * tests/test-remainder-ieee.h: New file.
23931         New module 'remainderf-ieee'.
23932         * modules/remainderf-ieee: New file.
23934 2012-02-27  Bruno Haible  <bruno@clisp.org>
23936         modff, modfl: Fix configure syntax error.
23937         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
23938         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
23940 2012-02-27  Bruno Haible  <bruno@clisp.org>
23942         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
23943         * m4/fmodl-ieee.m4: New file.
23944         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
23945         whether fmodl works with zero arguments. Replace it if not.
23946         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
23947         (Depends-on): Add fmod-ieee.
23948         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
23949         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
23951         fmodf-ieee: Work around test failure on OSF/1.
23952         * m4/fmodf-ieee.m4: New file.
23953         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
23954         whether fmodf works with zero arguments. Replace it if not.
23955         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
23956         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
23957         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
23958         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
23959         (Depends-on): Update dependencies.
23960         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
23961         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
23962         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
23964         fmodf-ieee: Work around test failure on MSVC 9.
23965         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
23966         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
23968         fmod-ieee: Work around test failures on OSF/1, mingw.
23969         * m4/fmod-ieee.m4: New file.
23970         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
23971         whether fmod works with zero arguments. Replace it if not.
23972         * lib/math.in.h (fmod): New declaration.
23973         * lib/fmod.c: New file.
23974         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
23975         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
23976         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
23977         * modules/fmod (Files): Add lib/fmod.c.
23978         (Depends-on): Add math, isinf, trunc, fma.
23979         (configure.ac): Arrange to compile lib/fmod.c if needed.
23980         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
23981         m4/signbit.m4.
23982         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
23983         * tests/test-math-c++.cc: Check the declaration of fmod.
23984         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
23986         fmodl-ieee: Fix test failures.
23987         * lib/fmodl.c (fmodl): Treat Inf specially.
23988         * modules/fmodl (Depends-on): Add isinf.
23990         Tests for module 'fmodl-ieee'.
23991         * modules/fmodl-ieee-tests: New file.
23992         * tests/test-fmodl-ieee.c: New file.
23994         New module 'fmodl-ieee'.
23995         * modules/fmodl-ieee: New file.
23997         Tests for module 'fmod-ieee'.
23998         * modules/fmod-ieee-tests: New file.
23999         * tests/test-fmod-ieee.c: New file.
24001         New module 'fmod-ieee'.
24002         * modules/fmod-ieee: New file.
24004         Tests for module 'fmodf-ieee'.
24005         * modules/fmodf-ieee-tests: New file.
24006         * tests/test-fmodf-ieee.c: New file.
24007         * tests/test-fmod-ieee.h: New file.
24009         New module 'fmodf-ieee'.
24010         * modules/fmodf-ieee: New file.
24012 2012-02-27  Bruno Haible  <bruno@clisp.org>
24014         Tests for module 'rintl-ieee'.
24015         * modules/rintl-ieee-tests: New file.
24016         * tests/test-rintl-ieee.c: New file.
24018         New module 'rintl-ieee'.
24019         * modules/rintl-ieee: New file.
24021         Tests for module 'rint-ieee'.
24022         * modules/rint-ieee-tests: New file.
24023         * tests/test-rint-ieee.c: New file.
24025         New module 'rint-ieee'.
24026         * modules/rint-ieee: New file.
24028         Tests for module 'rintf-ieee'.
24029         * modules/rintf-ieee-tests: New file.
24030         * tests/test-rintf-ieee.c: New file.
24031         * tests/test-rint-ieee.h: New file.
24033         New module 'rintf-ieee'.
24034         * modules/rintf-ieee: New file.
24036 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
24038         regex: re_search etc. should return -2 when memory exhausted
24039         This bug was uncovered when testing 'grep'.  Without the fix,
24040         re_search and friends return -1 when memory is exhausted, but -1
24041         means no match, and this causes grep to falsely report no-match
24042         instead of memory-exhaustion.  See
24043         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
24044         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
24045         trouble; this can occur if re_search_internal ran out of memory.
24047 2012-02-26  Bruno Haible  <bruno@clisp.org>
24049         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
24050         * m4/modfl-ieee.m4: New file.
24051         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
24052         whether modfl works with Inf. Replace it if not.
24053         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
24054         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
24055         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
24056         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
24057         (Depends-on): Update dependencies.
24058         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
24059         m4/signbit.m4.
24060         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
24061         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
24063         modfl-ieee: Fix dependencies.
24064         * modules/modfl-ieee (Depends-on): Add modf-ieee.
24066         modfl-ieee: Fix test failures.
24067         * lib/modfl.c (modfl): Treat NaN and Inf specially.
24068         * modules/modfl (Depends-on): Add isfinite, isinf.
24070         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
24071         * m4/modff-ieee.m4: New file.
24072         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
24073         whether modff works with NaN and Inf. Replace it if not.
24074         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
24075         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
24076         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
24077         * modules/modff (configure.ac): Consider REPLACE_MODFF.
24078         (Depends-on): Update dependencies.
24079         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
24080         m4/signbit.m4.
24081         (Depends-on): Add modf-ieee.
24082         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
24083         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
24085         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
24086         * m4/modf-ieee.m4: New file.
24087         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
24088         whether modf works with NaN and Inf. Replace it if not.
24089         * lib/math.in.h (modf): New declaration.
24090         * lib/modf.c: New file.
24091         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
24092         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
24093         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
24094         * modules/modf (Files): Add lib/modf.c.
24095         (Depends-on): Add math, isfinite, trunc, isinf.
24096         (configure.ac): Addrange to compile lib/modf.c if needed.
24097         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
24098         m4/signbit.m4.
24099         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
24100         * tests/test-math-c++.cc: Check the declaration of modf.
24101         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
24103         Tests for module 'modfl-ieee'.
24104         * modules/modfl-ieee-tests: New file.
24105         * tests/test-modfl-ieee.c: New file.
24107         New module 'modfl-ieee'.
24108         * modules/modfl-ieee: New file.
24110         Tests for module 'modf-ieee'.
24111         * modules/modf-ieee-tests: New file.
24112         * tests/test-modf-ieee.c: New file.
24114         New module 'modf-ieee'.
24115         * modules/modf-ieee: New file.
24117         Tests for module 'modff-ieee'.
24118         * modules/modff-ieee-tests: New file.
24119         * tests/test-modff-ieee.c: New file.
24120         * tests/test-modf-ieee.h: New file.
24122         New module 'modff-ieee'.
24123         * modules/modff-ieee: New file.
24125 2012-02-26  Bruno Haible  <bruno@clisp.org>
24127         Tests for module 'fabsl-ieee'.
24128         * modules/fabsl-ieee-tests: New file.
24129         * tests/test-fabsl-ieee.c: New file.
24131         New module 'fabsl-ieee'.
24132         * modules/fabsl-ieee: New file.
24134         Tests for module 'fabs-ieee'.
24135         * modules/fabs-ieee-tests: New file.
24136         * tests/test-fabs-ieee.c: New file.
24138         New module 'fabs-ieee'.
24139         * modules/fabs-ieee: New file.
24141         Tests for module 'fabsf-ieee'.
24142         * modules/fabsf-ieee-tests: New file.
24143         * tests/test-fabsf-ieee.c: New file.
24144         * tests/test-fabs-ieee.h: New file.
24146         New module 'fabsf-ieee'.
24147         * modules/fabsf-ieee: New file.
24149 2012-02-26  Bruno Haible  <bruno@clisp.org>
24151         Tests for module 'fmal-ieee'.
24152         * modules/fmal-ieee-tests: New file.
24153         * tests/test-fmal-ieee.c: New file.
24155         New module 'fmal-ieee'.
24156         * modules/fmal-ieee: New file.
24158         Tests for module 'fma-ieee'.
24159         * modules/fma-ieee-tests: New file.
24160         * tests/test-fma-ieee.c: New file.
24162         New module 'fma-ieee'.
24163         * modules/fma-ieee: New file.
24165         Tests for module 'fmaf-ieee'.
24166         * modules/fmaf-ieee-tests: New file.
24167         * tests/test-fmaf-ieee.c: New file.
24168         * tests/test-fma-ieee.h: New file.
24170         New module 'fmaf-ieee'.
24171         * modules/fmaf-ieee: New file.
24173 2012-02-26  Bruno Haible  <bruno@clisp.org>
24175         Tests for module 'ldexpl-ieee'.
24176         * modules/ldexpl-ieee-tests: New file.
24177         * tests/test-ldexpl-ieee.c: New file.
24179         New module 'ldexpl-ieee'.
24180         * modules/ldexpl-ieee: New file.
24182         Tests for module 'ldexp-ieee'.
24183         * modules/ldexp-ieee-tests: New file.
24184         * tests/test-ldexp-ieee.c: New file.
24186         New module 'ldexp-ieee'.
24187         * modules/ldexp-ieee: New file.
24189         Tests for module 'ldexpf-ieee'.
24190         * modules/ldexpf-ieee-tests: New file.
24191         * tests/test-ldexpf-ieee.c: New file.
24192         * tests/test-ldexp-ieee.h: New file.
24194         New module 'ldexpf-ieee'.
24195         * modules/ldexpf-ieee: New file.
24197 2012-02-26  Bruno Haible  <bruno@clisp.org>
24199         Refactor frexp*-ieee tests.
24200         * tests/test-frexp-ieee.h: New file.
24201         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
24202         (main): Just call test_function.
24203         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
24204         (main): Just call test_function.
24205         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
24206         (main): Just call test_function.
24207         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
24208         * modules/frexp-ieee-tests (Files): Likewise.
24209         * modules/frexpl-ieee-tests (Files): Likewise.
24211         Tests for module 'frexpl-ieee'.
24212         * modules/frexpl-ieee-tests: New file.
24213         * tests/test-frexpl-ieee.c: New file.
24215         New module 'frexpl-ieee'.
24216         * modules/frexpl-ieee: New file.
24218         Tests for module 'frexp-ieee'.
24219         * modules/frexp-ieee-tests: New file.
24220         * tests/test-frexp-ieee.c: New file.
24222         New module 'frexp-ieee'.
24223         * modules/frexp-ieee: New file.
24225         Tests for module 'frexpf-ieee'.
24226         * modules/frexpf-ieee-tests: New file.
24227         * tests/test-frexpf-ieee.c: New file.
24229         New module 'frexpf-ieee'.
24230         * modules/frexpf-ieee: New file.
24232 2012-02-26  Bruno Haible  <bruno@clisp.org>
24234         roundl-ieee tests: More tests.
24235         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
24236         (main): Add tests for [MX] shaded specification in POSIX.
24237         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24238         (Depends-on): Add isnanl-nolibm.
24240         round-ieee tests: More tests.
24241         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
24242         (main): Add tests for [MX] shaded specification in POSIX.
24243         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24244         (Depends-on): Add isnand-nolibm.
24246         roundf-ieee tests: More tests.
24247         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
24248         (main): Add tests for [MX] shaded specification in POSIX.
24249         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24250         (Depends-on): Add isnanf-nolibm.
24252         truncl-ieee tests: More tests.
24253         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
24254         (main): Add tests for [MX] shaded specification in POSIX.
24255         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24256         (Depends-on): Add isnanl-nolibm.
24258         trunc-ieee tests: More tests.
24259         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
24260         (main): Add tests for [MX] shaded specification in POSIX.
24261         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24262         (Depends-on): Add isnand-nolibm.
24264         truncf-ieee tests: More tests.
24265         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
24266         (main): Add tests for [MX] shaded specification in POSIX.
24267         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24268         (Depends-on): Add isnanf-nolibm.
24270         ceill-ieee tests: More tests.
24271         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
24272         (main): Add tests for [MX] shaded specification in POSIX.
24273         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24274         (Depends-on): Add isnanl-nolibm.
24276         ceil-ieee tests: More tests.
24277         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
24278         (main): Add tests for [MX] shaded specification in POSIX.
24279         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24280         (Depends-on): Add isnand-nolibm.
24282         ceilf-ieee tests: More tests.
24283         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
24284         (main): Add tests for [MX] shaded specification in POSIX.
24285         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24286         (Depends-on): Add isnanf-nolibm.
24288         floorl-ieee tests: More tests.
24289         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
24290         (main): Add tests for [MX] shaded specification in POSIX.
24291         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24292         (Depends-on): Add isnanl-nolibm.
24294         floor-ieee tests: More tests.
24295         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
24296         (main): Add tests for [MX] shaded specification in POSIX.
24297         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24298         (Depends-on): Add isnand-nolibm.
24300         floorf-ieee tests: More tests.
24301         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
24302         (main): Add tests for [MX] shaded specification in POSIX.
24303         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
24304         (Depends-on): Add isnanf-nolibm.
24306 2012-02-26  Bruno Haible  <bruno@clisp.org>
24308         fpieee: More comments.
24309         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
24311 2012-02-25  Bruno Haible  <bruno@clisp.org>
24313         Tests for module 'log10l'.
24314         * modules/log10l-tests: New file.
24315         * tests/test-log10l.c: New file.
24316         * tests/test-math-c++.cc: Check the declaration of log10l.
24318         New module 'log10l'.
24319         * lib/math.in.h (log10l): New declaration.
24320         * lib/log10l.c: New file.
24321         * m4/log10l.m4: New file.
24322         * modules/log10l: New file.
24323         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
24324         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
24325         HAVE_DECL_LOG10L.
24326         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
24327         HAVE_DECL_LOG10L.
24328         * doc/posix-functions/log10l.texi: Mention the new module.
24330 2012-02-25  Bruno Haible  <bruno@clisp.org>
24332         fmodl, remainder*: Avoid wrong results due to rounding errors.
24333         * lib/fmodl.c (fmodl): Correct the result if it is not within the
24334         expected bounds.
24335         * lib/remainderf.c (remainderf): Likewise.
24336         * lib/remainder.c (remainder): Likewise.
24337         * lib/remainderl.c (remainderl): Likewise.
24339 2012-02-25  Bruno Haible  <bruno@clisp.org>
24341         Tests for module 'remainderl'.
24342         * modules/remainderl-tests: New file.
24343         * tests/test-remainderl.c: New file.
24344         * tests/test-math-c++.cc: Check the declaration of remainderl.
24346         New module 'remainderl'.
24347         * lib/math.in.h (remainderl): New declaration.
24348         * lib/remainderl.c: New file.
24349         * m4/remainderl.m4: New file.
24350         * modules/remainderl: New file.
24351         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
24352         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
24353         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
24354         HAVE_REMAINDERL.
24355         * doc/posix-functions/remainderl.texi: Mention the new module.
24357 2012-02-25  Bruno Haible  <bruno@clisp.org>
24359         Tests for module 'remainderf'.
24360         * modules/remainderf-tests: New file.
24361         * tests/test-remainderf.c: New file.
24362         * tests/test-math-c++.cc: Check the declaration of remainderf.
24364         New module 'remainderf'.
24365         * lib/math.in.h (remainderf): New declaration.
24366         * lib/remainderf.c: New file.
24367         * m4/remainderf.m4: New file.
24368         * modules/remainderf: New file.
24369         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
24370         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
24371         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
24372         HAVE_REMAINDERF.
24373         * doc/posix-functions/remainderf.texi: Mention the new module.
24375 2012-02-25  Bruno Haible  <bruno@clisp.org>
24377         remainder: Support for MSVC.
24378         * lib/math.in.h (remainder): New declaration.
24379         * lib/remainder.c: New file.
24380         * m4/remainder.m4: New file.
24381         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
24382         (Depends-on): Add math, round, fma.
24383         (configure.ac): Use results of gl_FUNC_REMAINDER.
24384         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
24385         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
24386         HAVE_DECL_REMAINDER.
24387         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
24388         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
24389         * tests/test-math-c++.cc: Check the declaration of remainder.
24390         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
24391         problems are fixed.
24393 2012-02-25  Bruno Haible  <bruno@clisp.org>
24395         Tests for module 'fmodl'.
24396         * modules/fmodl-tests: New file.
24397         * tests/test-fmodl.c: New file.
24398         * tests/test-math-c++.cc: Check the declaration of fmodl.
24400         New module 'fmodl'.
24401         * lib/math.in.h (fmodl): New declaration.
24402         * lib/fmodl.c: New file.
24403         * m4/fmodl.m4: New file.
24404         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
24405         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
24406         REPLACE_FMODL.
24407         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
24408         REPLACE_FMODL.
24409         * modules/fmodl: New file.
24410         * doc/posix-functions/fmodl.texi: Mention the new module.
24412 2012-02-25  Bruno Haible  <bruno@clisp.org>
24414         Tests for module 'modfl'.
24415         * modules/modfl-tests: New file.
24416         * tests/test-modfl.c: New file.
24417         * tests/test-math-c++.cc: Check the declaration of modfl.
24419         New module 'modfl'.
24420         * lib/math.in.h (modfl): New declaration.
24421         * lib/modfl.c: New file.
24422         * m4/modfl.m4: New file.
24423         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
24424         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
24425         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
24426         * modules/modfl: New file.
24427         * doc/posix-functions/modfl.texi: Mention the new module.
24429 2012-02-25  Bruno Haible  <bruno@clisp.org>
24431         Tests for module 'fabsl'.
24432         * modules/fabsl-tests: New file.
24433         * tests/test-fabsl.c: New file.
24434         * tests/test-math-c++.cc: Check the declaration of fabsl.
24436         New module 'fabsl'.
24437         * lib/math.in.h (fabsl): New declaration.
24438         * lib/fabsl.c: New file.
24439         * m4/fabsl.m4: New file.
24440         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
24441         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
24442         REPLACE_FABSL.
24443         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
24444         REPLACE_FABSL.
24445         * modules/fabsl: New file.
24446         * doc/posix-functions/fabsl.texi: Mention the new module.
24448 2012-02-25  Bruno Haible  <bruno@clisp.org>
24450         fabs tests: More tests.
24451         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
24452         (zero): New variable.
24453         (main): Add tests for signed zero.
24454         * modules/fabs-tests (Files): Add tests/minus-zero.h.
24456         fabsf tests: More tests.
24457         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
24458         (zero): New variable.
24459         (main): Add tests for signed zero.
24460         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
24462 2012-02-24  Bruno Haible  <bruno@clisp.org>
24464         atanl: Provide function definition on MSVC.
24465         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
24466         function pointer.
24467         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
24469 2012-02-24  Bruno Haible  <bruno@clisp.org>
24471         acosl: Provide function definition on MSVC.
24472         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
24473         function pointer.
24474         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
24476 2012-02-24  Bruno Haible  <bruno@clisp.org>
24478         asinl: Provide function definition on MSVC.
24479         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
24480         function pointer.
24481         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
24483 2012-02-24  Bruno Haible  <bruno@clisp.org>
24485         tanl: Provide function definition on MSVC.
24486         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
24487         function pointer.
24488         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
24490 2012-02-24  Bruno Haible  <bruno@clisp.org>
24492         cosl: Provide function definition on MSVC.
24493         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
24494         function pointer.
24495         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
24497 2012-02-24  Bruno Haible  <bruno@clisp.org>
24499         sinl: Provide function definition on MSVC.
24500         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
24501         function pointer.
24502         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
24504 2012-02-24  Bruno Haible  <bruno@clisp.org>
24506         logl: Provide function definition on MSVC.
24507         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
24508         function pointer.
24509         * lib/math.in.h (logl): Undefine if it does not exist as a function.
24511 2012-02-24  Bruno Haible  <bruno@clisp.org>
24513         expl: Provide function definition on MSVC.
24514         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
24515         function pointer.
24516         * lib/math.in.h (expl): Undefine if it does not exist as a function.
24518 2012-02-24  Bruno Haible  <bruno@clisp.org>
24520         sqrtl: Provide function definition on MSVC.
24521         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
24522         a function pointer.
24523         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
24525 2012-02-24  Bruno Haible  <bruno@clisp.org>
24527         ceill: Provide function definition on MSVC.
24528         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
24529         used as a function pointer.
24530         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
24532 2012-02-24  Bruno Haible  <bruno@clisp.org>
24534         floorl: Provide function definition on MSVC.
24535         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
24536         used as a function pointer.
24537         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
24539 2012-02-24  Bruno Haible  <bruno@clisp.org>
24541         ceilf: Provide function definition on MSVC.
24542         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
24543         used as a function pointer.
24544         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
24546 2012-02-24  Bruno Haible  <bruno@clisp.org>
24548         floorf: Provide function definition on MSVC.
24549         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
24550         used as a function pointer.
24551         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
24553 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
24555         stdnoreturn: new module
24556         This implements a replacement for C11's <stdnoreturn.h>.
24557         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
24558         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
24559         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
24560         * tests/test-stdnoreturn.c: New files.
24562 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
24564         regex: fix false multibyte matches in some regular expressions
24565         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
24566         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
24567         * lib/regex_internal.c (re_string_skip_chars):
24568         Fix miscomputation of remain_len that may cause incomplete
24569         multi-byte character and false match.
24571 2012-02-24  Jim Meyering  <meyering@redhat.com>
24573         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
24574         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
24575         uses with "==" *before* the call, e.g., 0 == strcmp (...)
24576         Remove now-unnecessary str''cmp obfuscation.
24577         Suggested by Akim Demaille.
24579 2012-02-24  Bruno Haible  <bruno@clisp.org>
24581         streq: Rename macro.
24582         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
24583         * NEWS: Mention the change.
24584         * lib/mbrtowc.c (mbrtowc): Update.
24585         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
24586         * lib/wcwidth.c (wcwidth): Update.
24587         Suggested by Akim Demaille and Jim Meyering.
24589 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
24591         regex: fix typo in definition of MIN
24592         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
24593         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
24595 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
24596             Bruno Haible  <bruno@clisp.org>
24598         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
24599         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
24600         entries into a stack-allocated buffer directly.
24601         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
24603 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
24604             Bruno Haible  <bruno@clisp.org>
24606         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
24608          - There were several instances of this pattern:
24610              for (;;) {
24611                n = acl (f, GETACLCNT, 0, NULL);
24612                [ allocate an array A of size N ]
24613                if (acl (f, GETACL, n, a) == n)
24614                  break;
24615              }
24617            This loop might never terminate if some other process is constantly
24618            manipulating the file's ACL.  The loop should be rewritten to
24619            terminate.
24621          - The acl (... GETACLNT ...) call is merely an optimization; its value
24622            is merely a hint as to how big to make the array.  A better
24623            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
24624            and just guess a reasonably-big size, growing the size and trying
24625            again if it's not large enough.  This guarantees termination, and
24626            saves a system call.
24628         * lib/acl-internal.h: Include <limits.h>.
24629         (MIN, SIZE_MAX): New macros.
24630         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
24631         a stack-allocated buffer, and use malloc if it does not fit. Don't
24632         use GETACLCNT.
24633         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
24635 2012-02-19  Bruno Haible  <bruno@clisp.org>
24637         acl: Fix endless loop on Solaris with vxfs.
24638         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
24639         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
24640         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
24641         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
24642         * tests/test-sameacls.c (main)[Solaris]: Likewise.
24643         Reported by Bill Jones in
24644         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
24646 2012-02-19  Bruno Haible  <bruno@clisp.org>
24648         acl: Fix copy-acl test failure on Solaris 11.0.
24649         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
24650         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
24651         that this function returns 0 in some more cases.
24653 2012-02-19  Bruno Haible  <bruno@clisp.org>
24655         acl: Update doc references.
24656         * doc/acl-resources.txt: Update links to Solaris documentation.
24658 2012-02-19  Bruno Haible  <bruno@clisp.org>
24660         Fix test failure in many locales on Solaris 11.
24661         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
24662         'tr' arguments.
24663         * tests/test-pipe-filter-ii1.c (main): Likewise.
24664         * build-aux/bootstrap (check_versions): Run 'tr' command with range
24665         expressions in the C locale.
24666         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
24667         * m4/host-os.m4 (gl_HOST_OS): Likewise.
24669 2012-02-19  Bruno Haible  <bruno@clisp.org>
24671         gnulib-tool: Improve usage message.
24672         * gnulib-tool (func_usage): Move doc of --help and --version to the
24673         section "Operation modes".
24675 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
24677         README-release: make it easier to execute commands
24678         * top/README-release: break commands out on to separate lines.
24680 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
24682         GNUmakefile: simplify detection of unconfigured trees
24683         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
24684         whether the tree make is being run from is already configured or
24685         not.  Related simplifications.
24687 2012-02-13  Simon Josefsson  <simon@josefsson.org>
24689         * gnulib-tool (func_usage): Document --help and --version.
24691 2012-02-11  Jim Meyering  <meyering@redhat.com>
24693         bootstrap: don't exit 0 upon gnulib-tool failure
24694         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
24695         its exit status, not 0.
24697 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
24699         README-release: various improvements
24700         * top/README-release: Give a command to push changes for the
24701         release.  Add "distcheck" to list of other pre-release checks.
24702         Fix instance of "make stable" which should be "make TYPE".
24704 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24706         maint: replace FSF snail-mail addresses with URLs
24707         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
24708         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
24709         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
24710         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
24711         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
24712         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
24713         * lib/check-version.c, lib/check-version.h, lib/config.charset:
24714         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
24715         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
24716         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
24717         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
24718         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
24719         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
24720         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
24721         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
24722         * lib/glthread/thread.c, lib/glthread/thread.h:
24723         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
24724         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
24725         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
24726         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
24727         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
24728         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
24729         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
24730         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
24731         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
24732         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
24733         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
24734         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
24735         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
24736         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
24737         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
24738         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
24739         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
24740         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
24741         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
24742         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
24743         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
24744         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
24745         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
24746         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
24747         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
24748         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
24749         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
24750         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
24751         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
24752         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
24753         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
24754         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
24755         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
24756         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
24757         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
24758         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
24759         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
24760         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
24761         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
24762         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
24763         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
24764         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
24765         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
24766         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
24767         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
24768         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
24769         * tests/test-poll.c, tests/test-quotearg-simple.c:
24770         * tests/test-quotearg.c, tests/test-quotearg.h:
24771         * tests/test-round-ieee.c, tests/test-round1.c:
24772         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
24773         * tests/test-roundl-ieee.c, tests/test-roundl.c:
24774         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
24775         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
24776         * tests/test-strerror.c, tests/test-strerror_r.c:
24777         * tests/test-strsignal.c, tests/test-strverscmp.c:
24778         * tests/test-xmemdup0.c:
24779         Replace FSF snail mail addresses with URLs, as per GNU coding
24780         standards.  See glibc bug
24781         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
24783 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
24785         README-release: capitalize a word and split a line
24786         * top/README-release: Fix punctuation and spacing.
24788 2012-02-08  Akim Demaille  <demaille@gostai.com>
24790         fatal-signal: use C prototypes (with explicit void).
24791         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
24792         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
24794 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
24796         regex: spelling fix
24797         * lib/regexec.c: spelling fix
24799         regex: rely on stdint.h for SIZE_MAX
24800         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
24802 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
24804         regex: merge glibc changes
24806         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
24807         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
24808         (init_word_char): Work even if bitset words are not exactly 32 or
24809         64 bits wide.  Don't assume there are no padding bits.
24810         * lib/regex.c [_LIBC]: Do not include <config.h>.
24811         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
24812         and -Wtype-limits.
24813         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
24814         needless disagreement with glibc.  All uses changed.  Define it to
24815         1 only if _GNU_SOURCE, to match glibc.
24816         (_REG_RM_NAME): Remove; no longer needed, since the names in
24817         question are now all protected by __USE_GNU.
24818         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
24819         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
24820         * lib/regex_internal.h (MIN): New macro.
24822         2012-01-03 Ulrich Drepper <drepper@gmail.com>
24823         * lib/regcomp.c (init_word_char): Optimize regex a bit.
24825         2011-12-30 Jakub Jelinek <jakub@redhat.com>
24826         * lib/regex_internal.c (re_string_fetch_byte_case):
24827         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
24828         is miscompiled, and it turns out it is because of an incorrect
24829         attribute on re_string_fetch_byte_case.  Unlike
24830         re_string_peek_byte_case, this one is really not pure, it modifies
24831         memory (increments pstr->cur_idx), and with the pure attribute GCC
24832         assumed it doesn't and it cached the presumed value of
24833         regexp->cur_idx in a variable across the
24834          for (;; ++i)
24835            {
24836              if (i >= BRACKET_NAME_BUF_SIZE)
24837                return REG_EBRACK;
24838              if (token->type == OP_OPEN_CHAR_CLASS)
24839                ch = re_string_fetch_byte_case (regexp);
24840              else
24841                ch = re_string_fetch_byte (regexp);
24842              if (re_string_eoi(regexp))
24843                return REG_EBRACK;
24844              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
24845                break;
24846              elem->opr.name[i] = ch;
24847            }
24849         2011-11-29 Andreas Schwab <schwab@redhat.com>
24850         * lib/regcomp.c (build_equiv_class):
24851         Fix access after end of search string in regex matcher.
24853         2011-11-12 Ulrich Drepper <drepper@redhat.com>
24854         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
24856         2011-10-12 Ulrich Drepper <drepper@redhat.com>
24857         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
24859         2011-10-11 Ulrich Drepper <drepper@redhat.com>
24860         * lib/regcomp.c (parse_branch, parse_sub_exp):
24861         More regex memory leak fixes and tests.
24862         (parse_sub_exp, parse_bracket_exp):
24863         Fix memory leak for some invalid regular expressions.
24865         2011-05-28 Ulrich Drepper <drepper@gmail.com>
24866         * lib/regex_internal.c, lib/regexec.c:
24867         Fix unnecessary overallocation due to incomplete character.  When
24868         incomplete characters are found at the end of a string the code
24869         ran amok and allocated lots of memory.  Stricter limits are now in
24870         place.
24872         2011-05-20 Reuben Thomas <rrt@sc3d.org>
24873         * lib/regex.h: Update documentation.
24875         2011-05-16 Aharon Robbins <arnold@skeeve.com>
24876         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
24878         2010-05-05 Andreas Schwab <schwab@redhat.com>
24879         * lib/regexec.c (find_collation_sequence_value):
24880         Fix lookup of collation sequence value during regexp matching.
24882         2010-01-22 Ulrich Drepper <drepper@redhat.com>
24883         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
24885         2008-01-16 Ulrich Drepper <drepper@redhat.com>
24886         * lib/regex.h: Cleanup namespace.
24888         2007-11-26 Ulrich Drepper <drepper@redhat.com>
24889         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
24891         2007-08-26 Ulrich Drepper <drepper@redhat.com>
24892         * lib/regex_internal.h: Prevent some declarations and definitions
24893         to be seen when used in tests.
24895         2005-05-06 Ulrich Drepper <drepper@redhat.com>
24896         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
24897         __libc_lock_* macros if not _LIBC.
24898         (struct re_dfa_t): Add lock.
24900 2012-02-07  Eric Blake  <eblake@redhat.com>
24902         maint.mk: also prohibit lower-case @var@
24903         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
24904         lower case, like @top_srcdir@.
24906 2012-02-04  Eric Blake  <eblake@redhat.com>
24908         canonicalize: avoid uninitialized memory use
24909         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
24910         random '/' left in dest.
24911         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
24913 2012-02-04  Bruno Haible  <bruno@clisp.org>
24915         isatty: Fix test failure of ptsname_r on native Windows.
24916         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
24917         and don't set errno.
24918         (isatty): Test first whether fd is valid. Set errno when returning 0.
24920 2012-02-04  Bruno Haible  <bruno@clisp.org>
24922         spawn-pipe tests: Fix a NULL program name in a diagnostic.
24923         * tests/test-spawn-pipe-main.c: Include progname.h.
24924         (main): Invoke set_program_name.
24925         * modules/spawn-pipe-tests (Depends-on): Add progname.
24927         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
24928         * tests/test-nonblocking-socket-main.c: Include progname.h.
24929         (main): Invoke set_program_name.
24930         * modules/nonblocking-socket-tests (Depends-on): Add progname.
24932         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
24933         * tests/test-nonblocking-pipe-main.c: Include progname.h.
24934         (main): Invoke set_program_name.
24935         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
24937 2012-02-04  Eric Blake  <eblake@redhat.com>
24939         canonicalize-lgpl: fix // handling
24940         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
24942         canonicalize: fix // handling
24943         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
24944         /// to //, since only // is special.
24946 2012-02-04  Bruno Haible  <bruno@clisp.org>
24948         ioctl: Fix test failure on native Windows.
24949         * lib/ioctl.c: Include msvc-nothrow.h.
24950         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
24952 2012-02-04  Bruno Haible  <bruno@clisp.org>
24954         fsync: Avoid test failure on native Windows.
24955         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
24956         read-only.
24958 2012-02-04  Bruno Haible  <bruno@clisp.org>
24960         sys_select: Avoid syntax error on OpenBSD 5.0.
24961         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
24962         currently being included, just include the system's <sys/select.h>.
24964 2012-02-04  Bruno Haible  <bruno@clisp.org>
24966         sys_select: Avoid syntax error on OpenBSD 5.0.
24967         * lib/sys_select.in.h: Include <signal.h> only after the include_next
24968         <sys/select.h>, not before.
24969         Reported by Jiri B <jirib@devio.us>.
24971 2012-02-04  Bruno Haible  <bruno@clisp.org>
24973         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
24974         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
24975         global variables.
24976         * tests/test-get-rusage-data.c (main): Likewise.
24977         Reported by Jim Meyering.
24979 2012-02-04  Bruno Haible  <bruno@clisp.org>
24981         stdioext: Fix last commit.
24982         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
24984 2012-02-03  Bruno Haible  <bruno@clisp.org>
24986         stdioext: Add tentative support for Plan9.
24987         * lib/stdio-impl.h: Include <errno.h>.
24988         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
24989         * lib/freadable.c (freadable): Likewise.
24990         * lib/fwritable.c (fwritable): Likewise.
24991         * lib/fbufmode.c (fbufmode): Likewise.
24992         * lib/freading.c (freading): Likewise.
24993         * lib/fwriting.c (fwriting): Likewise.
24994         * lib/freadptr.c (freadptr): Likewise.
24995         * lib/freadseek.c (freadptrinc): Likewise.
24996         * lib/freadahead.c (freadahead): Likewise.
24997         * lib/fpurge.c (fpurge): Likewise.
24998         * lib/fseeko.c (rpl_fseeko): Likewise.
24999         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
25000         Reported by Jens Staal <staal1978@gmail.com>.
25002 2012-02-02  Jim Meyering  <meyering@redhat.com>
25004         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
25005         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
25006         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
25007         not even to try to add the attribute.  Instead, add a pragma to suppress
25008         the suggestion/warning.
25010 2012-01-31  Karl Berry  <karl@gnu.org>
25012         setstate doc: typo.
25013         * doc/posix-functions/setstate.texi (setstate): { not (.
25015 2012-01-31  Bruno Haible  <bruno@clisp.org>
25017         popen: Make more robust on Windows.
25018         * lib/popen.c: On native Windows, use the _popen based code even if
25019         HAVE_POPEN is set.
25020         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
25021         environment variable on native Windows.
25023 2012-01-30  Bruno Haible  <bruno@clisp.org>
25025         pclose: Fix typo.
25026         * lib/stdio.in.h (pclose): Fix typo in warning message.
25028 2012-01-30  Bruno Haible  <bruno@clisp.org>
25030         doc about getlogin_r, setstate.
25031         * doc/posix-functions/getlogin_r.texi: List the incompatible
25032         declaration problem under "not fixed by gnulib".
25033         * doc/posix-functions/setstate.texi: Mention incompatible declaration
25034         problem on Solaris 11 and other platforms.
25036 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
25037             Bruno Haible  <bruno@clisp.org>
25039         poll tests: Make test more robust.
25040         * tests/test-poll.c: Include macros.h.
25041         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
25042         return value of various I/O operations.
25043         * modules/poll-tests (Files): Add tests/macros.h.
25045 2012-01-30  Bruno Haible  <bruno@clisp.org>
25047         sys_stat: Fix support for mingw64 and MSVC.
25048         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
25049         header files already do it.
25050         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
25051         stat itself.
25052         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
25054 2012-01-30  Bruno Haible  <bruno@clisp.org>
25056         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
25057         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
25058         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
25060 2012-01-29  Bruno Haible  <bruno@clisp.org>
25062         quotearg: Fix test failure on MacOS X 10.5.
25063         * tests/test-quotearg-simple.c: Include localcharset.h.
25064         (main): If the locale encoding is not ASCII, bypass the tests of
25065         locale_quoting_style and clocale_quoting_style.
25066         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
25068 2012-01-29  Jim Meyering  <meyering@redhat.com>
25070         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
25071         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
25072         detect uses of canonicalize_file_name.
25074 2012-01-28  Bruno Haible  <bruno@clisp.org>
25076         test-framework-sh: Fix test failure with AIX 7.1 diff.
25077         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
25078         in column 1, like 'diff -c' does.
25079         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
25080         whether 'diff -u' is used. Instead, test whether the output contains
25081         some '@' character.
25083 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25085         strtoimax: eliminate need for stdint.h, inttypes.h checks
25086         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
25087         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
25088         the prerequisites for a recently-introduced strtoimax test.
25089         I guess this might cause strtoimax to be replaced when not
25090         strictly necessary on older hosts, but this shouldn't introduce
25091         any bugs and it should make Emacs 'configure' faster on typical
25092         modern hosts.  Problem discovered when importing the latest gnulib
25093         to an Emacs test version.
25094         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
25096 2012-01-28  Bruno Haible  <bruno@clisp.org>
25098         sys_time: Override 'struct timeval' on some native Windows platforms.
25099         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
25100         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
25101         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
25102         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
25103         needs to be overridden.
25104         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
25105         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
25106         * tests/test-sys_select.c: Check that the tv_sec member has the same
25107         size as a 'time_t'.
25108         * tests/test-sys_time.c: Likewise.
25109         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
25110         is set, set also REPLACE_GETTIMEOFDAY.
25111         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
25112         convert the resulting 'struct timeval' before returning.
25113         * lib/select.c: Include <sys/time.h>.
25114         (select, timeval): Undefine at the right place.
25115         * modules/select (Depends-on): Add sys_time.
25116         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
25117         some Windows platforms.
25118         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
25120 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
25122         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
25123         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
25124         an integer.
25125         * lib/fcntl.c (dupfd): Likewise.
25126         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
25128 2012-01-28  Bruno Haible  <bruno@clisp.org>
25130         fcntl: Avoid compilation error on native Windows.
25131         * modules/fcntl (Depends-on): Add 'close'.
25133 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
25135         select, poll, isatty: Avoid warnings on x86_64 mingw64.
25136         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
25137         pointer to an integer.
25138         * lib/poll.c (IsConsoleHandle): Likewise.
25139         * lib/isatty.c (IsConsoleHandle): Likewise.
25141 2012-01-28  Jim Meyering  <meyering@redhat.com>
25143         doc: clarify README-release
25144         * top/README-release: Clarify: you should make a point to have
25145         the latest stable versions of build tools in your PATH, and the
25146         reference to buildreq is solely for its list of tool names, not
25147         for its minimal-functional version numbers.
25148         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
25150         maint.mk: use more readable (yet functionally equivalent) quoting
25151         It is common to quote a single quote in a single quoted string like
25152         this:  '...'\''...'.  Unless you know the idiom, that looks like
25153         gibberish, so prefer to double-quote the string when possible.
25154         Then you can use a more readable, lone single quote: "...'..."
25155         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
25156         "don't" is more readable than the equivalent 'don'\''t'.
25157         (sc_cast_of_x_alloc_return_value): Likewise.
25158         (sc_cast_of_alloca_return_value): Likewise.
25159         (sc_makefile_path_separator_check): Similar: use ":" in '...',
25160         rather than '\'':'\''.
25162 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
25164         stdalign: relax _Alignof and tighten _Alignas test
25165         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
25166         as it was too strict: alignof must divide offsetof, but it need
25167         not equal offsetof.  Inspired by Joseph S. Myers's comment
25168         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
25169         Conversely, tighten the _Alignas test a bit, as the resulting
25170         alignment must be exactly 8.
25172 2012-01-27  Bruno Haible  <bruno@clisp.org>
25174         stdalign: Document the last change.
25175         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
25177 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
25179         stdalign: check that alignof and offsetof are consistent
25180         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
25181         Problem reported for gnulib by Richard W.M. Jones in
25182         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
25184 2012-01-27  Jim Meyering  <meyering@redhat.com>
25186         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
25187         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
25188         convert a sequence with gaps to the minimal containing range.
25189         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
25190         * tests/test-update-copyright.sh: Test for this.
25191         The FSF confirmed it is ok to do this, assuming there is at
25192         least one significant change per year in the affected range:
25193         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
25195 2012-01-26  Bruno Haible  <bruno@clisp.org>
25197         pipe2: refine doc about thread-safety
25198         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
25199         multithread-safety problem.
25200         * doc/glibc-functions/accept4.texi: Likewise.
25202 2012-01-26  Bruno Haible  <bruno@clisp.org>
25204         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
25205         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
25206         In the test program, include <fcntl.h>, for O_RDONLY.
25208 2012-01-26  Eric Blake  <eblake@redhat.com>
25210         pipe2: document lack of thread-safety in replacement
25211         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
25212         issue in replacement.
25213         * doc/glibc-functions/accept4.texi (accept4): Likewise.
25214         Based on a report by Eric Wong.
25216 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
25217             Bruno Haible  <bruno@clisp.org>
25219         malloca: Avoid warnings on x86_64 mingw64.
25220         * lib/malloca.c: Include <stdint.h>.
25221         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
25222         * modules/malloca (Depends-on): Add stdint.
25223         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
25225 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
25227         obstack: remove __STDC__ conditionals
25228         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
25229         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
25230         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
25231         m4/include_next.m4 as the only gnulib-maintained places that still
25232         refer to __STDC__.
25234 2012-01-24  Bruno Haible  <bruno@clisp.org>
25236         havelib: Modern quoting.
25237         * build-aux/config.rpath: Quote 'like this', not `like this', as per
25238         the recent change to the GNU coding standards.
25240 2012-01-24  Bruno Haible  <bruno@clisp.org>
25242         stdint: Improve support for Android.
25243         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
25244         Reported by Simon Josefsson <simon@josefsson.org>.
25246 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25248         doc: omit trailing empty lines from INSTALL etc.
25249         * doc/Makefile (INSTALL): Omit trailing empty lines.
25250         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
25251         omit trailing empty lines.  This simplifies the build procedure.
25253 2012-01-23  Jim Meyering  <meyering@redhat.com>
25255         tests: avoid spurious warnings about gl_sockets_startup
25256         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
25257         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
25258         reporting a "statement with no effect".
25259         * tests/test-accept.c (main): Mark as "(void)".
25260         * tests/test-accept4.c (main): Likewise.
25261         * tests/test-bind.c (main): Likewise.
25262         * tests/test-connect.c (main): Likewise.
25263         * tests/test-getpeername.c (main): Likewise.
25264         * tests/test-getsockname.c (main): Likewise.
25265         * tests/test-getsockopt.c (main): Likewise.
25266         * tests/test-listen.c (main): Likewise.
25267         * tests/test-recv.c (main): Likewise.
25268         * tests/test-recvfrom.c (main): Likewise.
25269         * tests/test-send.c (main): Likewise.
25270         * tests/test-sendto.c (main): Likewise.
25271         * tests/test-setsockopt.c (main): Likewise.
25272         * tests/test-shutdown.c (main): Likewise.
25274 2012-01-21  Bruno Haible  <bruno@clisp.org>
25276         locale-fr.m4: Fix for Android.
25277         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
25278         failure of the test program on Bionic libc.
25280 2012-01-21  Jim Meyering  <meyering@redhat.com>
25282         bootstrap: fail when bootstrap_post_import_hook fails
25283         Otherwise, it's far too easy to miss diagnostics emitted
25284         between gnulib-tool's output and that of running configure.
25285         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
25287 2012-01-17  Jim Meyering  <meyering@redhat.com>
25289         maint: enable sc_trailing_blank
25290         * build-aux/pmccabe.css: Remove trailing blanks.
25291         * doc/acl-cygwin.txt: Likewise.
25292         * doc/gnu-oids.texi: Likewise
25293         * cfg.mk: Enable sc_trailing_blank.
25294         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
25296 2012-01-17  Jim Meyering  <meyering@redhat.com>
25298         maint: enable sc_prohibit_openat_without_use
25299         * cfg.mk: Enable sc_prohibit_openat_without_use.
25300         Exempt lib/selinux-at.c.
25302 2012-01-17  Jim Meyering  <meyering@redhat.com>
25304         maint: enable sc_prohibit_cloexec_without_use
25305         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
25306         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
25308 2012-01-17  Jim Meyering  <meyering@redhat.com>
25310         maint: enable sc_prohibit_intprops_without_use
25311         * cfg.mk: Enable sc_prohibit_intprops_without_use
25312         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
25314 2012-01-17  Jim Meyering  <meyering@redhat.com>
25316         maint: enable sc_prohibit_hash_pjw_without_use
25317         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
25318         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
25319         to match any use of \<hash_pjw\>, i.e., not necessarily with a
25320         following " (".
25322 2012-01-17  Jim Meyering  <meyering@redhat.com>
25324         maint: enable double-word-prohibiting rule
25325         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
25326         Exempt three files.
25328 2012-01-17  Jim Meyering  <meyering@redhat.com>
25330         maint: remove empty lines at EOF, but excluding modules/*
25331         Apply syntax rules at home as well as abroad.  Most changes
25332         were induced by running this:
25333           make srcdir=. _build-aux=build-aux -f top/maint.mk \
25334             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
25335             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
25336         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
25337         Exempt modules/* and two binary files.
25338         Also exempt doc/INSTALL*, per request from Bruno Haible.
25339         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
25340         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
25341         * doc/Copyright/request-assign.future: Likewise.
25342         * doc/Copyright/request-disclaim.changes: Likewise.
25343         * doc/INSTALL: Likewise.
25344         * doc/INSTALL.ISO: Likewise.
25345         * doc/INSTALL.UTF-8: Likewise.
25346         * doc/acl-cygwin.txt: Likewise.
25347         * doc/acl-resources.txt: Likewise.
25348         * doc/fdl-1.2.texi: Likewise.
25349         * doc/fdl-1.3.texi: Likewise.
25350         * doc/fdl.texi: Likewise.
25351         * lib/argp-pin.c: Likewise.
25352         * lib/round.c: Likewise.
25353         * lib/unicase/u16-totitle.c: Likewise.
25354         * lib/unictype/block_test.c: Likewise.
25355         * lib/uninorm/canonical-decomposition.c: Likewise.
25356         * m4/README: Likewise.
25357         * m4/relocatable-lib.m4: Likewise.
25358         * tests/test-isnand-nolibm.c: Likewise.
25359         * tests/test-isnand.c: Likewise.
25360         * tests/uninorm/NormalizationTest.txt: Likewise.
25362 2012-01-17  Jim Meyering  <meyering@redhat.com>
25364         maint: add framework to run syntax-check rules against gnulib sources
25365         * cfg.mk: New file, to disable all currently-failing tests.
25366         We'll enable them one by one, as they are made to pass.
25367         * Makefile (sc_maint): New rule.
25369 2012-01-21  Bruno Haible  <bruno@clisp.org>
25371         stdint: Add support for Android.
25372         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
25373         include the system's <stdint.h>.
25374         Reported by Simon Josefsson <simon@josefsson.org>.
25376 2012-01-19  Jim Meyering  <meyering@redhat.com>
25378         bootstrap: add bootstrap_post_import_hook
25379         Bison does still need something like the gnulib_mk_hook whose
25380         invocation I had to remove along with slurp in commit 767ccd40.
25381         Technically, we could get along without it, but doing so would
25382         have required living with a warning and a mandatory post-bootstrap
25383         automake rerun.
25384         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
25385         (bootstrap_post_import_hook): New function.
25386         Invoke it after gnulib-tool --import and before autoreconf.
25388 2012-01-18  Jim Meyering  <meyering@redhat.com>
25390         gitlog-to-changelog: don't use "no_"-prefixed variable name
25391         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
25392         to enable both --cluster and --no-cluster.  Change variable name,
25393         s/\$no_cluster/$cluster/, and reverse usage to match.
25395         gitlog-to-changelog: use "||", not "or" in expressions
25396         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
25397         expressions.
25399 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
25401         gitlog-to-changelog: new option --no-cluster
25402         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
25403         clustering of adjacent commit messages.
25405 2012-01-17  Jim Meyering  <meyering@redhat.com>
25407         maint: spell file systems with two words, not one
25408         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
25409         two words, not one.
25411 2012-01-16  Jim Meyering  <meyering@redhat.com>
25413         bootstrap: add a FIXME comment to ensure we eventually remove the hack
25414         * build-aux/bootstrap (gnulib_tool_options): Add comment.
25416 2012-01-16  Eric Blake  <eblake@redhat.com>
25418         bootstrap: cater to autoconf 2.59
25419         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
25420         is not available.
25422         bootstrap: properly check for libtool
25423         * build-aux/bootstrap (libtoolize): Also run libtool when older
25424         usage is detected.
25426 2012-01-15  Bruno Haible  <bruno@clisp.org>
25428         Improve support for MSVC 9.
25429         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
25430         clashes on MSVC.
25431         * lib/fcntl.in.h: Likewise.
25432         * lib/stdlib.in.h: Likewise.
25433         * lib/sys_stat.in.h: Likewise.
25435 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
25437         gnupload: we hold the master copy of this script now
25438         For motivation and more information, see:
25439         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
25440         * build-aux/gnupload: Make it clear in the heading comments that the
25441         master copy of this file is maintained by gnulib.  Since we are at
25442         it, bump its copyright year and ...
25443         ($scriptversion): ... the date in its version.
25444         ($usage): Patches and bug reports should be sent to the gnulib list,
25445         not the automake one.
25446         * config/srclist.txt: Don't try to sync 'gnupload' from automake
25447         anymore.
25449 2012-01-15  Bruno Haible  <bruno@clisp.org>
25451         Fix module 'random'.
25452         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
25453         initstate, setstate are declared.
25455 2012-01-14  Bruno Haible  <bruno@clisp.org>
25457         Tests for module 'random'.
25458         * modules/random-tests: New file.
25459         * tests/test-random.c: New file, based on tests/test-random_r.c.
25461         New module 'random'.
25462         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
25463         declarations.
25464         * lib/random.c: New file, based on glibc/stdlib/random.c.
25465         * m4/random.m4: New file.
25466         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
25467         HAVE_RANDOM.
25468         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
25469         * modules/random: New file.
25470         * config/srclist.txt: Add an entry for random.c.
25471         * doc/posix-functions/random.texi: Mention the 'random' module.
25472         * doc/posix-functions/initstate.texi: Likewise.
25473         * doc/posix-functions/setstate.texi: Likewise.
25474         * doc/posix-functions/srandom.texi: Likewise.
25476 2012-01-12  Bruno Haible  <bruno@clisp.org>
25478         random_r: Use common idioms.
25479         * lib/random_r.c: Include <stdlib.h> first.
25481         random_r: Override incompatible API on AIX, OSF/1.
25482         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
25483         Override the system function if REPLACE_RANDOM_R is 1.
25484         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
25485         and OSF/1, set REPLACE_RANDOM_R.
25486         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
25487         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
25488         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
25489         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
25490         * doc/glibc-functions/random_r.texi: Likewise.
25491         * doc/glibc-functions/setstate_r.texi: Likewise.
25493         random_r: Support for MSVC 9.
25494         * lib/random_r.c: Include stdint.h, not inttypes.h.
25496 2012-01-12  Eric Blake  <eblake@redhat.com>
25498         inet_ntop: guard extra work by IF_LINT
25499         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
25500         better code generation when not checking for warnings.
25501         Suggested by Paul Eggert and Jim Meyering.
25503         strptime: fix regression on mingw
25504         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
25505         Fix regression.  Reported by Bruno Haible.
25507 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
25508             Bruno Haible  <bruno@clisp.org>
25510         copy-file: add error-code-returning variant.
25511         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
25512         (qcopy_file_preserving): New declaration.
25513         * lib/copy-file.c (qcopy_file_preserving): Renamed from
25514         copy_file_preserving. Change return type to 'int'. Don't emit an error
25515         message here.
25516         (copy_file_preserving): New function.
25517         * tests/test-copy-file.c: Include <stdlib.h>.
25518         (main): Test qcopy_file_preserving if the environment variable
25519         NO_STDERR_OUTPUT is set.
25520         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
25521         with NO_STDERR_OUTPUT
25522         * tests/test-copy-file-2.sh: Likewise.
25524 2012-01-10  Bruno Haible  <bruno@clisp.org>
25526         copy-file: Use 'quote' module consistently.
25527         * lib/copy-file.c (copy_file_preserving): Use quote().
25529         copy-file: Refactor.
25530         * lib/copy-file.c: Include quote.h.
25531         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
25532         message here.
25533         * modules/copy-file (Depends-on): Add quote.
25535         acl: Export qcopy_acl.
25536         * lib/acl.h (qcopy_acl): New declaration.
25537         * lib/copy-acl.c (qcopy_acl): Make non-static.
25539         acl: Rename a local variable.
25540         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
25542         acl: Align return values of copy_acl and qcopy_acl.
25543         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
25544         maybe < -1.
25546 2012-01-11  Eric Blake  <eblake@redhat.com>
25548         strptime: silence gcc warnings
25549         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
25550         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
25551         Reported by Daniel P. Berrange.
25553         inet_ntop: silence gcc warning
25554         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
25555         Reported by Daniel P. Berrange.
25557 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
25559         getloadavg test: skip the test on GNU/Linux without /proc mounted
25560         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
25561         file.  When /proc is not mounted, it always fails with ENOENT.
25562         * tests/test-getloadavg.c (main): Treat ENOENT return code from
25563         getloadavg(3) the same way as ENOSYS and ENOTSUP.
25565 2012-01-10  Bruno Haible  <bruno@clisp.org>
25567         regex: Avoid link error on MSVC 9.
25568         * modules/regex (Depends-on): Add wctype.
25570 2012-01-10  Bruno Haible  <bruno@clisp.org>
25572         doc: Mention --with-tests option.
25573         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
25574         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
25575         --with-tests.
25576         Reported by Reuben Thomas.
25578 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
25580         users.txt: order package names lexicographically.
25581         * users.txt: Order package names lexicographically.
25583 2012-01-10  Jim Meyering  <meyering@redhat.com>
25585         maint.mk: fix description in comment
25586         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
25588         ignore-value: remove deprecated ignore_ptr function
25589         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
25590         * NEWS: Note this.
25592 2012-01-09  Jim Meyering  <meyering@redhat.com>
25594         test-init.sh: avoid a subshell
25595         * tests/test-init.sh: Remove protective subshell.
25596         Suggested by Bernhard Voelker.  While a subshell is normally
25597         required to protect against older shells (Solaris, FreeBSD) that
25598         warn about a missing program before performing redirection, the
25599         shell-selection tests performed by init.sh probably exclude any
25600         offending shell.
25602 2012-01-08  Bruno Haible  <bruno@clisp.org>
25604         setlocale tests: Avoid test failure on Solaris 11.0.
25605         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
25606         variable.
25608 2012-01-08  Bruno Haible  <bruno@clisp.org>
25610         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
25611         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
25612         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
25613         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
25614         macro.
25615         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
25616         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
25617         * lib/spawn_faction_addopen.c: Add workaround implementation if
25618         HAVE_WORKING_POSIX_SPAWN.
25619         * modules/spawn (Makefile): Substitute
25620         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
25621         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
25622         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
25623         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
25624         (Depends-on): Update conditions.
25625         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
25626         the Solaris 11 bug.
25628 2012-01-08  Bruno Haible  <bruno@clisp.org>
25630         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
25631         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
25632         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
25633         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
25634         macro.
25635         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
25636         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
25637         * lib/spawn_faction_adddup2.c: Add workaround implementation if
25638         HAVE_WORKING_POSIX_SPAWN.
25639         * modules/spawn (Makefile): Substitute
25640         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
25641         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
25642         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
25643         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
25644         (Depends-on): Update conditions.
25645         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
25646         the Solaris 11 bug.
25648 2012-01-08  Bruno Haible  <bruno@clisp.org>
25650         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
25651         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
25652         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
25653         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
25654         HAVE_WORKING_POSIX_SPAWN.
25655         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
25656         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
25657         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
25658         * lib/spawn_faction_addclose.c: Add workaround implementation if
25659         HAVE_WORKING_POSIX_SPAWN.
25660         * modules/spawn (Makefile): Substitute
25661         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
25662         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
25663         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
25664         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
25665         (Depends-on): Update conditions.
25666         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
25667         the Solaris 11 bug.
25669 2012-01-08  Bruno Haible  <bruno@clisp.org>
25671         doc: Update for Solaris 11.0.
25672         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
25673         * m4/printf.m4: Update comments.
25675 2012-01-08  Bruno Haible  <bruno@clisp.org>
25677         mktime: Avoid compilation error on Solaris 11.
25678         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
25680 2012-01-08  Bruno Haible  <bruno@clisp.org>
25682         doc: Small fix.
25683         * doc/posix-headers/nl_types.texi: Correct platforms list.
25685 2012-01-08  Simon Josefsson  <simon@josefsson.org>
25687         Add lgpl-3.0 module.
25688         * MODULES.html.sh (Support for building documentation): Add
25689         lgpl-3.0.
25690         * modules/lgpl-3.0: New file.
25692 2012-01-08  Jim Meyering  <meyering@redhat.com>
25694         select.c: indent with spaces, not TABs
25695         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
25697 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
25699         quotearg: do not use grave accent for left quote
25700         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
25701         locale_quoting_style.
25702         (quotearg_buffer_restyled): Fix example.
25703         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
25705 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
25707         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
25708         Most programs do not have translation catalogs for English and much
25709         less separate catalogs for British and American English.  Drop the
25710         suggestion to translators about these two, and provide it
25711         automatically for Unicode locales.  Like most programs, even those
25712         using American English, we use single quotation marks.  This conflicts
25713         with the American typographic convention, but works better when you
25714         cite the entire error message within double quotes.  It also tries not
25715         to clash with established practice and with what non-gnulib programs
25716         will usually do.
25717         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
25718         using an UTF-8 or GB-18030 locale.  The list of other locales with
25719         quotes was provided by Bruno Haible.
25720         (quotearg_buffer_restyled): Adjust instructions to translators.
25721         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
25722         text, since this would be wrong when using Unicode.
25723         * modules/quotearg: Depend on c-strcaseeq.
25725 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
25727         quotearg: fix Wikipedia link
25728         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
25730 2012-01-07  Simon Josefsson  <simon@josefsson.org>
25732         Fix for mingw with MSVC9.
25733         * m4/ld-version-script.m4: Check that compiler rejects version
25734         scripts with syntax errors.  Reported by Bruno Haible
25735         <bruno@clisp.org>.
25737 2012-01-06  Bruno Haible  <bruno@clisp.org>
25739         Talk about "native Windows API", not "Woe32".
25740         * lib/accept4.c: Update comments to mention native Windows.
25741         * lib/execute.c: Likewise.
25742         * lib/fatal-signal.c: Likewise.
25743         * lib/localcharset.c: Likewise.
25744         * lib/nanosleep.c: Likewise.
25745         * lib/nl_langinfo.c: Likewise.
25746         * lib/pclose.c: Likewise.
25747         * lib/pipe-filter-gi.c: Likewise.
25748         * lib/pipe-filter-ii.c: Likewise.
25749         * lib/pipe.c: Likewise.
25750         * lib/pipe2.c: Likewise.
25751         * lib/popen.c: Likewise.
25752         * lib/progreloc.c: Likewise.
25753         * lib/relocatable.c: Likewise.
25754         * lib/sigaction.c: Likewise.
25755         * lib/sigprocmask.c: Likewise.
25756         * lib/spawn-pipe.h: Likewise.
25757         * lib/spawn-pipe.c: Likewise.
25758         * lib/spawni.c: Likewise.
25759         * lib/stat-time.h: Likewise.
25760         * lib/w32spawn.h: Likewise.
25761         * tests/test-isatty.c: Likewise.
25762         * lib/config.charset: More comments.
25763         * doc/gnulib-intro.texi: Mention native Windows.
25764         * doc/posix-functions/_Exit_C99.texi: Likewise.
25765         * doc/posix-headers/fcntl.texi: Likewise.
25767 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
25769         argp: Avoid crash if translator uses % characters in a translation.
25770         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
25771         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
25773 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
25775         doc: C11 and C++11 are now official
25776         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
25777         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
25778         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
25779         * modules/stdalign:
25780         Replace references to draft C1X to C11, and to draft C++0X to C++11.
25782 2012-01-06  Bruno Haible  <bruno@clisp.org>
25784         uc-is-grapheme-break tests: Tweak.
25785         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
25786         message.
25788 2012-01-06  Bruno Haible  <bruno@clisp.org>
25790         test-init.sh: correct the test for diff -u
25791         * tests/test-init.sh: Also redirect stdout to /dev/null.
25793 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
25795         Use ', not `, for quoting output.
25796         * build-aux/announce-gen (usage, sizes, print_news_deltas)
25797         (print_changelog_deltas, get_tool_versions, main program):
25798         * build-aux/git-version-gen:
25799         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
25800         * build-aux/move-if-change (help):
25801         * build-aux/useless-if-before-free (usage, main program):
25802         * check-module (parse_module_file, usage)
25803         (find_included_lib_files, check_module):
25804         * lib/argmatch.c (main) [TEST]:
25805         * lib/argp-help.c (_help):
25806         * lib/getopt1.c (main) [TEST]:
25807         * lib/git-merge-changelog.c (usage):
25808         * lib/xstrtol-error.c (xstrtol_error):
25809         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
25810         * m4/argz.m4 (gl_FUNC_ARGZ):
25811         * m4/bison.m4 (gl_BISON):
25812         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
25813         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
25814         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
25815         * m4/fpending.m4 (gl_PREREQ_FPENDING):
25816         * m4/gc-random.m4 (gl_GC_RANDOM):
25817         * m4/intl.m4 (gt_CHECK_DECL):
25818         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
25819         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
25820         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
25821         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
25822         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
25823         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
25824         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
25825         * tests/test-dirname.c (main):
25826         * tests/test-getpass.c (main):
25827         * tests/test-iconvme.c (main):
25828         * tests/test-parse-datetime.c (LOG):
25829         * tests/test-xstrtoimax.sh:
25830         * tests/test-xstrtol.sh:
25831         * tests/test-xstrtoll.sh:
25832         * tests/test-xstrtoumax.sh:
25833         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
25834         * top/GNUmakefile (abort-due-to-no-makefile):
25835         Quote 'like this', not `like this', as per the recent change to
25836         the GNU coding standards.
25838 2012-01-05  Bruno Haible  <bruno@clisp.org>
25840         strtoimax: Don't force a replacement on systems where intmax_t is int.
25841         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
25842         'intmax_t' is not larger than 'int'.
25843         Reported by Pádraig Brady <P@draigBrady.com>.
25845 2012-01-05  Bruno Haible  <bruno@clisp.org>
25847         doc: Mention NetBSD bugs.
25848         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
25849         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
25851 2012-01-05  Bruno Haible  <bruno@clisp.org>
25853         strtoumax tests: Enhance tests.
25854         * tests/test-strtoumax.c (main): Add tests for large values.
25856 2012-01-05  Bruno Haible  <bruno@clisp.org>
25858         strtoimax: Work around AIX 5.1 bug.
25859         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
25860         definition.
25861         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
25862         Set HAVE_STRTOIMAX.
25863         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
25864         REPLACE_STRTOIMAX.
25865         * modules/inttypes-incomplete (Makefile.am): Substitute
25866         REPLACE_STRTOIMAX.
25867         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
25868         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
25869         (Depends-on): Update conditions.
25870         * tests/test-strtoimax.c (main): Add tests for large values.
25871         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
25873 2012-01-05  Bruno Haible  <bruno@clisp.org>
25875         inttypes: Modernize.
25876         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
25877         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
25878         (Makefile.am): Update inttypes.h rule.
25880 2012-01-05  Jim Meyering  <meyering@redhat.com>
25882         init.sh: don't waste a subshell just to redirect stderr
25883         * tests/init.sh: In testing for diff -u and diff -c, use a
25884         stderr-redirecting exec inside `...` rather than a subshell.
25886         test-init.sh: avoid failure on HP-UX 11.00
25887         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
25888         resolves to diff -c or cmp.  Reported by Bruno Haible.
25890 2012-01-05  Bruno Haible  <bruno@clisp.org>
25892         Tests for module 'strtoull'.
25893         * modules/strtoull-tests: New file.
25894         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
25896 2012-01-05  Bruno Haible  <bruno@clisp.org>
25898         Tests for module 'strtoll'.
25899         * modules/strtoll-tests: New file.
25900         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
25902 2012-01-05  Bruno Haible  <bruno@clisp.org>
25904         Tests for module 'strtoul'.
25905         * modules/strtoul-tests: New file.
25906         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
25908 2012-01-05  Bruno Haible  <bruno@clisp.org>
25910         Tests for module 'strtol'.
25911         * modules/strtol-tests: New file.
25912         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
25914 2012-01-04  Jim Meyering  <meyering@redhat.com>
25916         test-init.sh: accommodate Solaris 5.10's different diff -u output
25917         * tests/test-init.sh: Also exempt @@ lines from the comparison
25918         of diff output, since Solaris 5.10 and GNU diff formats differ.
25919         Reported by Stefano Lattarini.
25921 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
25923         test-posixtm: don't assume signed integer wraparound
25924         * tests/test-posixtm.c (main): Don't assume wraparound semantics
25925         after signed integer overflow.  Inspired by (though it may not
25926         fix) Bruno Haible's bug report in
25927         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
25929         Spell out "Windows 9x" and "Windows XP".
25930         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
25931         "Windows 9x" and "WinXP" with "Windows XP".
25933 2012-01-04  Jim Meyering  <meyering@redhat.com>
25935         test-vc-list-files-cvs.sh: remove obsolete comment
25936         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
25937         double exit.  Now that's all encapsulated via skip_ and Exit.
25939 2012-01-04  Bruno Haible  <bruno@clisp.org>
25941         Talk about "native Windows API", not "Win32".
25942         * lib/classpath.c: Update comments to mention native Windows.
25943         * lib/csharpexec.c: Likewise.
25944         * lib/dup2.c: Likewise.
25945         * lib/error.c: Likewise.
25946         * lib/fcntl.c: Likewise.
25947         * lib/filename.h: Likewise.
25948         * lib/findprog.c: Likewise.
25949         * lib/get-rusage-as.c: Likewise.
25950         * lib/get-rusage-data.c: Likewise.
25951         * lib/getpagesize.c: Likewise.
25952         * lib/javaexec.c: Likewise.
25953         * lib/msvc-inval.c: Likewise.
25954         * lib/msvc-nothrow.c: Likewise.
25955         * lib/nanosleep.c: Likewise.
25956         * lib/nonblocking.c: Likewise.
25957         * lib/printf-parse.c: Likewise.
25958         * lib/setlocale.c: Likewise.
25959         * lib/sigaction.c: Likewise.
25960         * lib/strerror_r.c: Likewise.
25961         * lib/tmpdir.c: Likewise.
25962         * lib/vasnprintf.c: Likewise.
25963         * lib/w32spawn.h: Likewise.
25964         * lib/waitpid.c: Likewise.
25965         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
25966         * m4/locale-ar.m4: Likewise.
25967         * m4/locale-fr.m4: Likewise.
25968         * m4/locale-ja.m4: Likewise.
25969         * m4/locale-tr.m4: Likewise.
25970         * m4/locale-zh.m4: Likewise.
25971         * m4/printf.m4: Likewise.
25972         * tests/test-cloexec.c: Likewise.
25973         * tests/test-copy-acl.sh: Likewise.
25974         * tests/test-copy-file.sh: Likewise.
25975         * tests/test-file-has-acl.sh: Likewise.
25976         * tests/test-set-mode-acl.sh: Likewise.
25977         * tests/test-dup-safer.c: Likewise.
25978         * tests/test-dup2.c: Likewise.
25979         * tests/test-dup3.c: Likewise.
25980         * tests/test-fcntl.c: Likewise.
25981         * tests/test-nonblocking-pipe.h: Likewise.
25982         * tests/test-nonblocking-socket.h: Likewise.
25983         * tests/test-pipe.c: Likewise.
25984         * tests/test-pipe2.c: Likewise.
25985         * tests/test-spawn-pipe-child.c: Likewise.
25986         * doc/acl-resources.txt: Likewise.
25987         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
25988         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
25989         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
25990         * lib/localcharset.c: Update comments to mention native Windows.
25991         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
25992         * lib/localename.c: Likewise.
25993         * lib/progreloc.c: Likewise.
25994         * lib/relocatable.c: Likewise.
25995         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
25996         (windows_compute_revents): Renamed from win32_compute_revents.
25997         (windows_compute_revents_socket): Renamed from
25998         win32_compute_revents_socket.
25999         * lib/select.c: Update comments to mention native Windows.
26000         (windows_poll_handle): Renamed from win32_poll_handle.
26001         * m4/threadlib.m4: Update comments to mention native Windows.
26002         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
26003         --enable-threads=windows instead of --enable-threads=win32. Set
26004         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
26005         * lib/glthread/lock.h: Update comments to mention native Windows.
26006         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
26007         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
26008         USE_WIN32_THREADS.
26009         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
26010         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
26011         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
26012         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
26013         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
26014         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
26015         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
26016         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
26017         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
26018         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
26019         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
26020         * tests/test-tls.c: Likewise.
26021         Rationale:
26022         Microsoft renamed the "Win32 API" to "Windows API", as it is available
26023         on both 32-bit and 64-bit Windows systems.
26024         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
26025         line of distinction is between "native Windows" on one side and Unix/
26026         POSIX systems on the other side. More details in
26027         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
26028         Suggested by Paul Eggert.
26030 2012-01-03  Bruno Haible  <bruno@clisp.org>
26032         isatty: Support for MSVC 9.
26033         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
26034         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
26035         (_isatty_nothrow): New function.
26036         (isatty): Use it instead of _isatty.
26037         (IsConsoleHandle): Add comment, from Paolo Bonzini.
26038         * lib/poll.c (IsConsoleHandle): Likewise.
26039         * lib/select.c (IsConsoleHandle): Likewise.
26040         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
26041         (gl_PREREQ_ISATTY): New macro.
26042         * modules/isatty (Depends-on): Add msvc-inval.
26043         (configure.ac): Invoke gl_PREREQ_ISATTY.
26045 2012-01-03  Jim Meyering  <meyering@redhat.com>
26047         maint.mk: remove temporary transition aid from over 1.5 years ago
26048         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
26049         purpose was to aid in the transition (avoiding silent malfunction)
26050         from that old name to the new _sc_search_regexp.  This shim was
26051         added by commit 219c504b.
26053         init.sh: do not try to accommodate compare arguments starting with "-"
26054         * tests/init.sh (compare_dev_null_): Do not try to accommodate
26055         compare arguments that start with "-".  Besides, we do not worry
26056         about this when invoking diff or cmp; why start now with sed?
26057         Using "--" to separate options from argument would trigger sed
26058         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
26059         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
26061 2012-01-02  Bruno Haible  <bruno@clisp.org>
26063         Enhance tests for module 'isatty'.
26064         * modules/isatty-tests (Depends-on): Add pipe-posix.
26065         * tests/test-isatty.c: Include <fcntl.h>.
26066         (DEV_NULL): New macro.
26067         (main): Test the resut of isatty() also on regular files, pipes, and
26068         /dev/null.
26070         New module 'isatty'.
26071         * lib/unistd.in.h (isatty): New declaration.
26072         * lib/isatty.c: New file, based on an idea of
26073         Bastien Roucariès <roucaries.bastien@gmail.com>.
26074         * m4/isatty.m4: New file.
26075         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
26076         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
26077         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
26078         REPLACE_ISATTY.
26079         * modules/isatty: New file.
26080         * doc/posix-functions/isatty.texi: Mention the new module.
26081         Suggested by Paolo Bonzini.
26083 2012-01-02  Bruno Haible  <bruno@clisp.org>
26085         canonicalize: Tweak 2011-12-29 commit.
26086         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
26087         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
26089 2012-01-02  Jim Meyering  <meyering@redhat.com>
26091         gitlog-to-changelog: describe input syntax in --help output
26092         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
26094         gitlog-to-changelog: fix typo in --help: show backslash before email @
26095         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
26096         in sources, but not in actual output.
26098 2011-12-30  Jim Meyering  <meyering@redhat.com>
26100         gitlog-to-changelog: don't malfunction when name contains %-directive
26101         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
26102         in a name string cause trouble.  E.g., with a user name of "%s",
26103         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
26105 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
26107         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
26108         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
26109         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
26110         the "  (tiny change)" notation that is appended to the standard
26111         ChangeLog "date  name  email" header line.
26113 2012-01-01  Jim Meyering  <meyering@redhat.com>
26115         test-framework-sh: init.sh: fix "make dist" failure
26116         When using gnulib-tool's --with-tests option and any module that
26117         depends on test-framework-sh, "make dist" would fail due to the
26118         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
26119         in the gltests directory, and not in the gllib/ directory.
26120         One way to work around that is to move the EXTRA_DIST += init.sh
26121         from the primary module to the -tests one:
26122         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
26123         * modules/test-framework-sh (Makefile.am): ...not here.
26124         Reported by Tom G. Christensen in
26125         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
26127         version-etc: update copyright year reported by --version
26128         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
26130 2011-12-31  Pádraig Brady  <P@draigBrady.com>
26132         canonicalize: only stat() if required
26133         * lib/canonicalize.c (canonicalize_filename_mode):
26134         Avoid calling l?stat() when both CAN_MISSING,
26135         and CAN_NOLINKS are set, as we neither need
26136         to resolve symlinks or test component existence.
26138 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
26140         doc: cover st_ino issues once; add OpenVMS etc.
26141         * doc/posix-functions/stat.texi (stat):
26142         * doc/posix-functions/lstat.texi (lstat):
26143         * doc/posix-functions/fstatat.texi (fstatat):
26144         * doc/posix-functions/fstat.texi (fstat):
26145         Move general 'struct stat' stuff to sys_stat.texi,
26146         leaving behind a pointer.
26147         * doc/posix-headers/sys_stat.texi (sys/stat.h):
26148         Merge duplicate info about 'struct stat' problems into here.
26149         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
26150         and suggest partial workarounds.
26152         same-inode: port to OpenVMS
26153         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
26154         three st_ino values.
26156 2011-12-30  Pádraig Brady  <P@draigBrady.com>
26158         canonicalize: fix references to stat() and lstat()
26159         * lib/canonicalize.c (canonicalize_filename_mode):
26160         Ensure references always resolve to a replacement
26161         function if required (even via a macro).
26163 2011-12-30  Jim Meyering  <meyering@redhat.com>
26165         gitlog-to-changelog: remove a little duplication
26166         * build-aux/gitlog-to-changelog (main): Grep @lines once,
26167         rather than twice.
26169 2011-12-29  Pádraig Brady  <P@draigBrady.com>
26171         canonicalize: add support for not resolving symlinks
26172         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
26173         indicate we don't want to follow symlinks.  Also
26174         provide CAN_MODE_MASK to aid setting these existing
26175         mutually exclusive values.
26176         * lib/canonicalize.c (canonicalize_filename_mode):
26177         Extract the flags from can_mode parameter, which
26178         are currently just used to select between stat()
26179         and lstat().  Also ensure that mutually exclusive
26180         values are flagged immediately as invalid.
26181         * tests/test-canonicalize.c: Verify symlinks are
26182         not followed, and that invalid flag combinations
26183         are diagnosed.
26185 2011-12-25  Jim Meyering  <meyering@redhat.com>
26187         gitlog-to-changelog: do not clump multi-paragraph entries
26188         Identical header lines (date,name,email+coauthors) are suppressed,
26189         thus putting all entries with those same characteristics under
26190         a single header.  However, when a log entry consists of two or
26191         more paragraphs, it may not be clear where it starts and ends.
26192         This change makes it so that such an entry is always separated
26193         from others by a header line, even when that header would
26194         otherwise be suppressed.
26195         * build-aux/gitlog-to-changelog: Implement the above.
26196         Inspired by a related request from Stefano Lattarini in
26197         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
26199 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26201         announce-gen: fix `cmd' typo in diagnostic
26202         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
26203         diagnostic: a missing '$' meant that the command was not output.
26205 2011-12-23  Jim Meyering  <meyering@redhat.com>
26207         test-framework-sh: distribute init.sh
26208         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
26209         Otherwise, "make -C gnulib-tests check" (at least in grep) would
26210         fail due to the lack of init.sh.
26212         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
26213         * modules/atexit-tests: Rather than listing tests/init.sh,
26214         now that there's a module for it, simply depend on that new module.
26215         * modules/closein-tests: Likewise.
26216         * modules/exclude-tests: Likewise.
26217         * modules/getcwd-tests: Likewise.
26218         * modules/perror-tests: Likewise.
26219         * modules/pread-tests: Likewise.
26220         * modules/pwrite-tests: Likewise.
26221         * modules/vc-list-files-tests: Likewise.
26222         * modules/verify-tests: Likewise.
26223         * modules/xalloc-die-tests: Likewise.
26224         * modules/xstrtoimax-tests: Likewise.
26225         * modules/xstrtol-tests: Likewise.
26226         * modules/xstrtoll-tests: Likewise.
26227         * modules/xstrtoumax-tests: Likewise.
26228         * modules/yesno-tests: Likewise.
26230 2011-12-22  Jim Meyering  <meyering@redhat.com>
26232         test-framework-sh: add minimal tests of init.sh's compare function
26233         * modules/test-framework-sh-tests: New file.
26234         * tests/test-init.sh: New file.
26236         test-framework-sh: new module
26237         * modules/test-framework-sh: New file.
26238         * MODULES.html.sh (Support for maintaining and releasing projects):
26239         List it.
26241         init.sh: do not emit simulated diff output to stderr
26242         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
26244 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
26246         .gitignore: ignore gnulib.dvi and regex.info
26247         * doc/.gitignore:add gnulib.dvi and regex.info
26249 2011-12-22  Jim Meyering  <meyering@redhat.com>
26251         init.sh: correct previous change
26252         * tests/init.sh (compare): My previous change was wrong.
26253         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
26255         init.sh: avoid unwarranted test failure when using "set -e"
26256         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
26257         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
26258         a use like "compare exp out" would get evoke an unconditional failure.
26260 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
26262         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
26263         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
26264         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
26265         autoreconf that did not.
26266         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
26267         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
26269 2011-12-17  Jim Meyering  <meyering@redhat.com>
26271         bootstrap: remove some now-unneeded code
26272         This script arose back when gnulib-tool was young.
26273         Since then, it has seen improvements that render much of this
26274         script unnecessary.  In particular, it can now make symlinks
26275         to the files it uses.  Also, I no longer see as much value in
26276         marking files as read-only via comments.
26277         If you relied on the symlink-creation feature of the preceding
26278         version of this script, you can get most of that functionality
26279         by adding the --symlink option to the definition of
26280         gnulib_tool_option_extras in your bootstrap.conf file.
26281         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
26282         Run autopoint and libtoolize *before* gnulib-tool.
26283         After it, run an abbreviated autoreconf, rather than a loop around
26284         all tools.
26285         (slirp, bt_mark_as_generated): Remove functions.
26287 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26289         ftoastr: fix typo
26290         * lib/ftoastr.h: Fix misspelling in comment.
26292 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
26294         * top/README-release: fix punctuation.
26296 2011-12-17  Jim Meyering  <meyering@redhat.com>
26298         bootstrap: correct the recent buildreq change
26299         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
26300         had no effect.
26301         * build-aux/bootstrap (buildreq): Bracket each search term with
26302         "*...*", so that the shell "case" statement works as intended.
26303         Add comments.
26305 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
26307         build: let bootstrap resort to wget when downloading .po files
26308         * build-aux/bootstrap (download_po_files): Fallback to wget when
26309         downloading the .po files via rsync fails.  This is necessary to
26310         bootstrap from behind a strict firewall.
26312 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
26314         stdint: don't assume C++11 when compiling with g++
26315         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
26316         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
26317         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
26318         work also in C++ before C++11, as that improperly inhibits
26319         generating a substitute stdint.h for that case.
26321 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
26323         alloca: protect comment from gnulib-tool
26324         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
26325         that gnulib-tool doesn't think it's a license, and munge it to
26326         say "GCC version 3".
26328 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
26330         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
26331         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
26332         $(abs_top_builddir) instead of $(top_builddir).
26334 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
26336         strftime-tests: also test nanoseconds
26337         * tests/test-strftime.c (T): Add a test of %N.
26339 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
26341         inttypes, stdint: add C++11 support
26342         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
26343         when including inttypes.h and stdint.h.  Support this change to
26344         the standard.
26345         * doc/posix-headers/inttypes.texi (inttypes.h):
26346         * doc/posix-headers/stdint.texi (stdint.h): Document this.
26347         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
26348         Define if not defined already, for the benefit of pre-C++11 hosts.
26349         Define the standard format macros (e.g., PRId8) always.
26350         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
26351         Likewise, if __cpluspus.  Define the standard constant and limit
26352         macros (e.g., INT8_C, INT8_MAX) always.
26353         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
26354         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
26355         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
26356         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
26357         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
26358         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
26359         Likewise.
26361 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
26363         nonblocking tests: Fix test failure on Linux/PPC.
26364         Suggested by Prerna Saxena in
26365         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
26366         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
26367         Set to 1100000.
26369 2011-12-12  Jim Meyering  <meyering@redhat.com>
26371         argmatch: don't hard-code `' when listing valid option arguments
26372         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
26373         use the quote function to add quotes.  Use fputs rather than
26374         fprintf for the format string with no format directive.
26376 2011-12-07  Eric Blake  <eblake@redhat.com>
26378         bootstrap: detect tools required by gnulib-tool
26379         * build-aux/bootstrap (buildreq): Provide minimum implicit
26380         dependencies.
26381         * DEPENDENCIES: Mention patch as a prereq.
26383 2011-12-04  Bruno Haible  <bruno@clisp.org>
26385         sethostname: Port to Windows platforms.
26386         * lib/sethostname.c: Provide an alternate implementation for Windows
26387         platforms.
26388         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
26389         (main): Skip the test if sethostname() fails with EPERM. On Windows
26390         platforms, don't check the result of gethostname().
26392 2011-12-04  Bruno Haible  <bruno@clisp.org>
26393             Jim Meyering  <meyering@redhat.com>
26395         tests: Avoid spurious error message on platforms without mktemp program.
26396         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
26398 2011-12-04  Bruno Haible  <bruno@clisp.org>
26400         sethostname: Fix documentation.
26401         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
26402         "not fixed" section.
26404 2011-12-03  Bruno Haible  <bruno@clisp.org>
26406         gnulib-tool: Verify that the License field is present and non-empty.
26407         * gnulib-tool (func_get_license_raw): New function, extracted from
26408         func_get_license.
26409         (func_get_license): Use it. Warn if the module is not a test module and
26410         has no license.
26411         Suggested by Jim Meyering.
26413 2011-12-03  Bruno Haible  <bruno@clisp.org>
26415         sethostname tests: Fix link error on mingw.
26416         * tests/test-sethostname1.c: New file, extracted from
26417         tests/test-sethostname.c.
26418         * tests/test-sethostname2.c: New file, extracted from
26419         tests/test-sethostname.c.
26420         * tests/test-sethostname.c: Remove file.
26421         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
26422         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
26423         (Depends-on): Add gethostname.
26424         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
26425         Link the latter with $(GETHOSTNAME_LIB).
26427         sethostname tests: Fix compilation error on mingw.
26428         * tests/test-sethostname.c: Don't include <sys/types.h>.
26429         (geteuid): Use a dummy value without uid_t.
26430         * modules/sethostname-tests (Depends-on): Remove sys_types.
26432         sethostname tests: Avoid a gcc warning.
26433         * tests/test-sethostname.c (main): Remove an unused variable.
26435         Tweak last commit.
26436         * modules/sethostname-tests (Files): Sort by decreasing importance.
26437         (configure.ac): Check for geteuid.
26438         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
26439         the test when there's nothing to test. Drop an unnecessary cast.
26440         Improve an error message. Verify that the final sethostname() call
26441         succeeds.
26443 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
26445         Add a test suite for the sethostname module.
26446         * modules/sethostname-tests: New file.  A test program
26447         for the sethostname module.
26448         * tests/test-sethostname.c: Likewise.
26450 2011-12-03  Bruno Haible  <bruno@clisp.org>
26452         Tweak last commit.
26453         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
26454         Fix preprocessor directives indentation. Fix typos.
26455         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
26456         * modules/unistd (Makefile): Likewise.
26458 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
26460         Integrate the sethostname module into unistd.
26461         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
26462         into the unistd.h header.
26463         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
26464         preprocessor directives.
26465         * modules/unistd: Setup the Makefile substitutions of the
26466         SETHOSTNAME preprocessor directives.
26468 2011-12-03  Bruno Haible  <bruno@clisp.org>
26470         Tweak last commit.
26471         * lib/sethostname.c: Don't include <string.h>.
26472         (sethostname): No need to copy the argument string to the stack. Don't
26473         call clearerr. Preserve errno when fprintf failed.
26474         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
26475         Don't invoke AC_REPLACE_FUNCS.
26476         * modules/sethostname (Link): Remove empty section.
26477         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
26478         failure problem.
26480 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
26482         New module 'sethostname'.
26483         * lib/sethostname.c (sethostname): New file.  Provide sethostname
26484         for systems that lack it.
26485         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
26486         sethostname declaration and function.
26487         * modules/sethostname: New file.  Define the sethostname module.
26489 2011-12-03  Bruno Haible  <bruno@clisp.org>
26491         Tweak last commit.
26492         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
26494 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
26496         Split the HOST_NAME_MAX detection into a separate m4 macro.
26497         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
26498         macro so it can be used by the pending sethostname module.
26500 2011-12-03  Bruno Haible  <bruno@clisp.org>
26502         Fix module descriptions syntax.
26503         * modules/argv-iter (License): Fix syntax.
26504         * modules/di-set (License): Likewise.
26505         * modules/ino-map (License): Likewise.
26506         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
26508 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
26510         stdalign: port to Clang 3.0
26511         Problem reported by Simon Josefsson in
26512         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
26513         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
26514         which has <stdalign.h> but which does not define alignof.
26515         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
26517 2011-12-01  Eric Blake  <eblake@redhat.com>
26519         mktempd: silence dd usage
26520         * build-aux/mktempd (rand_bytes): Silence dd.
26522 2011-11-30  Simon Josefsson  <simon@josefsson.org>
26524         manywarnings: Don't mention gcc version in docstring.
26525         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
26526         Jim Meyering <meyering@redhat.com>.
26528 2011-11-30  Jim Meyering  <meyering@redhat.com>
26530         hash: mark a few floating point constants with "f" suffix
26531         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
26532         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
26533         floating point constants with "f", since they're destined to be
26534         saved/used as "float"s.
26536 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
26538         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
26539         * tests/test-float.c (test_long_double): Correct and re-enable the
26540         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
26542 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
26544         Avoid subtracting two pointers that don't point into the same block.
26545         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
26546         only pointers into the same memory block are subtracted. We cannot
26547         assume that sizeof (ptrdiff_t) == sizeof (void *).
26549 2011-11-29  Eric Blake  <eblake@redhat.com>
26551         maint.mk: add syntax check for use of compare from init.sh
26552         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
26553         moved here from coreutils.
26555         manywarnings: drop -Wunsuffixed-float-constants
26556         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
26557         '1.0D', which is the only way to silence this warning for 'double'.
26559 2011-11-29  Jim Meyering  <meyering@redhat.com>
26561         hash: mark compute_bucket_size with the pure attribute
26562         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
26564         quotearg, propername: correct pragma guard expression
26565         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
26566         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
26568 2011-11-28  Jim Meyering  <meyering@redhat.com>
26570         propername: do not mark proper_name with the const attribute
26571         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
26572         since it examines data pointed to by its parameter.
26573         * lib/propername.c (proper_name): Instead, add a pragma to suppress
26574         the suggestion from -Wsuggest-attribute=const.
26576         propername: mark one more function as const
26577         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
26579 2011-11-27  Jim Meyering  <meyering@redhat.com>
26581         mark functions with const and pure attributes
26583         Mark functions per suggestions from gcc-4.6 when using these options:
26584         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
26585         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
26586         Follow these guidelines: when possible, apply the attribute to
26587         an extern declaration, not to its definition.  Apply it to the
26588         definition only when the definition is static.
26589         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
26590         * lib/argv-iter.h (argv_iter_n_args): Likewise.
26591         * lib/base64.h (isbase64): Likewise.
26592         * lib/basename-lgpl.c (last_component, base_len): Likewise.
26593         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
26594         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
26595         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
26596         (c_tolower, c_toupper): Likewise.
26597         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
26598         * lib/chdir-long.c (find_non_slash): Likewise.
26599         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
26600         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
26601         * lib/file-type.h (file_type): Likewise.
26602         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
26603         * lib/filevercmp.c (verrevcmp): Likewise.
26604         * lib/freadahead.h (freadahead): Likewise.
26605         * lib/fts.c (fts_maxarglen): Likewise.
26606         * lib/hash-pjw.h (hash_pjw): Likewise.
26607         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
26608         * lib/hash.c (is_prime, next_prime): Likewise.
26609         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
26610         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
26611         (hash_table_ok, hash_get_first, hash_string): Likewise.
26612         (compute_bucket_size): Likewise.
26613         * lib/i-ring.h (i_ring_empty): Likewise.
26614         * lib/isnan.c (isnanl): Likewise.
26615         * lib/math.h (isnanl, rpl_isnanl): Likewise.
26616         * lib/memcasecmp.h (memcasecmp): Likewise.
26617         * lib/memchr2.h (memchr2): Likewise.
26618         * lib/memcmp2.h (memcmp2): Likewise.
26619         * lib/parse-datetime.y (lookup_zone): Likewise.
26620         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
26621         [!WINDOWS_SOCKETS]: Likewise.
26622         * lib/strnlen1.h (strnlen1): Likewise.
26623         * lib/uniwidth.in.h (uc_width): Likewise.
26624         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
26625         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
26626         (quoting_options_from_style): Add a comment.
26627         * lib/propername.h (proper_name): Add a comment.
26629 2011-11-27  Bruno Haible  <bruno@clisp.org>
26631         Remove unused macros from !_LIBC code in glibc-borrowed files.
26632         * lib/fnmatch.c (STRCOLL): Remove macro.
26633         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
26634         * lib/glob.c (__stat, __readdir64): Remove macros.
26635         * lib/tempname.c (__open64, __xstat64): Remove macros.
26636         Suggested by Paul Eggert.
26638 2011-11-27  Bruno Haible  <bruno@clisp.org>
26640         getcwd: Fix link error on MSVC 9.
26641         * modules/getcwd (Depends-on): Add readdir, rewinddir.
26643 2011-11-27  Bruno Haible  <bruno@clisp.org>
26645         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
26646         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
26647         HAVE_OPENDIR is 0.
26648         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
26649         HAVE_CLOSEDIR is 0.
26650         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
26651         is 0.
26652         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
26654 2011-11-27  Bruno Haible  <bruno@clisp.org>
26656         getcwd: Fix bug from 2011-08-17.
26657         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
26658         platforms that need it.
26659         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
26660         code of 4 to be a failure, not a success. This ensures that
26661         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
26663 2011-11-27  Bruno Haible  <bruno@clisp.org>
26665         binary-io tests: Avoid test failure on mingw when libtool is used.
26666         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
26667         Don't verify the size of t-bin-out1.tmp here.
26668         * tests/test-binary-io.sh: Verify it here.
26669         Reported by Simon Josefsson.
26671 2011-11-26  Bruno Haible  <bruno@clisp.org>
26673         Fix conflict between two instantiations of module 'unistd'.
26674         * gnulib-tool (func_emit_autoconf_snippet): Substitute
26675         ${include_guard_prefix} also in the autoconf snippet.
26676         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
26677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
26678         GNULIB_UNISTD_H_GETOPT.
26679         * modules/getopt-posix (configure.ac): Set the
26680         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
26681         * modules/getopt-gnu (configure.ac): Likewise.
26682         * modules/unistd (Makefile.am): Change the substitution value of
26683         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
26684         Reported by Simon Josefsson.
26686 2011-11-25  Bruno Haible  <bruno@clisp.org>
26688         pagealign_alloc: Doc and comments.
26689         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
26690         module.
26691         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
26693 2011-11-25  Jim Meyering  <meyering@redhat.com>
26695         test-update-copyright.sh: avoid false-positive failure
26696         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
26697         around false positive failure on Cygwin/Windows.  The latter was
26698         matching erroneously-created files with names like
26699         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
26701 2011-11-25  Simon Josefsson  <simon@josefsson.org>
26703         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
26704         * m4/valgrind-tests.m4: Check that the parameters that will be
26705         used works, not just a subset of them.  Reported by Bruno Haible
26706         <bruno@clisp.org>.
26708 2011-11-24  Jim Meyering  <meyering@redhat.com>
26710         test-stdalign.c: comment out long double tests
26711         * tests/test-stdalign.c: Don't try to reduce alignment of long double
26712         variables.  That provokes errors like this from gcc-4.7.0 20111124:
26713         error: '_Alignas' specifiers cannot reduce alignment of \
26714         'static_longdouble_alignas'.
26716 2011-11-22  Jim Meyering  <meyering@redhat.com>
26718         init.sh: make "compare /dev/null FILE" output more readable
26719         * tests/init.sh (compare_): Document the preferred order of arguments.
26720         (emit_diff_u_header_): New function.
26721         (compare_dev_null_): Emit a simulated diff, rather than just the
26722         contents of the unexpected file.  Suggestion from Bruno Haible.
26724 2011-11-21  Jim Meyering  <meyering@redhat.com>
26725             Eric Blake  <eblake@redhat.com>
26727         init.sh: work around OSF/1 5.1's mishandling of /dev/null
26728         * tests/init.sh: Make our compare function slightly more portable.
26729         Reported by Bruno Haible in
26730         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
26732 2011-11-21  Simon Josefsson  <simon@josefsson.org>
26734         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
26735         before using it, in code that ends up in config.h.
26737 2011-11-20  Bruno Haible  <bruno@clisp.org>
26739         getcwd: Work around getcwd bug on AIX 5..7.
26740         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
26741         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
26742         Use a different value for gl_cv_func_getcwd_path_max. Move the
26743         definition of HAVE_PARTLY_WORKING_GETCWD from here...
26744         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
26745         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
26746         Define HAVE_MINIMALLY_WORKING_GETCWD.
26747         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
26748         where it is not even minimally working, that is, on AIX.
26749         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
26750         m4/getcwd-path-max.m4.
26751         (main): Update exit code computation.
26752         * doc/posix-functions/getcwd.texi: Mention list of platforms where
26753         getcwd does not handle long file names.
26755 2011-11-20  Bruno Haible  <bruno@clisp.org>
26757         getcwd: Fix bug from 2009-09-10.
26758         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
26759         like "no".
26761 2011-11-20  Simon Josefsson  <simon@josefsson.org>
26763         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
26765 2011-11-20  Bruno Haible  <bruno@clisp.org>
26767         fma tests: Avoid shadowing local variables.
26768         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
26769         expected.
26771 2011-11-20  Bruno Haible  <bruno@clisp.org>
26773         copysignf tests: Fix.
26774         * tests/test-copysignf.c: Fix signature check.
26776 2011-11-20  Bruno Haible  <bruno@clisp.org>
26778         fma: Remove unused code.
26779         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
26780         unused macros.
26782 2011-11-20  Bruno Haible  <bruno@clisp.org>
26784         sethostname: Fix doc about AIX.
26785         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
26786         sethostname; it has it.
26788         sethostname: Mention more portability problems.
26789         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
26790         problem.
26791         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
26793 2011-11-19  Bruno Haible  <bruno@clisp.org>
26795         Depend on module fcntl-h when AT_FDCWD is used.
26796         * modules/utimens (Depends-on): Add fcntl-h.
26797         * modules/areadlinkat (Depends-on): Likewise.
26798         * modules/areadlinkat-with-size (Depends-on): Likewise.
26799         * modules/faccessat (Depends-on): Likewise.
26800         * modules/fchmodat (Depends-on): Likewise.
26801         * modules/fchownat (Depends-on): Likewise.
26802         * modules/getcwd (Depends-on): Likewise.
26803         * modules/mkdirat (Depends-on): Likewise.
26804         * modules/mkfifoat (Depends-on): Likewise.
26805         * modules/readlinkat (Depends-on): Likewise.
26806         * modules/symlinkat (Depends-on): Likewise.
26807         * modules/dup2-tests (Depends-on): Likewise.
26808         * modules/fdutimensat-tests (Depends-on): Likewise.
26809         * modules/futimens-tests (Depends-on): Likewise.
26811 2011-11-19  Bruno Haible  <bruno@clisp.org>
26813         euidaccess: Update a comment.
26814         * lib/euidaccess.c: Update comment about platforms with faccessat.
26816 2011-11-19  Bruno Haible  <bruno@clisp.org>
26818         openat: Fix file list.
26819         * modules/openat (Files): Remove lib/at-func.c.
26821 2011-11-19  Bruno Haible  <bruno@clisp.org>
26823         fstatat: Simplify.
26824         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
26825         gnulib should define rpl_fstatat, there is a
26826         "#define fstatat rpl_fstatat" in <sys/stat.h>.
26828 2011-11-19  Bruno Haible  <bruno@clisp.org>
26830         Ensure 'inline' can be used in tests/test-utimens-common.h.
26831         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
26832         * modules/futimens-tests (configure.ac): Likewise.
26833         * modules/utimens-tests (configure.ac): Likewise.
26834         * modules/utimensat-tests (configure.ac): Likewise.
26836 2011-11-19  Simon Josefsson  <simon@josefsson.org>
26838         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
26839         not hash_insert0.
26840         (hash_insert_if_absent): Doc fix.
26842 2011-11-19  Simon Josefsson  <simon@josefsson.org>
26844         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
26846 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
26848         test-getcwd: disambiguate exit status
26849         * tests/test-getcwd.c (test_long_name): Return 0..7.
26850         (main): Exit with an unambiguous exit status.  The old
26851         code yielded a mysterious mixture of two failure codes.
26853         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
26854         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
26855         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
26856         rpl_fstatat or fstatat.  This should fix the other problem
26857         reported by Kai Habel in
26858         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
26859         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
26860         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
26861         and I reproduced it on a Solaris 8 host we still have in production.
26863 2011-11-18  Jim Meyering  <meyering@redhat.com>
26865         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
26866         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
26867         Add a sentence to the comment.
26868         (hash_insert0): New function that simply calls hash_insert_if_absent.
26869         * lib/hash.h (hash_insert_if_absent): Declare it.
26870         (hash_insert0): Add deprecation attribute.
26871         (_GL_ATTRIBUTE_DEPRECATED): Define.
26872         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
26873         not hash_insert0.
26874         * NEWS: Mention it, even though it's not really an incompatible change.
26876 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
26878         openat: avoid compilation failure due to lack of <errno.h> inclusion
26879         * lib/openat.c: Include <errno.h>.
26881 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26883         * modules/getcwd (Depends-on): Add fdopendir.
26884         This fixes one of the two problems reported by Kai Habel in
26885         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
26887         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
26888         stdalign problem reported by Ian Beckwith in
26889         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
26890         * modules/crypto/gc-arcfour (Depends-on):
26891         Depend conditionally on crypto/arcfour.
26892         * modules/crypto/gc-arctwo (Depends-on):
26893         Depend conditionally on crypto/arctwo.
26894         * modules/crypto/gc-des (Depends-on):
26895         Depend conditionally on crypto/des.
26896         * modules/crypto/gc-hmac-md5 (Depends-on):
26897         Depend conditionally on crypto/hmac-md5.
26898         * modules/crypto/gc-hmac-sha1 (Depends-on):
26899         Depend conditionally on crypto/hmac-sha1.
26900         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
26901         * modules/crypto/gc-md4 (Depends-on):
26902         Depend conditionally on crypto/md4.
26903         * modules/crypto/gc-md5 (Depends-on):
26904         Depend conditionally on crypto/md5.
26905         * modules/crypto/gc-rijndael (Depends-on):
26906         Depend conditionally on crypto/rijndael.
26907         * modules/crypto/gc-sha1 (Depends-on):
26908         Depend conditionally on crypto/sha1.
26909         * modules/crypto/gc-arcfour:
26910         * modules/crypto/gc-arctwo:
26911         * modules/crypto/gc-des:
26912         * modules/crypto/gc-hmac-md5:
26913         * modules/crypto/gc-hmac-sha1:
26914         * modules/crypto/gc-md2:
26915         * modules/crypto/gc-md4:
26916         * modules/crypto/gc-md5:
26917         * modules/crypto/gc-rijndael:
26918         * modules/crypto/gc-sha1:
26919         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
26920         now that the conditional dependencies do the work for us.
26922 2011-11-17  Jim Meyering  <meyering@redhat.com>
26924         tests: factor st_ctime-comparison out of two headers
26925         * tests/test-utimens-common.h (ctime_compare): Define.
26926         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
26927         * tests/test-lutimens.h (test_lutimens): Likewise.
26928         * tests/test-utimens.h (test_utimens): Likewise.
26930         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
26931         Invoke the test program via an init.sh-using wrapper.
26932         * tests/test-getcwd.sh: New file.
26933         * modules/getcwd-tests (Files): Add it.
26934         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
26936 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
26938         gitlog-to-changelog: support multi-author commits.
26939         The FSF cares about keeping track of all authors of patches to its
26940         projects, but Git doesn't provide obvious support for multi-author
26941         changesets. Consensus seems to be forming around the use of extra
26942         Signed-off-by inspired lines in the log message formatted as
26943         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
26944         multi-author commits between version control systems.
26945         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
26946         log message and output in standard ChangeLog multi-author format.
26947         Reported by Peter Rosin <peda@lysator.liu.se>
26949 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
26950             Bruno Haible  <bruno@clisp.org>
26952         Fix some modules' file list.
26953         * modules/fstatat (Files): Add m4/lstat.m4.
26954         * modules/openat (Files): Likewise.
26955         * modules/unlinkat (Files): Likewise.
26957 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
26959         maint.mk: fix tight-scope.mk generation in VPATH builds.
26960         * top/maint.mk (tight-scope.mk): Make sure to prefix file
26961         reference with $(srcdir) so that the file is found correctly even
26962         when running `make syntax-check' in a VPATH build.
26964 2011-11-13  Bruno Haible  <bruno@clisp.org>
26965             Jim Meyering  <meyering@redhat.com>
26967         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
26968         * tests/init.sh (compare): Remove "No differences encountered" or
26969         synonymous output from the 'diff' program.
26971 2011-11-13  Bruno Haible  <bruno@clisp.org>
26973         Makefile: Tweak indentation.
26974         * Makefile: Use tab as first character in every line that contains rule
26975         commands.
26977 2011-11-13  Bruno Haible  <bruno@clisp.org>
26979         Syntax check for copyright statements.
26980         * check-copyright: New file.
26981         * Makefile (sc_check_copyright): New rule.
26983 2011-11-13  Simon Josefsson  <simon@josefsson.org>
26985         * build-aux/git-version-gen: Add --prefix to configure the tag
26986         match string.
26988 2011-11-13  Simon Josefsson  <simon@josefsson.org>
26990         * build-aux/git-version-gen: Add --help and --version.
26992 2011-11-12  Jim Meyering  <meyering@redhat.com>
26994         revamp the other test-exclude?.sh scripts to use init.sh, too
26995         * tests/test-exclude1.sh: Use init.sh.
26996         * tests/test-exclude2.sh: Likewise.
26997         * tests/test-exclude3.sh: Likewise.
26998         * tests/test-exclude4.sh: Likewise.
26999         * tests/test-exclude5.sh: Likewise.
27000         * tests/test-exclude6.sh: Likewise.
27001         * tests/test-exclude7.sh: Likewise.
27002         * tests/test-exclude8.sh: Likewise.
27003         * modules/exclude-tests (Files): List init.sh.
27005         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
27006         These shell scripts ignored failure of the binary test-exclude,
27007         so making the latter return 77 didn't cause them to be skipped.
27008         * tests/test-exclude5.sh: Exit with test-exclude's error status
27009         when that program fails.  Revamp to use init.sh.
27010         * tests/test-exclude2.sh: Likewise.
27012         test-exclude: fix a typo
27013         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
27015 2011-11-11  Bruno Haible  <bruno@clisp.org>
27017         obstack: Fix compilation error on MSVC 9.
27018         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
27020 2011-11-11  Jim Meyering  <meyering@redhat.com>
27022         test-exclude: skip tests rather than failing on deficient systems
27023         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
27024         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
27025         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
27026         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
27028 2011-11-10  Bruno Haible  <bruno@clisp.org>
27030         ptsname_r test: Avoid gcc warning on glibc systems.
27031         * tests/test-ptsname_r.c (null_ptr): New function.
27032         (test_errors): Use it.
27034 2011-11-10  Bruno Haible  <bruno@clisp.org>
27036         ptsname_r: Avoid compilation error on OSF/1 5.1.
27037         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
27038         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
27039         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
27040         function is not declared or incompatibly declared.
27041         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
27042         * modules/ptsname_r (Depends-on, configure.ac): Update.
27043         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
27045 2011-11-10  Bruno Haible  <bruno@clisp.org>
27047         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
27048         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
27049         When cross-compiling, guess yes on all platforms except AIX.
27050         Reported by Ludovic Courtès <ludo@gnu.org>.
27052 2011-11-09  Bruno Haible  <bruno@clisp.org>
27054         ptsname_r tests: Fix bugs.
27055         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
27056         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
27058 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
27060         fstatat: work with cross-compilation
27061         Problem reported by Ludovic Courtès in
27062         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
27063         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
27064         "cross-compiling" and assume the bug is present.  Replace
27065         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
27066         an inverted sense, to be more conservative about our assumptions.
27067         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
27069 2011-11-09  Bruno Haible  <bruno@clisp.org>
27071         Improve MODULES.html output.
27072         * modules/mkfifoat (Description): Use the word "function".
27073         * modules/readlinkat (Description): Likewise.
27074         * modules/symlinkat (Description): Likewise.
27076 2011-11-09  Eric Blake  <eblake@redhat.com>
27078         ptsname_r-tests: new test module
27079         * modules/ptsname_r-tests: New module.
27080         * tests/test-ptsname_r.c: New file.
27082         ptsname_r: new module
27083         * modules/ptsname_r: New module.
27084         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
27085         * lib/ptsname.c (__ptsname_r): Split...
27086         * lib/ptsname_r.c: ...into new file.
27087         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
27088         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
27089         * modules/stdlib (Makefile.am): Substitute witnesses.
27090         * lib/stdlib.in.h (ptsname_r): Declare it.
27091         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
27092         * MODULES.html.sh (Misc): Likewise.
27093         * modules/ptsname (Depends-on): Alter dependency.
27094         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
27096 2011-11-09  Jim Meyering  <meyering@redhat.com>
27098         announce-gen: be more concise when there's only one URL+tarball
27099         * build-aux/announce-gen (get_tool_versions): When you distribute
27100         only one type of tarball, combine the first two "Here are..."
27101         sections and make the key-checking grammar independent of
27102         how many tarballs there are.
27104 2011-11-09  Eric Blake  <eblake@redhat.com>
27106         openpty: provide a stub on mingw
27107         * lib/pty.in.h (includes): Provide forward declarations.
27108         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
27110         raise: fix mingw handling of SIGPIPE
27111         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
27113 2011-11-08  Bruno Haible  <bruno@clisp.org>
27115         More conditional dependencies.
27116         * modules/faccessat (Depends-on): Add conditions.
27117         * modules/fchmodat (Depends-on): Likewise.
27118         * modules/fchownat (Depends-on): Likewise.
27119         * modules/fstatat (Depends-on): Likewise.
27120         * modules/mkfifoat (Depends-on): Likewise.
27121         * modules/readlinkat (Depends-on): Likewise.
27122         * modules/symlinkat (Depends-on): Likewise.
27123         * modules/unlinkat (Depends-on): Likewise.
27124         * modules/utimensat (Depends-on): Likewise.
27125         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
27126         * modules/linkat (Depends-on): Refine the conditions.
27127         * modules/renameat (Depends-on): Likewise.
27129 2011-11-08  Bruno Haible  <bruno@clisp.org>
27131         faccessat: Move AC_LIBOBJ invocation to module description.
27132         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
27133         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
27134         invocation from here...
27135         * modules/faccessat (configure.ac): ... to here. Invoke
27136         gl_PREREQ_FACCESSAT.
27138 2011-11-08  Bruno Haible  <bruno@clisp.org>
27140         faccessat: Simplify autoconf macro.
27141         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
27142         gl_FUNC_EUIDACCESS.
27144 2011-11-08  Bruno Haible  <bruno@clisp.org>
27146         renameat: Fix dependencies.
27147         * modules/renameat (Depends-on): Add stdbool.
27149 2011-11-08  Bruno Haible  <bruno@clisp.org>
27151         mkfifoat: Fix module description.
27152         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
27153         not gl_UNISTD_MODULE_INDICATOR.
27155 2011-11-08  Bruno Haible  <bruno@clisp.org>
27157         fstatat: Remove unused dependency.
27158         * modules/fstatat (Depends-on): Remove fstat.
27160 2011-11-08  Simon Josefsson  <simon@josefsson.org>
27162         GNUmakefile: behave when Makefile is missing.
27163         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
27165 2011-11-08  Bruno Haible  <bruno@clisp.org>
27167         openat: Conditionalize dependencies.
27168         * lib/openat.c: Reduce the scope of some #includes.
27169         * modules/openat (Depends-on): Add conditions.
27171 2011-11-07  Jim Meyering  <meyering@redhat.com>
27173         maint.mk: extract GPG key ID without using a temporary file
27174         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
27175         without using a temporary file.  Based on a suggestion from Werner Koch
27176         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
27178 2011-11-07  Eric Blake  <eblake@redhat.com>
27180         grantpt: fix typo
27181         * lib/stdlib.in.h (grantpt): Check correct function.
27183         maint.mk: silence new syntax check
27184         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
27186 2011-11-06  Bruno Haible  <bruno@clisp.org>
27188         Doc about floating-point and math API.
27189         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
27190         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
27192 2011-11-06  Bruno Haible  <bruno@clisp.org>
27194         stdalign tests: Skip the test when compiled by Sun C.
27195         * tests/test-stdalign.c (main): Skip the test on Sun C.
27197 2011-11-06  Bruno Haible  <bruno@clisp.org>
27199         ansi-c++-opt: Complete the 2011-06-05 change.
27200         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
27201         does not support namespaces, set the variable to "no", not to ":".
27203 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
27205         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
27207 2011-11-06  Bruno Haible  <bruno@clisp.org>
27209         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
27210         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
27211         (minus_zerol) [HP-UX]: New macro.
27212         (unary_minus) [HP-UX]: New function.
27213         (copysignl) [HP-UX]: Use unary_minus function.
27215 2011-11-06  Bruno Haible  <bruno@clisp.org>
27217         ldexp, ldexpf, ldexpl: Enhance tests.
27218         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
27219         and tests/test-ldexpl.c.
27220         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
27221         LDEXP, MIN_EXP, MAX_EXP): New macros.
27222         Include test-ldexp.h.
27223         (main): Just call test_function.
27224         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
27225         infinity.h, nan.h.
27226         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
27227         MAX_EXP): New macros.
27228         Include test-ldexp.h.
27229         (x, y): Remove variables.
27230         (main): Just call test_function.
27231         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
27232         infinity.h, nan.h.
27233         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
27234         MAX_EXP): New macros.
27235         Include test-ldexp.h.
27236         (x, y): Remove variables.
27237         (main): Just call test_function.
27238         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
27239         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
27240         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
27241         (Depends-on): Add isnand-nolibm, signbit, float.
27242         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
27243         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
27244         (Depends-on): Add isnanf-nolibm, signbit, float.
27246 2011-11-06  Bruno Haible  <bruno@clisp.org>
27248         math tests: Cosmetics.
27249         * tests/test-math-c++.cc: Reorder declarations.
27251 2011-11-05  Bruno Haible  <bruno@clisp.org>
27253         fma*: Simplify test.
27254         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
27255         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
27257         Tests for module 'fmal'.
27258         * modules/fmal-tests: New file.
27259         * tests/test-fmal1.c: New file.
27260         * tests/test-fmal2.c: New file.
27262         New module 'fmal'.
27263         * lib/math.in.h (fmal): New declaration.
27264         * lib/fmal.c: New file.
27265         * m4/fmal.m4: New file.
27266         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
27267         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
27268         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
27269         REPLACE_FMAL.
27270         * modules/fmal: New file.
27271         * doc/posix-functions/fmal.texi: Mention the new module and the various
27272         bugs.
27274         Tests for module 'fmaf'.
27275         * modules/fmaf-tests: New file.
27276         * tests/test-fmaf1.c: New file.
27277         * tests/test-fmaf2.c: New file.
27279         New module 'fmaf'.
27280         * lib/math.in.h (fmaf): New declaration.
27281         * lib/fmaf.c: New file.
27282         * m4/fmaf.m4: New file.
27283         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
27284         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
27285         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
27286         REPLACE_FMAF.
27287         * modules/fmaf: New file.
27288         * doc/posix-functions/fmaf.texi: Mention the new module and the various
27289         bugs.
27291         Tests for module 'fma'.
27292         * modules/fma-tests: New file.
27293         * tests/test-fma1.c: New file.
27294         * tests/test-fma1.h: New file.
27295         * tests/test-fma2.c: New file.
27296         * tests/test-fma2.h: New file.
27298         New module 'fma'.
27299         * lib/math.in.h (fma): New declaration.
27300         * lib/fma.c: New file.
27301         * m4/fma.m4: New file.
27302         * m4/fegetround.m4: New file.
27303         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
27304         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
27305         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
27306         REPLACE_FMA.
27307         * modules/fma: New file.
27308         * doc/posix-functions/fma.texi: Mention the new module and the various
27309         bugs.
27311         Extend gl_MATHFUNC.
27312         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
27313         Support 'void' as argument type.
27314         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
27316 2011-11-05  Jim Meyering  <meyering@redhat.com>
27318         maint.mk: also prohibit inclusion of dirent.h without use
27319         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
27321 2011-11-05  Bruno Haible  <bruno@clisp.org>
27323         ldexpl tests: Avoid test failure on MSVC 9.
27324         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
27325         value. Needed in order to enforce the conversion from a value greater
27326         than LDBL_MAX to Infinity.
27328 2011-11-05  Bruno Haible  <bruno@clisp.org>
27330         New modules 'at-internal', 'openat-h', split off from module 'openat'.
27331         * modules/at-internal: New file, extracted from modules/openat.
27332         * modules/openat-h: New file.
27333         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
27334         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
27335         * modules/openat (Description): Add reference to POSIX function.
27336         (Files): Remove lib/openat.h, lib/openat-proc.c.
27337         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
27338         intprops, unistd.
27339         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
27340         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
27341         gl_FCNTL_MODULE_INDICATOR.
27342         (Include): Remove unistd.h, openat.h.
27343         * modules/areadlinkat (Files): Add lib/at-func.c.
27344         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
27345         openat-die, openat-h, save-cwd.
27346         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
27347         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
27348         openat-die, openat-h, save-cwd, unistd.
27349         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
27350         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
27351         openat-h, save-cwd. Remove fcntl-h, openat.
27352         * modules/fchmodat (Files): Remove lib/openat.h.
27353         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
27354         openat, stdbool, unistd.
27355         * modules/fchownat (Files): Remove lib/openat.h.
27356         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
27357         openat, stdbool, sys_stat.
27358         * modules/fdopendir (Files): Remove lib/openat-priv.h,
27359         lib/openat-proc.c.
27360         (Depends-on): Add at-internal.
27361         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
27362         * modules/fstatat (Files): Remove lib/openat.h.
27363         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
27364         stdbool, unistd.
27365         * modules/fts (Depends-on): Add openat-h.
27366         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
27367         openat.
27368         * modules/mkdirat (Files): Remove lib/openat.h.
27369         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
27370         openat, stdbool, sys_stat.
27371         * modules/mkfifoat (Files): Add lib/at-func.c.
27372         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
27373         openat-h, save-cwd. Remove fcntl-h, openat.
27374         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
27375         * modules/readlinkat (Files): Add lib/at-func.c.
27376         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
27377         openat-h, save-cwd. Remove fcntl-h, openat.
27378         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
27379         openat.
27380         * modules/selinux-at (Files): Add lib/at-func.c.
27381         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
27382         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
27383         * modules/symlinkat (Files): Add lib/at-func.c.
27384         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
27385         openat-h, save-cwd. Remove fcntl-h, openat.
27386         * modules/unlinkat (Files): Remove lib/openat.h.
27387         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
27388         stdbool.
27389         * modules/utimensat (Files): Add lib/at-func.c.
27390         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
27391         openat-die, openat-h, save-cwd.
27392         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
27393         * modules/fdutimensat-tests (Depends-on): Add openat.
27394         * modules/fstatat-tests (Depends-on): Add openat-h.
27395         * modules/readlinkat-tests (Depends-on): Add openat.
27396         * modules/symlinkat-tests (Depends-on): Add openat.
27398 2011-11-05  Bruno Haible  <bruno@clisp.org>
27400         openat: Include <stdbool.h>.
27401         * lib/openat.c: Include <stdbool.h>.
27403 2011-11-04  Bruno Haible  <bruno@clisp.org>
27405         fchownat, renameat, unlinkat: Fix dependencies.
27406         * modules/fchownat (Depends-on): Add fstatat.
27407         * modules/renameat (Depends-on): Likewise.
27408         * modules/unlinkat (Depends-on): Likewise.
27410 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
27412         openat: remove direct dependency on dirent
27413         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
27414         and hasn't been needed ever since fdopendir was split into its own
27415         module on 2009-08-31.
27416         * modules/openat (Depends-on): Remove dirent.
27418 2011-11-04  Bruno Haible  <bruno@clisp.org>
27420         renameat: Optimize code size.
27421         * modules/renameat (configure.ac): Don't compile at-func2.c if
27422         REPLACE_RENAMEAT is 1.
27424 2011-11-04  Bruno Haible  <bruno@clisp.org>
27426         openat tests: Fix file list.
27427         * modules/openat-tests (Files): Add tests/test-open.h.
27429 2011-11-04  Bruno Haible  <bruno@clisp.org>
27431         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
27432         * modules/fchmodat (Depends-on): Add openat-die.
27433         * modules/fchownat (Depends-on): Likewise.
27434         * modules/linkat (Depends-on): Likewise.
27435         * modules/renameat (Depends-on): Likewise.
27436         * modules/openat (Depends-on): Add dirent.
27438 2011-11-04  Jim Meyering  <meyering@redhat.com>
27440         at-func*.c: fix comments
27441         * lib/at-func2.c: Correct/improve first-line comment.
27442         * lib/at-func.c: Correct grammar in first-line comment.
27444 2011-11-04  Bruno Haible  <bruno@clisp.org>
27446         New module 'mkdirat', split off from module 'openat'.
27447         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
27448         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
27449         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
27450         * modules/mkdirat: New file, extracted from modules/openat.
27451         * modules/openat (Files): Remove lib/mkdirat.c.
27452         (Depends-on): Remove mkdir.
27453         (configure.ac): Remove AC_LIBOBJ of mkdirat.
27454         (Include): Remove <sys/stat.h>.
27455         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
27456         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
27457         tests/test-mkdir.h.
27458         (Depends-on): Remove ignore-value.
27459         (Makefile.am): Remove rules for test-mkdirat.
27460         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
27461         of module 'openat'.
27462         * NEWS: Mention the change.
27464 2011-11-04  Bruno Haible  <bruno@clisp.org>
27466         closedir: Avoid warning on mingw.
27467         * lib/closedir.c: Include <unistd.h>.
27469 2011-11-04  Bruno Haible  <bruno@clisp.org>
27471         New module 'fstatat', split off from module 'openat'.
27472         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
27473         defined.
27474         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
27475         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
27476         gl_FUNC_FSTATAT.
27477         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
27478         * modules/fstatat: New file, extracted from modules/openat.
27479         * modules/openat (Files): Remove lib/fstatat.c.
27480         (Depends-on): Remove lstat.
27481         (configure.ac): Remove AC_LIBOBJ of fstatat.
27482         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
27483         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
27484         tests/test-lstat.h, tests/test-stat.h.
27485         (Depends-on): Remove getcwd-lgpl.
27486         (Makefile.am): Remove rules for test-fstatat.
27487         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
27488         of module 'openat'.
27489         * NEWS: Mention the change.
27490         * modules/getcwd (Depends-on): Add fstatat.
27491         * modules/linkat (Depends-on): Likewise.
27492         * modules/mkfifoat-tests (Depends-on): Likewise.
27493         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
27495 2011-11-03  Bruno Haible  <bruno@clisp.org>
27497         New module 'unlinkat', split off from module 'openat'.
27498         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
27499         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
27500         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
27501         * modules/unlinkat: New file, extracted from modules/openat. Correct
27502         the dependency conditions.
27503         * modules/openat (Files): Remove lib/unlinkat.c.
27504         (Depends-on): Remove rmdir, unlink.
27505         (configure.ac): Remove AC_LIBOBJ of unlinkat.
27506         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
27507         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
27508         tests/test-rmdir.h, tests/test-unlink.h.
27509         (Depends-on): Remove unlinkdir.
27510         (Makefile.am): Remove rules for test-unlinkat.
27511         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
27512         of module 'openat'.
27513         * NEWS: Mention the change.
27514         * modules/linkat-tests (Depends-on): Add unlinkat.
27515         * modules/mkfifoat-tests (Depends-on): Likewise.
27516         * modules/readlinkat-tests (Depends-on): Likewise.
27518 2011-11-02  Bruno Haible  <bruno@clisp.org>
27520         New module 'fchmodat', split off from module 'openat'.
27521         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
27522         defined.
27523         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
27524         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
27525         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
27526         * modules/fchmodat: New file, extracted from modules/openat.
27527         * modules/openat (Files): Remove lib/fchmodat.c.
27528         (configure.ac): Remove AC_LIBOBJ of fchmodat.
27529         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
27530         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
27531         (Makefile.am): Remove rules for test-fchmodat.
27532         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
27533         of module 'openat'.
27534         * NEWS: Mention the change.
27536 2011-11-02  Jim Meyering  <meyering@redhat.com>
27538         putenv: indent #definition of "environ" to placate cppi
27539         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
27541         gitlog-to-changelog: provide a ChangeLog-repair mechanism
27542         Git logs are often treated as immutable, because editing them
27543         changes the SHA1 checksums of all descendants.  Thus, errors in
27544         git logs tend to stay there forever.  However, when we generate
27545         a ChangeLog file -- typically for distribution -- from that git log,
27546         we can actually make corrections in the generated file.  The key
27547         lies in recording in machine-readable/applicable form the desired
27548         corrections.  See --help for description and an example.
27549         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
27550         (usage): Describe it; alphabetize option descriptions.
27551         (main): Honor the new option, carefully.
27553 2011-11-01  Jim Meyering  <meyering@redhat.com>
27555         gitlog-to-changelog: avoid an infloop
27556         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
27557         that ends up being empty.
27559 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27561         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
27562         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
27563         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
27564         contains (possibly-quoted) backslashes.  This should avoid
27565         all-too-common shell bugs if COMPLICATED contains backslashes in
27566         the "wrong" places.  Reported by David Evans in
27567         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
27568         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
27569         because we want ASCII ranges.  Is there some reason we don't use
27570         the C locale everywhere in this script?
27571         (func_module, top level): Avoid unwanted pathname expansion when
27572         $repo_url_prefix or $repo_url_suffix_repl contain shell
27573         metacharacters like '?' and '*'.
27575 2011-11-01  Bruno Haible  <bruno@clisp.org>
27577         fchownat: Improve description.
27578         * modules/fchownat (Description): Add link to function.
27580 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
27582         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
27583         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
27584         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
27585         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
27587 2011-11-01  Bruno Haible  <bruno@clisp.org>
27589         alignof: Avoid collision with stdalign module.
27590         * lib/alignof.h (alignof): Remove macro.
27591         * NEWS: Mention the change.
27592         Reported by Paul Eggert.
27594 2011-11-01  Bruno Haible  <bruno@clisp.org>
27596         New module 'fchownat', split off from module 'openat'.
27597         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
27598         defined.
27599         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
27600         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
27601         invoke gl_FUNC_FCHOWNAT.
27602         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
27603         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
27604         * modules/fchownat: New file, extracted from modules/openat.
27605         * modules/openat (Files): Remove lib/fchownat.c.
27606         (Depends-on): Remove lchown.
27607         (configure.ac): Remove AC_LIBOBJ of fchownat.
27608         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
27609         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
27610         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
27611         (Depends-on): Remove mgetgroups, usleep, stat-time.
27612         (configure.ac): Remove test for getegid.
27613         (Makefile.am): Remove rules for test-fchownat.
27614         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
27615         of module 'openat'.
27616         * NEWS: Mention the change.
27618 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
27620         stdalign: port better to MSVC and to Sun C 5.11
27621         This fixes some of the problems reported by Bruno Haible in
27622         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
27623         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
27624         shortcomings of MSVC and of Sun C 5.11.
27625         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
27626         around __declspec arg.
27627         * modules/stdalign-tests (Files): Add tests/macros.h.
27628         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
27629         Include macros.h, for ASSERT.
27630         (DECLARE_ALIGNED): Remove.
27631         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
27632         to catch bug), and to 1 if not (simplifies the rest of the code).
27633         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
27634         (CHECK_AUTO): Remove.
27635         (CHECK_ALIGNED): Check only the alignment of the static vars,
27636         since auto var alignment isn't supported by Sun C 5.11.
27637         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
27638         ASSERT failures are easier to diagnose.
27640 2011-10-31  Bruno Haible  <bruno@clisp.org>
27642         doc about some IRIX 5.3 problems.
27643         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
27644         on IRIX 5.3.
27645         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
27646         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
27647         5.3.
27648         * doc/posix-functions/grantpt.texi: Likewise.
27649         * doc/posix-functions/unlockpt.texi: Likewise.
27650         * doc/posix-functions/lgamma.texi: Likewise.
27651         * doc/posix-functions/nextafter.texi: Likewise.
27652         * doc/posix-functions/remainder.texi: Likewise.
27653         * doc/posix-functions/select.texi: Mention misplaced declaration on
27654         IRIX 5.3.
27655         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27657 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
27659         gitlog-to-changelog: fix git-log invocation.
27660         git-log mishandles date strings before 1970-01-01 UTC, and there is
27661         no use to specify --since=1970-01-01 by default anyway.
27662         * build-aux/gitlog-to-changelog: By default, when no --since option
27663         was given, do not specify explicit --since option to git-log.
27665 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
27667         gitlog-to-changelog: new option --append-dot.
27668         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
27669         first non-blank line of each commit message terminated with a dot.
27671 2011-10-30  Bruno Haible  <bruno@clisp.org>
27673         ffsl, ffsll: Avoid compilation error due to 'restrict'.
27674         * lib/ffsl.h: Include <config.h>.
27675         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
27677 2011-10-30  Jim Meyering  <meyering@redhat.com>
27679         GNUmakefile: reenable "make syntax-check" for most projects
27680         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
27681         build-aux variable", "syntax-check" would do nothing but succeed with
27682         the "No version control files detected..." diagnostic (unless you
27683         happened to override _build-aux via cfg.mk).
27684         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
27685         to precede inclusion of maint.mk.  Otherwise, these variables would
27686         be used undefined in any project that does not override the default.
27688 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
27690         gitlog-to-changelog: treat a message with only blank lines as empty.
27691         * build-aux/gitlog-to-changelog: Move the code that removes leading and
27692         trailing blank lines before the code that issues a warning about an
27693         empty commit message.
27695 2011-10-30  Jim Meyering  <meyering@redhat.com>
27697         test-parse-datetime.c: avoid new DST-related false positive test failure
27698         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
27699         based on the time/date we'll convert, not the current time.
27700         Otherwise, the moment we cross a DST boundary like today's in
27701         Europe, (CEST to CET), that offset ends up being one hour off.
27703 2011-10-27  Bruno Haible  <bruno@clisp.org>
27705         fstat: Tweak documentation.
27706         * modules/fstat (Description): More precise description.
27708 2011-10-27  Bruno Haible  <bruno@clisp.org>
27710         Update documentation regarding 'largefile' module.
27711         * doc/posix-functions/fstat.texi: Tweak wording.
27712         * doc/posix-functions/opendir.texi: Mention that the module fixes the
27713         problems with huge directories and/or small ino_t types.
27714         * doc/posix-functions/readdir.texi: Likewise.
27715         * doc/posix-functions/rewinddir.texi: Likewise.
27717 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
27719         maint.mk: don't maintain a second build-aux variable.
27720         * maint.mk (build_aux): Removed.  The maintainer-makefile module
27721         depends on GNUmakefile, which already maintains a cfg.mk
27722         overridable $(_build-aux) for projects with a non-standard
27723         build-aux directory location, although without the $(srcdir)
27724         prefix.  Use that variable consistently instead of introducing a
27725         second one.  Adjust all call sites.
27727 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
27729         Add stdalign module and use it in other modules.
27730         This is based on a previous proposal by Bruno Haible
27731         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
27733         stdalign: new module
27734         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
27735         * modules/stdalign: New files.
27736         * MODULES.html.sh (c1x_core_properties): Add stdalign.
27737         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
27739         stdalign-tests: new module
27740         * modules/stdalign-tests, tests/test-stdalign.c: New files.
27742         argp: use stdalign
27743         * lib/argp-parse.c: Include <stdalign.h>.
27744         (alignof): Remove.
27745         * modules/argp (Depends-on): Add stdalign.
27747         crypto libraries: use stdalign
27748         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
27749         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
27750         Do not include <stdlib.h> twice, in md4.c.
27751         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
27752         because we are accessing a pointer's bit-pattern, not a size.
27753         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
27754         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
27755         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
27756         * modules/crypto/sha512: Likewise.
27758         sys_socket: use stdalign, not alignof
27759         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
27760         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
27762 2011-10-27  Bruno Haible  <bruno@clisp.org>
27764         raise test: Avoid a test failure on Linux/MIPS.
27765         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
27766         because 99 is a valid signal on Linux/MIPS.
27768 2011-10-27  Bruno Haible  <bruno@clisp.org>
27770         nonblocking tests: Fix test failure on Linux/MIPS.
27771         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
27772         Set to 270000.
27774 2011-10-27  Bruno Haible  <bruno@clisp.org>
27776         utimensat: Work around problem on Linux/hppa.
27777         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
27778         values.
27779         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
27781 2011-10-25  Jim Meyering  <meyering@redhat.com>
27783         maint.mk: fix a bug in sc_prohibit_stddef_without_use
27784         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
27785         after symbols like NULL, size_t, etc.
27786         Reported by Alfred M. Szmidt.
27788         maint.mk: exempt ENODATA from a syntax-check rule
27789         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
27790         from the sc_prohibit_always-defined_macros syntax-check rule.
27791         Add a comment.  See this for more details:
27792         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
27794 2011-10-23  Jim Meyering  <meyering@redhat.com>
27796         fts: close parent dir FD before returning from post-traversal fts_read
27797         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
27798         unlink A, even though an FD open on A remained.  This is suboptimal
27799         (holding a file descriptor open longer than needed), but otherwise not
27800         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
27801         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
27802         that represents a real problem: it causes the removal of A to fail
27803         with e.g., "rm: cannot remove `A': Device or resource busy"
27805         fts visits each directory twice and keeps a cache (fts_fd_ring) of
27806         directory file descriptors.  After completing the final, FTS_DP,
27807         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
27808         cache, but then proceeded to add a new FD to it via the subsequent
27809         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
27810         final file descriptor would be closed only via fts_close's call to
27811         fd_ring_clear.  Now, it is usually closed earlier, via the final
27812         FTS_DP-returning fts_read call.
27813         * lib/fts.c (restore_initial_cwd): New function, converted from
27814         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
27815         Update callers.
27816         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
27817         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
27819 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
27820             Bruno Haible  <bruno@clisp.org>
27821             Jim Meyering  <jim@meyering.net>
27823         readme-release: improve safety of release prep instructions.
27824         * README-release: Don't git pull all branches when only master
27825         is needed for the release process.
27826         Run make maintainer-clean before changing trees and merging.
27827         Don't try to run ./configure right after git pull in case files
27828         that influence the bootstrap process have changed, move the
27829         ./configure step to after running ./bootstrap.
27830         Don't bootstrap "one last time"... it's the first time!
27832 2011-10-22  Bruno Haible  <bruno@clisp.org>
27834         errno, strerror-override: Support for MSVC 10.
27835         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
27836         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
27837         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
27838         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
27839         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
27840         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
27841         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
27842         Assign values compatible with MSVC 10.
27843         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
27844         New macros.
27845         (GNULIB_defined_EWINSOCK): New macro.
27846         * lib/strerror-override.c (strerror_override): Update accordingly.
27847         * lib/strerror-override.h: Likewise.
27848         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
27849         longer equal to the corresponding errno value.
27850         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
27852 2011-10-22  Bruno Haible  <bruno@clisp.org>
27854         perror: Recognize when test program crashes.
27855         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
27856         strerror, set gl_cv_func_perror_works to no.
27857         Reported by Daniel Richard G. <skunk@iskunk.org>.
27859         perror: Fix indentation.
27860         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
27862 2011-10-22  Bruno Haible  <bruno@clisp.org>
27864         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
27865         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
27866         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
27867         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
27868         functions, not as a macro.
27869         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
27870         macros.
27871         (isfinite, isinf, isnan, signbit): Check overloaded functions and
27872         absence of macro.
27873         Suggested by Eric Blake.
27874         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
27876 2011-10-21  Bruno Haible  <bruno@clisp.org>
27878         relocatable-prog-wrapper: Don't leave object files behind.
27879         * build-aux/install-reloc: Re-synchronize list of .o files to be
27880         removed with list of compilation units.
27882 2011-10-20  Bruno Haible  <bruno@clisp.org>
27884         openpty, posix_openpt: Remove code duplication.
27885         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
27886         * lib/openpty.c: Include <stdlib.h>.
27887         (openpty): Use posix_openpt on all platforms except IRIX.
27888         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
27890 2011-10-20  Bruno Haible  <bruno@clisp.org>
27892         unlockpt: Detect invalid argument.
27893         * lib/unlockpt.c: Include <fcntl.h>.
27894         (unlockpt): Check whether fd is valid, using fcntl().
27895         * modules/unlockpt (Depends-on): Add fcntl-h.
27897 2011-10-20  Bruno Haible  <bruno@clisp.org>
27899         openpty: Avoid compilation error on AIX 6.1.
27900         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
27902 2011-10-20  Bruno Haible  <bruno@clisp.org>
27904         posix_openpt: Support for OpenBSD.
27905         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
27906         (posix_openpt) [OpenBSD]: New code.
27907         * lib/grantpt.c: Include <fcntl.h>.
27908         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
27909         * modules/grantpt (Depends-on): Add fcntl-h.
27911 2011-10-20  Bruno Haible  <bruno@clisp.org>
27913         posix_openpt test: Coding style.
27914         * tests/test-posix_openpt.c: Use GNU coding style.
27916 2011-10-20  Bruno Haible  <bruno@clisp.org>
27918         grantpt: Support --avoid=pt_chown.
27919         * modules/grantpt (Files): Add lib/pty-private.h.
27921 2011-10-20  Bruno Haible  <bruno@clisp.org>
27923         posix_openpt: Fix autoconf macro.
27924         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
27925         unneeded check for _getpty.
27927 2011-10-20  Bruno Haible  <bruno@clisp.org>
27929         openpty: Update comments.
27930         * lib/openpty.c: Add comments about Minix.
27932 2011-10-19  Eric Blake  <eblake@redhat.com>
27934         openpty: relax license
27935         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
27937         pt_chown: use configmake to simplify build
27938         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
27940         ptsname and others: relax license
27941         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
27942         * modules/unlockpt (License): Likewise.
27943         * modules/pt_chown (License): Likewise.
27944         * modules/ptsname (License): Likewise.
27945         * modules/ttyname_r (License): Likewise.
27947 2011-10-19  Jim Meyering  <meyering@redhat.com>
27949         posix_openpt: remove spurious #endif
27950         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
27952 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
27954         maint.mk: Respect $(build_aux) in web-manual rule.
27955         * top/maint.mk (web-manual): Find gen-announce script in user's
27956         $(build_aux) directory instead of hard-coding 'build-aux'.
27958 2011-10-19  Bruno Haible  <bruno@clisp.org>
27960         posix_openpt: Fix compilation error.
27961         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
27962         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
27963         Mention the openpty module as an alternative.
27965 2011-10-19  Bruno Haible  <bruno@clisp.org>
27967         Support for old NeXTstep 3.3 frexp().
27968         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
27969         execution time of the test to 5 seconds.
27970         Reported by Daniel Richard G. <skunk@iskunk.org>.
27972 2011-10-19  Bruno Haible  <bruno@clisp.org>
27974         Support for old NeXTstep 3.3 sed.
27975         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
27976         part, use /.../, not \|...|. Escape periods in the header file name.
27977         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
27978         Reported by Daniel Richard G. <skunk@iskunk.org>.
27980 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
27982         Support for old NeXTstep 3.3 gcc.
27983         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
27984         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
27985         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
27986         * lib/spawn.in.h (_Restrict_arr_): Likewise.
27987         * lib/regex.h (_Restrict_arr_): Likewise.
27988         * lib/regex_internal.h (re_token_t): Likewise.
27989         * lib/regexec.c (check_node_accept_bytes): Likewise.
27990         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
27992 2011-10-18  Eric Blake  <eblake@redhat.com>
27994         posix_openpt: new module
27995         * modules/posix_openpt: New module.
27996         * m4/posix_openpt.m4: New file.
27997         * lib/posix_openpt.c: Likewise.
27998         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
27999         (gl_STDLIB_H_DEFAULTS): Set defaults.
28000         * modules/stdlib (Makefile.am): Substitute macros.
28001         * lib/stdlib.in.h (posix_openpt): Declare.
28002         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
28003         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
28004         * modules/posix_openpt-tests: New test module.
28005         * tests/test-posix_openpt.c: New test.
28007 2011-10-15  Bruno Haible  <bruno@clisp.org>
28009         xstrtoll: Fix compilation failure.
28010         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
28011         from lib/strtol.c.
28012         * doc/posix-headers/limits.texi: Mention missing numerical limits on
28013         some platforms.
28014         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28016 2011-10-15  Bruno Haible  <bruno@clisp.org>
28018         vasnprintf: Optimize bit search operation.
28019         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
28020         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
28021         gl_DOUBLE_EXPONENT_LOCATION.
28022         * modules/vasnprintf (Files): Add m4/exponentd.m4.
28023         * modules/unistdio/u8-vasnprintf (Files): Likewise.
28024         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
28025         * modules/unistdio/u16-vasnprintf (Files): Likewise.
28026         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
28027         * modules/unistdio/u32-vasnprintf (Files): Likewise.
28028         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
28029         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
28030         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
28032 2011-10-15  Bruno Haible  <bruno@clisp.org>
28034         vasnprintf: Fix comments.
28035         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
28037 2011-10-14  Bruno Haible  <bruno@clisp.org>
28039         Tests for module 'integer_length_ll'.
28040         * modules/integer_length_ll-tests: New file.
28041         * tests/test-integer_length_ll.c: New file.
28043         New module 'integer_length_ll'.
28044         * lib/integer_length_ll.c: New file.
28045         * modules/integer_length_ll: New file.
28047 2011-10-14  Bruno Haible  <bruno@clisp.org>
28049         Tests for module 'integer_length_l'.
28050         * modules/integer_length_l-tests: New file.
28051         * tests/test-integer_length_l.c: New file.
28053         New module 'integer_length_l'.
28054         * lib/integer_length_l.c: New file.
28055         * modules/integer_length_l: New file.
28057 2011-10-14  Bruno Haible  <bruno@clisp.org>
28059         Tests for module 'integer_length'.
28060         * modules/integer_length-tests: New file.
28061         * tests/test-integer_length.c: New file.
28063         New module 'integer_length'.
28064         * lib/integer_length.h: New file.
28065         * lib/integer_length.c: New file.
28066         * modules/integer_length: New file.
28068 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
28070         popen: Fix dependency conditions.
28071         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
28073 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
28075         perror: Fix autoconf test.
28076         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
28077         <stdlib.h> and <string.h>.
28079 2011-10-14  Bruno Haible  <bruno@clisp.org>
28081         ffsl: Optimize on 64-bit platforms.
28082         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
28083         unrolling.
28085 2011-10-13  Bruno Haible  <bruno@clisp.org>
28087         ffsl: Optimize on 32-bit platforms.
28088         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
28089         use ffs() without a loop.
28091         ffsl, ffsll: Optimize for GCC.
28092         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
28093         * lib/ffsl.c (GCC_BUILTIN): New macro.
28094         * lib/ffsll.c (GCC_BUILTIN): Likewise.
28096 2011-10-13  Bruno Haible  <bruno@clisp.org>
28098         ffs, bcopy, memset: Support symbol renaming via config.h.
28099         * lib/ffs.c: Include <config.h>.
28100         * lib/bcopy.c: Likewise.
28101         * lib/memset.c: Likewise.
28103 2011-10-10  Bruno Haible  <bruno@clisp.org>
28105         atanl: Simplify for platforms where 'long double' == 'double'.
28106         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28107         alternative implementation.
28108         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28109         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28110         * modules/atanl (Depends-on): Add atan. Update conditions.
28112 2011-10-10  Bruno Haible  <bruno@clisp.org>
28114         acosl: Simplify for platforms where 'long double' == 'double'.
28115         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28116         alternative implementation.
28117         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28118         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28119         * modules/acosl (Depends-on): Add acos. Update conditions.
28121 2011-10-10  Bruno Haible  <bruno@clisp.org>
28123         asinl: Simplify for platforms where 'long double' == 'double'.
28124         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28125         alternative implementation.
28126         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28127         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28128         * modules/asinl (Depends-on): Add asin. Update conditions.
28130 2011-10-10  Bruno Haible  <bruno@clisp.org>
28132         tanl: Simplify for platforms where 'long double' == 'double'.
28133         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
28134         implementation.
28135         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28136         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28137         * modules/tanl (Depends-on): Add tan. Update conditions.
28138         (configure.ac): Don't compile trigl.c if
28139         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28141 2011-10-10  Bruno Haible  <bruno@clisp.org>
28143         cosl: Simplify for platforms where 'long double' == 'double'.
28144         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
28145         implementation.
28146         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28147         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28148         * modules/cosl (Depends-on): Add cos. Update conditions.
28149         (configure.ac): Don't compile sincosl.c and trigl.c if
28150         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28152 2011-10-10  Bruno Haible  <bruno@clisp.org>
28154         sinl: Simplify for platforms where 'long double' == 'double'.
28155         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
28156         implementation.
28157         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28158         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28159         * modules/sinl (Depends-on): Add sin. Update conditions.
28160         (configure.ac): Don't compile sincosl.c and trigl.c if
28161         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28163 2011-10-10  Bruno Haible  <bruno@clisp.org>
28165         logl: Simplify for platforms where 'long double' == 'double'.
28166         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
28167         implementation.
28168         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28169         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28170         * modules/logl (Depends-on): Add log. Update conditions.
28172 2011-10-10  Bruno Haible  <bruno@clisp.org>
28174         expl: Simplify for platforms where 'long double' == 'double'.
28175         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
28176         implementation.
28177         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28178         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28179         * modules/expl (Depends-on): Add exp. Update conditions.
28181 2011-10-10  Bruno Haible  <bruno@clisp.org>
28183         sqrtl: Simplify for platforms where 'long double' == 'double'.
28184         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28185         alternative implementation.
28186         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28187         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28188         * modules/sqrtl (Depends-on): Update conditions.
28190 2011-10-10  Bruno Haible  <bruno@clisp.org>
28192         ldexpl: Simplify for platforms where 'long double' == 'double'.
28193         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28194         alternative implementation.
28195         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28196         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28197         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
28199 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
28201         ffsll: set correct witness
28202         * modules/ffsll (configure.ac): Fix typo.
28204 2011-10-10  Bruno Haible  <bruno@clisp.org>
28206         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
28207         * lib/printf-frexpl.c: Include <config.h>.
28208         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
28209         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
28210         second time.
28211         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
28212         gl_LONG_DOUBLE_VS_DOUBLE.
28213         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
28214         conditions.
28216 2011-10-10  Bruno Haible  <bruno@clisp.org>
28218         frexpl: Simplify for platforms where 'long double' == 'double'.
28219         * lib/frexpl.c: Include <config.h>.
28220         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
28221         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
28222         time.
28223         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28224         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28225         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
28226         * modules/frexpl (Depends-on): Add frexp. Update conditions.
28227         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
28228         conditions.
28230 2011-10-10  Jim Meyering  <meyering@redhat.com>
28232         test-renameat: don't leave behind a temporary file
28233         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
28234           ERROR: files left in build directory after distclean:
28235           ./gltests/test-renameat.too
28236           make[1]: *** [distcleancheck] Error 1
28237         Reported by Tom G. Christensen.
28239 2011-10-09  Bruno Haible  <bruno@clisp.org>
28241         rint: Determine RINT_LIBM correctly on AIX 7.
28242         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
28243         directly, not only through a function pointer. Also accept an optional
28244         4th argument with extra code.
28245         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
28246         rintf() call by gcc when optimizing.
28248         mathfunc.m4: Refactor.
28249         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
28250         m4 variable.
28252 2011-10-09  Bruno Haible  <bruno@clisp.org>
28254         rintl: Simplify for platforms where 'long double' == 'double'.
28255         * lib/rintl.c: Include <config.h>.
28256         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
28257         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
28258         time.
28259         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28260         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28261         * modules/rintl (Depends-on): Add rint. Update conditions.
28263 2011-10-09  Bruno Haible  <bruno@clisp.org>
28265         roundl: Simplify for platforms where 'long double' == 'double'.
28266         * lib/roundl.c: Include <config.h>.
28267         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
28268         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
28269         time.
28270         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28271         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28272         * modules/roundl (Depends-on): Add round. Update conditions.
28274 2011-10-09  Bruno Haible  <bruno@clisp.org>
28276         truncl: Simplify for platforms where 'long double' == 'double'.
28277         * lib/truncl.c: Include <config.h>.
28278         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
28279         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
28280         time.
28281         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28282         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28283         * modules/truncl (Depends-on): Add trunc. Update conditions.
28285 2011-10-09  Bruno Haible  <bruno@clisp.org>
28287         ceill: Simplify for platforms where 'long double' == 'double'.
28288         * lib/ceill.c: Include <config.h>.
28289         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
28290         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
28291         time.
28292         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28293         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28294         * modules/ceill (Depends-on): Add ceil. Update conditions.
28296 2011-10-09  Bruno Haible  <bruno@clisp.org>
28298         floorl: Simplify for platforms where 'long double' == 'double'.
28299         * lib/floorl.c: Include <config.h>.
28300         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
28301         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
28302         time.
28303         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28304         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28305         * modules/floorl (Depends-on): Add floor. Update conditions.
28307 2011-10-09  Bruno Haible  <bruno@clisp.org>
28309         rint: Fix ordering constraints.
28310         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
28311         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
28312         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
28314 2011-10-09  Bruno Haible  <bruno@clisp.org>
28316         copysignl: Simplify for platforms where 'long double' == 'double'.
28317         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
28318         alternative.
28319         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28320         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
28321         * modules/copysignl (Depends-on): Add copysign. Update conditions.
28323 2011-10-09  Bruno Haible  <bruno@clisp.org>
28325         Tests for module 'rintl'.
28326         * modules/rintl-tests: New file.
28327         * tests/test-rintl.c: New file.
28329         New module 'rintl'.
28330         * lib/math.in.h (rintl): New declaration.
28331         * lib/rintl.c: New file.
28332         * m4/rintl.m4: New file.
28333         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
28334         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
28335         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
28336         * modules/rintl: New file.
28337         * tests/test-math-c++.cc: Check the declaration of rintl.
28338         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
28339         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
28340         * doc/posix-functions/rintl.texi: Mention the new module.
28342 2011-10-09  Bruno Haible  <bruno@clisp.org>
28344         Tests for module 'rintf'.
28345         * modules/rintf-tests: New file.
28346         * tests/test-rintf.c: New file.
28348         New module 'rintf'.
28349         * lib/math.in.h (rintf): New declaration.
28350         * lib/rintf.c: New file.
28351         * m4/rintf.m4: New file.
28352         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
28353         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
28354         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
28355         * modules/rintf: New file.
28356         * tests/test-math-c++.cc: Check the declaration of rintf.
28357         * doc/posix-functions/rintf.texi: Mention the new module.
28359 2011-10-09  Bruno Haible  <bruno@clisp.org>
28361         rint: Support for MSVC.
28362         * lib/math.in.h (rint): New declaration.
28363         * lib/rint.c: New file.
28364         * m4/rint.m4: New file.
28365         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
28366         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
28367         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
28368         * modules/rint (Description): Fix.
28369         (Files): Add lib/rint.c, m4/rint.m4.
28370         (Depends-on): Add math.
28371         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
28372         gl_MATH_MODULE_INDICATOR.
28373         * tests/test-math-c++.cc: Check the declaration of rint.
28374         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
28375         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
28376         * doc/posix-functions/rint.texi: Mention the replacement provided by
28377         the module.
28379         rint tests: More tests.
28380         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
28381         minus-zero.h, infinity.h, nan.h.
28382         (main): Skip the test if the current rounding mode is not standard. Add
28383         tests for negative numbers, minus zero, infinity, NaN.
28384         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
28385         tests/nan.h.
28386         (Depends-on): Add isnand-nolibm.
28388 2011-10-09  Bruno Haible  <bruno@clisp.org>
28390         Tests for module 'copysignl'.
28391         * modules/copysignl-tests: New file.
28392         * tests/test-copysignl.c: New file.
28394         New module 'copysignl'.
28395         * lib/math.in.h (copysignl): New declaration.
28396         * lib/copysignl.c: New file.
28397         * m4/copysignl.m4: New file.
28398         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
28399         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
28400         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
28401         HAVE_COPYSIGNL.
28402         * modules/copysignl: New file.
28403         * tests/test-math-c++.cc: Check the declaration of copysignl.
28404         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
28405         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
28406         * doc/posix-functions/copysignl.texi: Mention the new module.
28408 2011-10-09  Bruno Haible  <bruno@clisp.org>
28410         Tests for module 'copysignf'.
28411         * modules/copysignf-tests: New file.
28412         * tests/test-copysignf.c: New file.
28414         New module 'copysignf'.
28415         * lib/math.in.h (copysignf): New declaration.
28416         * lib/copysignf.c: New file.
28417         * m4/copysignf.m4: New file.
28418         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
28419         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
28420         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
28421         HAVE_COPYSIGNF.
28422         * modules/copysignf: New file.
28423         * tests/test-math-c++.cc: Check the declaration of copysignf.
28424         * doc/posix-functions/copysignf.texi: Mention the new module.
28426 2011-10-09  Bruno Haible  <bruno@clisp.org>
28428         Ensure that HAVE_* variables are set to 1 before they are set to 0.
28429         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
28430         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
28431         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
28432         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
28433         gl_SIGNAL_H_DEFAULTS.
28435 2011-10-09  Bruno Haible  <bruno@clisp.org>
28437         poll: Make macro safer.
28438         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
28439         ac_cv_header_poll_h is not set.
28441 2011-10-09  Bruno Haible  <bruno@clisp.org>
28443         copysign: Provide replacement.
28444         * lib/math.in.h (copysign): New declaration.
28445         * lib/copysign.c: New file.
28446         * m4/copysign.m4: New file.
28447         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
28448         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
28449         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
28450         HAVE_COPYSIGN.
28451         * modules/copysign (Description): Clarify.
28452         (Files): Add lib/copysign.c, m4/copysign.m4.
28453         (Depends-on): Add math, signbit.
28454         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
28455         gl_MATH_MODULE_INDICATOR.
28456         * tests/test-math-c++.cc: Check the declaration of copysign.
28457         * doc/posix-functions/copysign.texi: Mention the effects of the module
28458         on Minix and MSVC.
28460 2011-10-09  Bruno Haible  <bruno@clisp.org>
28462         isinf: Ensure macro on AIX 5.1.
28463         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
28464         macro.
28465         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
28467 2011-10-09  Bruno Haible  <bruno@clisp.org>
28469         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
28470         * modules/snprintf-posix-tests (configure.ac): Require
28471         gl_LONG_DOUBLE_VS_DOUBLE.
28472         * modules/sprintf-posix-tests (configure.ac): Likewise.
28473         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
28474         * modules/vasprintf-posix-tests (configure.ac): Likewise.
28475         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
28476         * modules/vsprintf-posix-tests (configure.ac): Likewise.
28477         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
28478         tests on platforms where 'long double' is the same as 'double'.
28479         * tests/test-sprintf-posix.h (test_function): Likewise.
28480         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28481         * tests/test-vasprintf-posix.c (test_function): Likewise.
28483         *printf: Fix for platforms where 'long double' == 'double'.
28484         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
28485         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
28486         * modules/dprintf-posix (Files): Add m4/math_h.m4.
28487         * modules/fprintf-posix (Files): Likewise.
28488         * modules/obstack-printf-posix (Files): Likewise.
28489         * modules/snprintf-posix (Files): Likewise.
28490         * modules/sprintf-posix (Files): Likewise.
28491         * modules/vasnprintf (Files): Likewise.
28492         * modules/vasnprintf-posix (Files): Likewise.
28493         * modules/vasprintf-posix (Files): Likewise.
28494         * modules/vdprintf-posix (Files): Likewise.
28495         * modules/vfprintf-posix (Files): Likewise.
28496         * modules/vsnprintf-posix (Files): Likewise.
28497         * modules/vsprintf-posix (Files): Likewise.
28498         * modules/unistdio/u8-vasnprintf (Files): Likewise.
28499         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
28500         * modules/unistdio/u16-vasnprintf (Files): Likewise.
28501         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
28502         * modules/unistdio/u32-vasnprintf (Files): Likewise.
28503         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
28504         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
28506         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
28507         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
28508         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
28509         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
28510         'long double'.
28511         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
28513         isinf: Fix for platforms where 'long double' == 'double'.
28514         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
28515         Don't blindly assume 80-bit 'long double'.
28517         isfinite: Fix for platforms where 'long double' == 'double'.
28518         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
28519         Don't blindly assume 80-bit 'long double'.
28521         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
28522         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
28523         * modules/isfinite-tests (configure.ac): Require
28524         gl_LONG_DOUBLE_VS_DOUBLE.
28525         * modules/isinf-tests (configure.ac): Likewise.
28526         * modules/isnan-tests (configure.ac): Likewise.
28527         * modules/isnanl-tests (configure.ac): Likewise.
28528         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
28529         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
28530         tests on platforms where 'long double' is the same as 'double'.
28531         * tests/test-isinf.c (test_isinfl): Likewise.
28532         * tests/test-isnan.c (test_long_double): Likewise.
28533         * tests/test-isnanl.h (main): Likewise.
28535 2011-10-08  Bruno Haible  <bruno@clisp.org>
28537         Tests for module 'tanhf'.
28538         * modules/tanhf-tests: New file.
28539         * tests/test-tanhf.c: New file.
28541         New module 'tanhf'.
28542         * lib/math.in.h (tanhf): New declaration.
28543         * lib/tanhf.c: New file.
28544         * m4/tanhf.m4: New file.
28545         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
28546         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
28547         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
28548         * modules/tanhf: New file.
28549         * tests/test-math-c++.cc: Check the declaration of tanhf.
28550         * doc/posix-functions/tanhf.texi: Mention the new module.
28552         tanh: Use a .m4 file.
28553         * m4/tanh.m4: New file.
28554         * modules/tanh (Files): Add it.
28555         (configure.ac): Just invoke gl_FUNC_TANH.
28557 2011-10-08  Bruno Haible  <bruno@clisp.org>
28559         Tests for module 'coshf'.
28560         * modules/coshf-tests: New file.
28561         * tests/test-coshf.c: New file.
28563         New module 'coshf'.
28564         * lib/math.in.h (coshf): New declaration.
28565         * lib/coshf.c: New file.
28566         * m4/coshf.m4: New file.
28567         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
28568         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
28569         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
28570         * modules/coshf: New file.
28571         * tests/test-math-c++.cc: Check the declaration of coshf.
28572         * doc/posix-functions/coshf.texi: Mention the new module.
28574         cosh: Use a .m4 file.
28575         * m4/cosh.m4: New file.
28576         * modules/cosh (Files): Add it.
28577         (configure.ac): Just invoke gl_FUNC_COSH.
28579 2011-10-08  Bruno Haible  <bruno@clisp.org>
28581         Tests for module 'sinhf'.
28582         * modules/sinhf-tests: New file.
28583         * tests/test-sinhf.c: New file.
28585         New module 'sinhf'.
28586         * lib/math.in.h (sinhf): New declaration.
28587         * lib/sinhf.c: New file.
28588         * m4/sinhf.m4: New file.
28589         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
28590         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
28591         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
28592         * modules/sinhf: New file.
28593         * tests/test-math-c++.cc: Check the declaration of sinhf.
28594         * doc/posix-functions/sinhf.texi: Mention the new module.
28596         sinh: Use a .m4 file.
28597         * m4/sinh.m4: New file.
28598         * modules/sinh (Files): Add it.
28599         (configure.ac): Just invoke gl_FUNC_SINH.
28601 2011-10-08  Bruno Haible  <bruno@clisp.org>
28603         Tests for module 'atan2f'.
28604         * modules/atan2f-tests: New file.
28605         * tests/test-atan2f.c: New file.
28607         New module 'atan2f'.
28608         * lib/math.in.h (atan2f): New declaration.
28609         * lib/atan2f.c: New file.
28610         * m4/atan2f.m4: New file.
28611         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
28612         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
28613         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
28614         * modules/atan2f: New file.
28615         * tests/test-math-c++.cc: Check the declaration of atan2f.
28616         * doc/posix-functions/atan2f.texi: Mention the new module.
28618         atan2: Use a .m4 file.
28619         * m4/atan2.m4: New file.
28620         * modules/atan2 (Files): Add it.
28621         (configure.ac): Just invoke gl_FUNC_ATAN2.
28623 2011-10-08  Bruno Haible  <bruno@clisp.org>
28625         Tests for module 'atanf'.
28626         * modules/atanf-tests: New file.
28627         * tests/test-atanf.c: New file.
28629         New module 'atanf'.
28630         * lib/math.in.h (atanf): New declaration.
28631         * lib/atanf.c: New file.
28632         * m4/atanf.m4: New file.
28633         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
28634         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
28635         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
28636         * modules/atanf: New file.
28637         * tests/test-math-c++.cc: Check the declaration of atanf.
28638         * doc/posix-functions/atanf.texi: Mention the new module.
28640         atan: Use a .m4 file.
28641         * m4/atan.m4: New file.
28642         * modules/atan (Files): Add it.
28643         (configure.ac): Just invoke gl_FUNC_ATAN.
28645 2011-10-08  Bruno Haible  <bruno@clisp.org>
28647         Tests for module 'acosf'.
28648         * modules/acosf-tests: New file.
28649         * tests/test-acosf.c: New file.
28651         New module 'acosf'.
28652         * lib/math.in.h (acosf): New declaration.
28653         * lib/acosf.c: New file.
28654         * m4/acosf.m4: New file.
28655         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
28656         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
28657         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
28658         * modules/acosf: New file.
28659         * tests/test-math-c++.cc: Check the declaration of acosf.
28660         * doc/posix-functions/acosf.texi: Mention the new module.
28662         acos: Use a .m4 file.
28663         * m4/acos.m4: New file.
28664         * modules/acos (Files): Add it.
28665         (configure.ac): Just invoke gl_FUNC_ACOS.
28667 2011-10-08  Bruno Haible  <bruno@clisp.org>
28669         Tests for module 'asinf'.
28670         * modules/asinf-tests: New file.
28671         * tests/test-asinf.c: New file.
28673         New module 'asinf'.
28674         * lib/math.in.h (asinf): New declaration.
28675         * lib/asinf.c: New file.
28676         * m4/asinf.m4: New file.
28677         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
28678         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
28679         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
28680         * modules/asinf: New file.
28681         * tests/test-math-c++.cc: Check the declaration of asinf.
28682         * doc/posix-functions/asinf.texi: Mention the new module.
28684         asin: Use a .m4 file.
28685         * m4/asin.m4: New file.
28686         * modules/asin (Files): Add it.
28687         (configure.ac): Just invoke gl_FUNC_ASIN.
28689 2011-10-08  Bruno Haible  <bruno@clisp.org>
28691         Tests for module 'tanf'.
28692         * modules/tanf-tests: New file.
28693         * tests/test-tanf.c: New file.
28695         New module 'tanf'.
28696         * lib/math.in.h (tanf): New declaration.
28697         * lib/tanf.c: New file.
28698         * m4/tanf.m4: New file.
28699         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
28700         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
28701         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
28702         * modules/tanf: New file.
28703         * tests/test-math-c++.cc: Check the declaration of tanf.
28704         * doc/posix-functions/tanf.texi: Mention the new module.
28706         tan: Use a .m4 file.
28707         * m4/tan.m4: New file.
28708         * modules/tan (Files): Add it.
28709         (configure.ac): Just invoke gl_FUNC_TAN.
28711 2011-10-08  Bruno Haible  <bruno@clisp.org>
28713         Tests for module 'cosf'.
28714         * modules/cosf-tests: New file.
28715         * tests/test-cosf.c: New file.
28717         New module 'cosf'.
28718         * lib/math.in.h (cosf): New declaration.
28719         * lib/cosf.c: New file.
28720         * m4/cosf.m4: New file.
28721         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
28722         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
28723         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
28724         * modules/cosf: New file.
28725         * tests/test-math-c++.cc: Check the declaration of cosf.
28726         * doc/posix-functions/cosf.texi: Mention the new module.
28728         cos: Use a .m4 file.
28729         * m4/cos.m4: New file.
28730         * modules/cos (Files): Add it.
28731         (configure.ac): Just invoke gl_FUNC_COS.
28733 2011-10-08  Bruno Haible  <bruno@clisp.org>
28735         Tests for module 'sinf'.
28736         * modules/sinf-tests: New file.
28737         * tests/test-sinf.c: New file.
28739         New module 'sinf'.
28740         * lib/math.in.h (sinf): New declaration.
28741         * lib/sinf.c: New file.
28742         * m4/sinf.m4: New file.
28743         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
28744         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
28745         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
28746         * modules/sinf: New file.
28747         * tests/test-math-c++.cc: Check the declaration of sinf.
28748         * doc/posix-functions/sinf.texi: Mention the new module.
28750         sin: Use a .m4 file.
28751         * m4/sin.m4: New file.
28752         * modules/sin (Files): Add it.
28753         (configure.ac): Just invoke gl_FUNC_SIN.
28755 2011-10-08  Bruno Haible  <bruno@clisp.org>
28757         Tests for module 'powf'.
28758         * modules/powf-tests: New file.
28759         * tests/test-powf.c: New file.
28761         New module 'powf'.
28762         * lib/math.in.h (powf): New declaration.
28763         * lib/powf.c: New file.
28764         * m4/powf.m4: New file.
28765         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
28766         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
28767         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
28768         * modules/powf: New file.
28769         * tests/test-math-c++.cc: Check the declaration of powf.
28770         * doc/posix-functions/powf.texi: Mention the new module.
28772         pow: Use a .m4 file.
28773         * m4/pow.m4: New file.
28774         * modules/pow (Files): Add it.
28775         (configure.ac): Just invoke gl_FUNC_POW.
28777 2011-10-08  Bruno Haible  <bruno@clisp.org>
28779         Tests for module 'log10f'.
28780         * modules/log10f-tests: New file.
28781         * tests/test-log10f.c: New file.
28783         New module 'log10f'.
28784         * lib/math.in.h (log10f): New declaration.
28785         * lib/log10f.c: New file.
28786         * m4/log10f.m4: New file.
28787         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
28788         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
28789         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
28790         * modules/log10f: New file.
28791         * tests/test-math-c++.cc: Check the declaration of log10f.
28792         * doc/posix-functions/log10f.texi: Mention the new module.
28794         log10: Use a .m4 file.
28795         * m4/log10.m4: New file.
28796         * modules/log10 (Files): Add it.
28797         (configure.ac): Just invoke gl_FUNC_LOG10.
28799 2011-10-08  Bruno Haible  <bruno@clisp.org>
28801         Tests for module 'logf'.
28802         * modules/logf-tests: New file.
28803         * tests/test-logf.c: New file.
28805         New module 'logf'.
28806         * lib/math.in.h (logf): New declaration.
28807         * lib/logf.c: New file.
28808         * m4/logf.m4: New file.
28809         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
28810         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
28811         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
28812         * modules/logf: New file.
28813         * tests/test-math-c++.cc: Check the declaration of logf.
28814         * doc/posix-functions/logf.texi: Mention the new module.
28816         log: Use a .m4 file.
28817         * m4/log.m4: New file.
28818         * modules/log (Files): Add it.
28819         (configure.ac): Just invoke gl_FUNC_LOG.
28821 2011-10-08  Bruno Haible  <bruno@clisp.org>
28823         Tests for module 'expf'.
28824         * modules/expf-tests: New file.
28825         * tests/test-expf.c: New file.
28827         New module 'expf'.
28828         * lib/math.in.h (expf): New declaration.
28829         * lib/expf.c: New file.
28830         * m4/expf.m4: New file.
28831         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
28832         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
28833         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
28834         * modules/expf: New file.
28835         * tests/test-math-c++.cc: Check the declaration of expf.
28836         * doc/posix-functions/expf.texi: Mention the new module.
28838         exp: Use a .m4 file.
28839         * m4/exp.m4: New file.
28840         * modules/exp (Files): Add it.
28841         (configure.ac): Just invoke gl_FUNC_EXP.
28843 2011-10-08  Bruno Haible  <bruno@clisp.org>
28845         Tests for module 'sqrtf'.
28846         * modules/sqrtf-tests: New file.
28847         * tests/test-sqrtf.c: New file.
28849         New module 'sqrtf'.
28850         * lib/math.in.h (sqrtf): New declaration.
28851         * lib/sqrtf.c: New file.
28852         * m4/sqrtf.m4: New file.
28853         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
28854         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
28855         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
28856         * modules/sqrtf: New file.
28857         * tests/test-math-c++.cc: Check the declaration of sqrtf.
28858         * doc/posix-functions/sqrtf.texi: Mention the new module.
28860 2011-10-08  Bruno Haible  <bruno@clisp.org>
28862         Tests: Avoid link failures w.r.t. libintl.
28863         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
28864         $(LIBINTL).
28865         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
28866         $(LIBINTL).
28867         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
28868         against $(LIBINTL).
28869         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
28870         $(LIBINTL).
28871         * modules/openat-tests (Makefile.am): Link test-fchmodat against
28872         $(LIBINTL).
28873         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
28875 2011-10-08  Bruno Haible  <bruno@clisp.org>
28877         pow tests: Defeat compiler optimizations.
28878         * tests/test-pow.c (main): Assign arguments to x and y before use.
28880 2011-10-08  Bruno Haible  <bruno@clisp.org>
28882         gnulib-tool: Improve last commit.
28883         * gnulib-tool (func_modules_transitive_closure): Simplify code.
28884         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
28885         ignore dependencies that are not among the modules list.
28887 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
28889         gnulib-tool: don't follow dependencies to avoided modules
28890         This fixes a bug that is related to the previous one.
28891         * gnulib-tool (func_modules_transitive_closure)
28892         (func_emit_autoconf_snippets):
28893         Check whether a dependency is acceptable before using it.
28894         (--extract-dependencies): Report an error if --avoid is also used,
28895         since this combination of options is not yet supported.
28897         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
28898         Problem reported by Peter Dyballa in
28899         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
28900         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
28901         when echoing "$condition".
28903 2011-10-07  Bruno Haible  <bruno@clisp.org>
28905         Fix documentation about math functions on MacOS X.
28906         * doc/posix-functions/exp2.texi: Don't say the function is missing on
28907         MacOS X 10.5.
28908         * doc/posix-functions/fdim.texi: Likewise.
28909         * doc/posix-functions/feclearexcept.texi: Likewise.
28910         * doc/posix-functions/fegetenv.texi: Likewise.
28911         * doc/posix-functions/fegetround.texi: Likewise.
28912         * doc/posix-functions/feholdexcept.texi: Likewise.
28913         * doc/posix-functions/feraiseexcept.texi: Likewise.
28914         * doc/posix-functions/fesetenv.texi: Likewise.
28915         * doc/posix-functions/fesetround.texi: Likewise.
28916         * doc/posix-functions/fetestexcept.texi: Likewise.
28917         * doc/posix-functions/feupdateenv.texi: Likewise.
28918         * doc/posix-functions/fmax.texi: Likewise.
28919         * doc/posix-functions/fmin.texi: Likewise.
28920         * doc/posix-functions/log2.texi: Likewise.
28921         * doc/posix-functions/modff.texi: Likewise.
28922         * doc/posix-functions/nan.texi: Likewise.
28923         * doc/posix-functions/nanf.texi: Likewise.
28924         * doc/posix-functions/nextafterf.texi: Likewise.
28925         * doc/posix-functions/remquo.texi: Likewise.
28927 2011-10-07  Bruno Haible  <bruno@clisp.org>
28929         modff: Drop assumption about library that defines modff.
28930         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
28931         AC_CHECK_FUNCS.
28932         * modules/modff (Files): Add m4/mathfunc.m4.
28934 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
28936         raise tests: Avoid a GCC warning.
28937         * tests/test-raise.c (handler): Use _Noreturn.
28939 2011-10-07  Bruno Haible  <bruno@clisp.org>
28941         Tests for module 'ldexpf'.
28942         * modules/ldexpf-tests: New file.
28943         * tests/test-ldexpf.c: New file.
28945         New module 'ldexpf'.
28946         * lib/math.in.h (ldexpf): New declaration.
28947         * lib/ldexpf.c: New file.
28948         * m4/ldexpf.m4: New file.
28949         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
28950         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
28951         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
28952         * modules/ldexpf: New file.
28953         * tests/test-math-c++.cc: Check the declaration of ldexpf.
28954         * doc/posix-functions/ldexpf.texi: Mention the new module.
28956 2011-10-06  Bruno Haible  <bruno@clisp.org>
28958         frexpf: Work around problems on IRIX and mingw.
28959         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
28960         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
28961         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
28962         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
28963         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
28964         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
28965         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
28967 2011-10-06  Bruno Haible  <bruno@clisp.org>
28969         fabsf: Drop assumption about library that defines fabsf.
28970         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
28971         AC_CHECK_FUNCS.
28972         * modules/fabsf (Files): Add m4/mathfunc.m4.
28974 2011-10-06  Bruno Haible  <bruno@clisp.org>
28976         frexpf: Drop assumption about library that defines frexpf.
28977         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
28978         'int *', 'float *', 'long double *', 'float', 'long double'.
28979         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
28980         AC_CHECK_FUNCS.
28981         * modules/frexpf (Files): Add m4/mathfunc.m4.
28983         Tests for module 'frexpf'.
28984         * modules/frexpf-tests: New file.
28985         * tests/test-frexpf.c: New file.
28987         New module 'frexpf'.
28988         * lib/math.in.h (frexpf): New declaration.
28989         * lib/frexpf.c: New file.
28990         * m4/frexpf.m4: New file.
28991         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
28992         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
28993         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
28994         * modules/frexpf: New file.
28995         * tests/test-math-c++.cc: Check the declaration of frexpf.
28996         * doc/posix-functions/frexpf.texi: Mention the new module.
28998 2011-10-06  Bruno Haible  <bruno@clisp.org>
29000         math: Sort function declarations of math.in.h.
29001         * lib/math.in.h (frexp, logb): Move declarations.
29003 2011-10-05  Bruno Haible  <bruno@clisp.org>
29005         Tests for module 'modff'.
29006         * modules/modff-tests: New file.
29007         * tests/test-modff.c: New file.
29009         New module 'modff'.
29010         * lib/math.in.h (modff): New declaration.
29011         * lib/modff.c: New file.
29012         * m4/modff.m4: New file.
29013         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
29014         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
29015         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
29016         * modules/modff: New file.
29017         * tests/test-math-c++.cc: Check the declaration of modff.
29018         * doc/posix-functions/modff.texi: Mention the new module.
29020         modf tests: Make test sharper.
29021         * tests/test-modf.c (main): Strengthen upper bound.
29023         modf: Use a .m4 file.
29024         * m4/modf.m4: New file.
29025         * modules/modf (Files): Add it.
29026         (configure.ac): Just invoke gl_FUNC_MODF.
29028 2011-10-05  Bruno Haible  <bruno@clisp.org>
29030         Tests for module 'fmodf'.
29031         * modules/fmodf-tests: New file.
29032         * tests/test-fmodf.c: New file.
29034         New module 'fmodf'.
29035         * lib/math.in.h (fmodf): New declaration.
29036         * lib/fmodf.c: New file.
29037         * m4/fmodf.m4: New file.
29038         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
29039         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
29040         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
29041         * modules/fmodf: New file.
29042         * tests/test-math-c++.cc: Check the declaration of fmodf.
29043         * doc/posix-functions/fmodf.texi: Mention the new module.
29045         fmod: Use a .m4 file.
29046         * m4/fmod.m4: New file.
29047         * modules/fmod (Files): Add it.
29048         (configure.ac): Just invoke gl_FUNC_FMOD.
29050 2011-10-05  Bruno Haible  <bruno@clisp.org>
29052         Tests for module 'fabsf'.
29053         * modules/fabsf-tests: New file.
29054         * tests/test-fabsf.c: New file.
29056         New module 'fabsf'.
29057         * lib/math.in.h (fabsf): New declaration.
29058         * lib/fabsf.c: New file.
29059         * m4/fabsf.m4: New file.
29060         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
29061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
29062         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
29063         * modules/fabsf: New file.
29064         * tests/test-math-c++.cc: Check the declaration of fabsf.
29065         * doc/posix-functions/fabsf.texi: Mention the new module.
29067         fabs: Use a .m4 file.
29068         * m4/fabs.m4: New file.
29069         * modules/fabs (Files): Add it.
29070         (configure.ac): Just invoke gl_FUNC_FABS.
29072 2011-10-05  Jim Meyering  <meyering@redhat.com>
29074         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
29075         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
29076         ls -lL regression introduced in coreutils-8.12, it does so at the
29077         cost of an additional stat call in the common case.  Besides, now
29078         that the kernel change that prompted commit 95f7c57f has been reverted
29079         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
29080         we have no use for commit 95f7c57f, "file-has-acl: use
29081         acl_extended_file_nofollow if available".
29083 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
29085         file-has-acl: revert unintended change in behavior of ls -L
29086         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
29087         derived from...
29088         (file_has_acl): ...code here.  Call it.
29089         This problem was introduced with 2011-07-22 commit 95f7c57f,
29090         "file-has-acl: use acl_extended_file_nofollow if available".
29091         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
29093 2011-10-03  Bruno Haible  <bruno@clisp.org>
29095         poll: Avoid link errors on MSVC.
29096         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
29097         * modules/poll (Depends-on): Add sockets.
29098         (Link): New section.
29099         * NEWS: Mention the change.
29100         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
29101         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
29102         $(LIB_POLL) instead of $(LIBSOCKET).
29104 2011-10-03  Bruno Haible  <bruno@clisp.org>
29106         sys_select tests: Fix link error on MSVC 9.
29107         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
29108         with $(LIB_SELECT) instead of $(LIBSOCKET).
29110 2011-10-03  Bruno Haible  <bruno@clisp.org>
29112         sys_select: Fix compilation error on mingw.
29113         * lib/sys_select.in.h: On native Windows, include <io.h>.
29115 2011-10-03  Bruno Haible  <bruno@clisp.org>
29117         wmemset: Support for MSVC.
29118         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
29119         whether wmemset() exists.
29121 2011-10-03  Bruno Haible  <bruno@clisp.org>
29123         wmemmove: Support for MSVC.
29124         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
29125         whether wmemmove() exists.
29127 2011-10-03  Bruno Haible  <bruno@clisp.org>
29129         wmemcpy: Support for MSVC.
29130         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
29131         whether wmemcpy() exists.
29133 2011-10-03  Bruno Haible  <bruno@clisp.org>
29135         wmemcmp: Support for MSVC.
29136         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
29137         whether wmemcmp() exists.
29139 2011-10-03  Bruno Haible  <bruno@clisp.org>
29141         wmemchr: Support for MSVC.
29142         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
29143         whether wmemchr() exists.
29145 2011-10-03  Bruno Haible  <bruno@clisp.org>
29147         glthread/*, strsignal: Support for MSVC.
29148         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
29149         including <winsock.h> on MSVC 9.
29150         * lib/glthread/lock.h: Likewise.
29151         * lib/glthread/thread.h: Likewise.
29152         * lib/glthread/tls.h: Likewise.
29153         * lib/glthread/yield.h: Likewise.
29154         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
29155         if HAVE_UNISTD_H is false.
29156         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
29158 2011-10-03  Bruno Haible  <bruno@clisp.org>
29160         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
29161         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
29162         Set to 100000.
29164 2011-10-03  Bruno Haible  <bruno@clisp.org>
29166         acl: Fix specification.
29167         * lib/file-has-acl.c (file_has_acl): Fix specification.
29169 2011-10-03  Bruno Haible  <bruno@clisp.org>
29171         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
29172         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
29173         (compute_curr_prefix, shared_library_fullname,
29174         find_shared_library_fullname, get_shared_library_fullname, relocate):
29175         Use it together with PIC && INSTALLDIR.
29176         Reported by <jojelino@gmail.com>
29177         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
29179 2011-10-01  Jim Meyering  <meyering@redhat.com>
29181         maint.mk: adjust a release-related rule not to require use of gzip
29182         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
29183         Instead, check each file in $(DIST_ARCHIVES).  This is better for
29184         projects that build only .tar.xz files.  Also fix an erroneous test.
29186         test-linkat: don't leave behind a temporary file
29187         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
29188         Otherwise, coreutils' "make distcheck" would fail with this:
29189           Only in /c/cu/tests/torture/coreutils/test/\
29190             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
29191           make[2]: *** [my-distcheck] Error 1
29193         float, math: add omitted file
29194         * lib/itold.c: Add file, required for yesterday's float change.
29196 2011-10-01  Bruno Haible  <bruno@clisp.org>
29198         isinf: Fix for OpenBSD/x86.
29199         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
29200         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
29201         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
29203 2011-10-01  Bruno Haible  <bruno@clisp.org>
29205         isfinite: Fix syntax error in configure test.
29206         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
29208         isfinite: Fix typo.
29209         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
29210         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
29212 2011-10-01  Bruno Haible  <bruno@clisp.org>
29214         nonblocking tests: Fix test failure on Linux/IA-64.
29215         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
29216         Set to 270000.
29218 2011-10-01  Bruno Haible  <bruno@clisp.org>
29220         mkfifoat tests: Fix a test failure on mingw.
29221         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
29222         with error ENOSYS.
29224 2011-09-30  Bruno Haible  <bruno@clisp.org>
29226         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
29227         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
29228         'long double'. Set REPLACE_ITOLD.
29229         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
29230         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
29231         * lib/itold.c: New file.
29232         * modules/float (Files): Add lib/itold.c.
29233         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
29234         (Makefile.am): Substitute REPLACE_ITOLD.
29235         * modules/math (Depends-on): Add float.
29236         (Makefile.am): Substitute REPLACE_ITOLD.
29237         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
29238         * doc/posix-headers/math.texi: Likewise.
29239         * doc/posix-functions/logl.texi: Likewise.
29241 2011-09-30  Bruno Haible  <bruno@clisp.org>
29243         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
29244         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
29245         Set to 140000.
29247 2011-09-30  Bruno Haible  <bruno@clisp.org>
29249         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
29250         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
29251         invocation, say "right after AC_PROG_CC_STDC", not "right after
29252         AC_PROG_CC".
29253         Reported by Gary V. Vaughan <gary@gnu.org>.
29255 2011-09-30  Bruno Haible  <bruno@clisp.org>
29257         Centralize C99 requirement.
29258         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
29259         * modules/stdarg (configure.ac-early): Invoke it instead of
29260         AC_PROG_CC_STDC.
29261         Reported by Gary V. Vaughan and Paul Eggert.
29263 2011-09-29  Bruno Haible  <bruno@clisp.org>
29265         float: Fix LDBL_MAX value on Linux/PowerPC.
29266         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
29267         on Linux/PowerPC.
29268         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
29269         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
29270         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
29271         platform.
29272         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
29274 2011-09-29  Bruno Haible  <bruno@clisp.org>
29276         doc: Improve doc about gl_EARLY.
29277         * doc/gnulib-tool.texi (Initial import): Mention where to place an
29278         AC_PROG_CC_STDC invocation.
29279         Reported by Gary V. Vaughan <gary@gnu.org>.
29281 2011-09-28  Bruno Haible  <bruno@clisp.org>
29283         fgetc, fputc, fread, fwrite tests: Fix link error.
29284         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
29285         on non-MSVC platforms.
29286         * tests/test-fputc.c (main): Likewise.
29287         * tests/test-fread.c (main): Likewise.
29288         * tests/test-fwrite.c (main): Likewise.
29289         Reported by Jim Meyering.
29291 2011-09-27  Bruno Haible  <bruno@clisp.org>
29293         fputc, fwrite tests: Avoid test failure on MSVC.
29294         * tests/test-fgetc.c: Include msvc-inval.h.
29295         (main): Invoke gl_msvc_inval_ensure_handler.
29296         * tests/test-fputc.c: Include msvc-inval.h.
29297         (main): Invoke gl_msvc_inval_ensure_handler.
29298         * tests/test-fread.c: Include msvc-inval.h.
29299         (main): Invoke gl_msvc_inval_ensure_handler.
29300         * tests/test-fwrite.c: Include msvc-inval.h.
29301         (main): Invoke gl_msvc_inval_ensure_handler.
29302         * modules/fgetc-tests (Depends-on): Add msvc-inval.
29303         * modules/fputc-tests (Depends-on): Likewise.
29304         * modules/fread-tests (Depends-on): Likewise.
29305         * modules/fwrite-tests (Depends-on): Likewise.
29307 2011-09-27  Bruno Haible  <bruno@clisp.org>
29309         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
29310         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
29311         (raise): Remove older, duplicated declaration.
29312         (_gl_raise_SIGPIPE): New declaration.
29313         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
29314         (rpl_raise): Remove function.
29315         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
29316         a gnulib-defined SIGPIPE here.
29317         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
29318         'sigprocmask' has detected missing signal-blocking and the module
29319         'sigpipe' is enabled.
29320         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29322 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
29324         base64-tests: avoid memory leak
29325         * tests/test-base64.c (main): Plug memory leak.
29327         base32: new module
29328         * modules/base32: New module.
29329         * lib/base32.c: New file.
29330         * lib/base32.h: Likewise.
29331         * m4/base32.m4: Likewise.
29332         * modules/base32-tests: New test.
29333         * tests/test-base32.c: Likewise.
29334         * MODULES.html.sh (Misc): Mention it.
29336 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
29338         gnulib: use more-standard license notice wording
29339         * gnulib-tool (func_emit_copyright_notice): When emitting a
29340         license notice into a file, use the standard wording as suggested
29341         by the current information for GNU maintainers, except say "file"
29342         rather than "program".  The new wording gives a license version
29343         number, which addresses an issue raised by Glenn Morris in
29344         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
29345         * m4/onceonly.m4: Use that same wording here, too.
29347         dup2: minor simplification
29348         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
29349         as lib/dup2.c no longer uses 'inline'.
29351 2011-09-25  Bruno Haible  <bruno@clisp.org>
29353         strings: Fix compilation error on MSVC.
29354         * lib/strings.in.h: Include <stddef.h> for size_t.
29356 2011-09-25  Bruno Haible  <bruno@clisp.org>
29358         fflush et al.: Document limitation on MSVC.
29359         * doc/posix-functions/fflush.texi: Document possible crash in handling
29360         mode other than DEFAULT_HANDLING.
29361         * doc/posix-functions/fgetc.texi: Likewise.
29362         * doc/posix-functions/fputc.texi: Likewise.
29363         * doc/posix-functions/fread.texi: Likewise.
29364         * doc/posix-functions/fwrite.texi: Likewise.
29366 2011-09-25  Bruno Haible  <bruno@clisp.org>
29368         msvc-inval: Allow three invalid parameter handling modes.
29369         * lib/msvc-inval.h: Don't include <stdlib.h> here.
29370         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
29371         macros.
29372         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
29373         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
29374         SANE_LIBRARY_HANDLING as a no-op.
29375         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
29376         <stdlib.h>.
29377         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
29379 2011-09-25  Bruno Haible  <bruno@clisp.org>
29381         msvc-inval: Make handler multithread-safe.
29382         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
29383         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
29384         declarations.
29385         (gl_msvc_inval_current): New declaration.
29386         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
29387         Operate on the structure returned by gl_msvc_inval_current().
29388         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
29389         Remove varaiables.
29390         (tls_index, tls_initialized): New variables.
29391         (not_per_thread): New variable.
29392         (gl_msvc_inval_current): New function.
29393         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
29394         returned by gl_msvc_inval_current().
29396 2011-09-25  Bruno Haible  <bruno@clisp.org>
29398         msvc-inval: Install handler globally.
29399         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
29400         !_MSC_VER.
29401         (gl_msvc_invalid_parameter_handler): Remove declaration.
29402         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
29403         declarations.
29404         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
29405         Install the handler globally, don't uninstall it.
29406         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
29407         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
29408         currently valid, call RaiseException instead.
29409         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
29410         for !_MSC_VER.
29412 2011-09-25  Bruno Haible  <bruno@clisp.org>
29414         strerror_r-posix: Fix for MSVC 9.
29415         * lib/strerror_r.c (local_snprintf): New function.
29416         (snprintf): Define to local_snprintf, not to _snprintf.
29418 2011-09-25  Bruno Haible  <bruno@clisp.org>
29420         ftruncate: Support for MSVC 9.
29421         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
29422         (chsize_nothrow): New function.
29423         (chsize): Redefine as a macro.
29424         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
29425         * modules/ftruncate (Depends-on): Add msvc-inval.
29427 2011-09-25  Bruno Haible  <bruno@clisp.org>
29429         New module 'fstat'.
29430         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
29431         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
29432         * lib/fchdir.c (rpl_fstat): Remove function.
29433         * m4/fstat.m4: New file.
29434         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
29435         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
29436         declared.
29437         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
29438         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
29439         * modules/fstat: New file.
29440         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
29441         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
29442         is set.
29443         * doc/posix-functions/fstat.texi: Mention the new module and the
29444         problem on MSVC.
29445         * NEWS: Mention the change.
29446         * modules/acl (Depends-on): Add fstat.
29447         * modules/chdir-safer (Depends-on): Likewise.
29448         * modules/chown (Depends-on): Likewise.
29449         * modules/copy-file (Depends-on): Likewise.
29450         * modules/fchdir (Depends-on): Likewise.
29451         * modules/fdopendir (Depends-on): Likewise.
29452         * modules/fopen (Depends-on): Likewise.
29453         * modules/fts (Depends-on): Likewise.
29454         * modules/getcwd (Depends-on): Likewise.
29455         * modules/isapipe (Depends-on): Likewise.
29456         * modules/linkat (Depends-on): Likewise.
29457         * modules/lseek (Depends-on): Likewise.
29458         * modules/mkdir-p (Depends-on): Likewise.
29459         * modules/open (Depends-on): Likewise.
29460         * modules/openat (Depends-on): Likewise.
29461         * modules/read-file (Depends-on): Likewise.
29462         * modules/renameat (Depends-on): Likewise.
29463         * modules/utimens (Depends-on): Likewise.
29465 2011-09-25  Bruno Haible  <bruno@clisp.org>
29467         linkat: Fix compilation on MSVC 9.
29468         * lib/linkat.c: Don't include <stdint.h>.
29470 2011-09-25  Bruno Haible  <bruno@clisp.org>
29472         fclose: Support for MSVC 9.
29473         * lib/fclose.c: Include msvc-inval.h.
29474         (fclose_nothrow): New function.
29475         (rpl_fclose): Use it.
29476         * modules/fclose (Depends-on): Add msvc-inval.
29477         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
29479 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
29481         dup2: minor simplifications
29482         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
29483         that it's a performance win.
29484         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
29485         ! defined __CYGWIN__)" to "ifdef F_GETFL".
29487 2011-09-24  Jim Meyering  <meyering@redhat.com>
29489         test-futimens: avoid a warning from gcc -Wshadow
29490         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
29491         to avoid a shadowing warning.
29493 2011-09-24  Bruno Haible  <bruno@clisp.org>
29495         fdopen: Support for MSVC 9.
29496         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
29497         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
29498         * lib/fdopen.c: Include msvc-inval.h.
29499         (fdopen_nothrow): New function.
29500         (rpl_fdopen): Use it.
29501         * modules/fdopen (Depends-on): Add msvc-inval.
29502         * modules/fclose-tests (Depends-on): Add fdopen.
29503         * modules/fflush-tests (Depends-on): Likewise.
29504         * modules/fgetc-tests (Depends-on): Likewise.
29505         * modules/fputc-tests (Depends-on): Likewise.
29506         * modules/fread-tests (Depends-on): Likewise.
29507         * modules/freopen-tests (Depends-on): Likewise.
29508         * modules/fseeko-tests (Depends-on): Likewise.
29509         * modules/ftello-tests (Depends-on): Likewise.
29510         * modules/fwrite-tests  (Depends-on): Likewise.
29511         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
29513 2011-09-24  Bruno Haible  <bruno@clisp.org>
29515         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
29516         * modules/fgetc-tests (Depends-on): Add unistd.
29517         * modules/fputc-tests (Depends-on): Likewise.
29518         * modules/fread-tests (Depends-on): Likewise.
29519         * modules/fwrite-tests (Depends-on): Likewise.
29521 2011-09-24  Bruno Haible  <bruno@clisp.org>
29523         dup: Simplify autoconf test.
29524         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
29525         on gl_MSVC_INVAL's result.
29527 2011-09-24  Bruno Haible  <bruno@clisp.org>
29529         Tests for function fwrite().
29530         * modules/fwrite-tests: New file.
29531         * tests/test-fwrite.c: New file.
29532         * modules/stdio-tests (Depends-on): Add fwrite-tests.
29534         Tests for function fread().
29535         * modules/fread-tests: New file.
29536         * tests/test-fread.c: New file.
29537         * modules/stdio-tests (Depends-on): Add fread-tests.
29539         Activate fputc tests.
29540         * modules/stdio-tests (Depends-on): Add fputc-tests.
29542         Enhance fgetc, fputc tests.
29543         * tests/test-fgetc.c (main): Also test the stream's error indicator.
29544         * tests/test-fputc.c (main): Likewise.
29546 2011-09-24  Bruno Haible  <bruno@clisp.org>
29548         write: Support for MSVC 9.
29549         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
29550         is not 1.
29551         * lib/write.c (write_nothrow): New function.
29552         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
29553         not 1. Use write_nothrow.
29554         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
29555         invalid parameter handler.
29556         (gl_PREREQ_WRITE): New macro.
29557         * modules/write (Depends-on): Add msvc-inval.
29558         (configure.ac): Invoke gl_PREREQ_WRITE.
29559         * doc/posix-functions/write.texi: Mention the problem on MSVC.
29561 2011-09-24  Bruno Haible  <bruno@clisp.org>
29563         read: Fix last commit.
29564         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
29566 2011-09-24  Bruno Haible  <bruno@clisp.org>
29568         dup2: Fix last commit.
29569         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
29570         (rpl_dup2): Disable fcntl workaround on native Windows.
29572         sigprocmask: Make code safer.
29573         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
29574         section that changes macro definitions for this compilation unit.
29576 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
29578         dup2: clarify by coalescing Windows-specific material
29579         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
29580         "msvc-nothrow.h"' to the Windows-specific section, so that the
29581         Emacs source need not contain these include files.
29582         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
29583         Windows-specific fixes into this function rather than just the
29584         nothrow fix, as this shortens and clarifies the code.  Always
29585         define as a function, as that's a bit cleaner than having it be
29586         sometimes a function and sometimes a macro.
29587         (rpl_dup2): Move the Windows-specific stuff out of here and into
29588         ms_windows_dup2.  Don't protect the Haiku-related fix with
29589         "#if !defined __linux__", as the same code also works around
29590         a Linux kernel bug, and it doesn't add any system calls on any
29591         platform.  Add comment about FreeBSD 6.1.
29593         sigprocmask: move #include directive
29594         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
29595         Windows-specific section, so that the Emacs source need not
29596         contain msvc-inval.h.
29598 2011-09-23  Bruno Haible  <bruno@clisp.org>
29600         read: Support for MSVC 9.
29601         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
29602         is not 1.
29603         * lib/read.c (read_nothrow): New function.
29604         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
29605         read_nothrow.
29606         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
29607         invalid parameter handler.
29608         (gl_PREREQ_READ): New macro.
29609         * modules/read (Depends-on): Add msvc-inval.
29610         (configure.ac): Invoke gl_PREREQ_READ.
29611         * doc/posix-functions/read.texi: Mention the problem on MSVC.
29613 2011-09-23  Bruno Haible  <bruno@clisp.org>
29615         close: Support for MSVC 9.
29616         * lib/close.c: Include <errno.h>, msvc-inval.h.
29617         (close_nothrow): New function.
29618         (rpl_close): Use it.
29619         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
29620         invalid parameter handler.
29621         * modules/close (Depends-on): Add msvc-inval.
29622         * modules/dup2-tests (Depends-on): Add close.
29623         * modules/dup3-tests (Depends-on): Likewise.
29624         * modules/fcntl-tests (Depends-on): Likewise.
29625         * modules/spawn-pipe-tests (Depends-on): Likewise.
29626         * modules/unistd-safer-tests (Depends-on): Likewise.
29627         * doc/posix-functions/close.texi: Mention the problem on MSVC.
29629 2011-09-23  Bruno Haible  <bruno@clisp.org>
29631         New module 'dup'.
29632         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
29633         Allow replacement.
29634         * lib/dup.c: New file.
29635         * lib/fchdir.c (rpl_dup): Remove function.
29636         * m4/dup.m4: New file.
29637         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
29638         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
29639         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
29640         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
29641         * modules/dup: New file.
29642         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
29643         'dup' module is in use.
29644         * modules/fdopendir (Depends-on): Add dup.
29645         * modules/fdutimensat-tests (Depends-on): Likewise.
29646         * modules/fts (Depends-on): Likewise.
29647         * modules/futimens-tests (Depends-on): Likewise.
29648         * modules/posix_spawnp-tests (Depends-on): Likewise.
29649         * modules/unistd-safer-tests (Depends-on): Likewise.
29650         * modules/utimens-tests (Depends-on): Likewise.
29651         * doc/posix-functions/dup.texi: Mention the new module and the problem
29652         on MSVC.
29654 2011-09-23  Bruno Haible  <bruno@clisp.org>
29656         getdtablesize: Support for MSVC 9.
29657         * lib/getdtablesize.c: Include msvc-inval.h.
29658         (_setmaxstdio_nothrow): New function.
29659         (_setmaxstdio): Redefine it.
29660         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
29661         * modules/getdtablesize (Depends-on): Add msvc-inval.
29662         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
29664 2011-09-23  Bruno Haible  <bruno@clisp.org>
29666         signal-h: Rename from signal.
29667         * modules/signal-h: Renamed from modules/signal.
29668         * modules/pthread_sigmask (Depends-on): Update.
29669         * modules/raise (Depends-on): Likewise.
29670         * modules/sigaction (Depends-on): Likewise.
29671         * modules/sigpipe (Depends-on): Likewise.
29672         * modules/sigprocmask (Depends-on): Likewise.
29673         * modules/sys_select (Depends-on): Likewise.
29674         * modules/signal-h-tests: Renamed from modules/signal-tests.
29675         (Files, Depends-on, Makefile.am): Update.
29676         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
29677         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
29678         (Files, Makefile.am): Update.
29679         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
29680         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
29681         * modules/signal: New placeholder file.
29682         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
29683         * doc/posix-headers/signal.texi: Update.
29684         * NEWS: Mention the change.
29686 2011-09-23  Bruno Haible  <bruno@clisp.org>
29688         sigprocmask: Avoid crashes through signal() on MSVC 9.
29689         * lib/sigprocmask.c: Include msvc-inval.h.
29690         (signal_nothrow): New function.
29691         (signal): Redefine it.
29692         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
29693         * modules/sigprocmask (Depends-on): Add msvc-inval.
29694         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
29696 2011-09-23  Bruno Haible  <bruno@clisp.org>
29698         Tests for module 'raise'.
29699         * modules/raise-tests: New file.
29700         * tests/test-raise.c: New file.
29702         raise: Support for MSVC.
29703         * lib/signal.in.h (raise): New declaration.
29704         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
29705         for native Windows platforms.
29706         * m4/raise.m4: New file.
29707         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
29708         HAVE_RAISE, REPLACE_RAISE.
29709         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
29710         REPLACE_RAISE.
29711         * modules/raise (Status, Notice): Remove fields.
29712         (Files): Add m4/raise.m4.
29713         (Depends-on): Add signal, msvc-inval.
29714         (configure.ac): Use the common idioms.
29715         (Maintainer): Add me.
29716         * tests/test-signal-c++.cc: Check the signature of raise.
29717         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
29719 2011-09-23  Bruno Haible  <bruno@clisp.org>
29721         pipe2: Fix compilation on pre-C99 compilers.
29722         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
29724 2011-09-23  Bruno Haible  <bruno@clisp.org>
29726         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
29727         * lib/msvc-nothrow.h: New file.
29728         * lib/msvc-nothrow.c: New file.
29729         * m4/msvc-nothrow.m4: New file.
29730         * modules/msvc-nothrow: New file.
29731         * lib/dup2.c: Include msvc-nothrow.h.
29732         (rpl_dup2): No need to protect _get_osfhandle call here.
29733         * lib/accept4.c: Include msvc-nothrow.h.
29734         * lib/error.c: Likewise.
29735         * lib/fcntl.c: Likewise.
29736         * lib/lseek.c: Likewise.
29737         * lib/nonblocking.c: Likewise.
29738         * lib/poll.c: Likewise.
29739         * lib/read.c: Likewise.
29740         * lib/select.c: Likewise.
29741         * lib/sockets.h: Likewise.
29742         * lib/sockets.c: Likewise.
29743         * lib/stdio-read.c: Likewise.
29744         * lib/stdio-write.c: Likewise.
29745         * lib/write.c: Likewise.
29746         * lib/w32sock.h: Likewise.
29747         * lib/w32spawn.h: Likewise.
29748         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
29749         * lib/fsync.c: Likewise.
29750         * lib/isapipe.c: Likewise.
29751         * modules/dup2 (Depends-on): Add msvc-nothrow.
29752         * modules/accept4 (Depends-on): Likewise.
29753         * modules/error (Depends-on): Likewise.
29754         * modules/fcntl (Depends-on): Likewise.
29755         * modules/lseek (Depends-on): Likewise.
29756         * modules/nonblocking (Depends-on): Likewise.
29757         * modules/poll (Depends-on): Likewise.
29758         * modules/read (Depends-on): Likewise.
29759         * modules/select (Depends-on): Likewise.
29760         * modules/sockets (Depends-on): Likewise.
29761         * modules/sigpipe (Depends-on): Likewise.
29762         * modules/write (Depends-on): Likewise.
29763         * modules/accept (Depends-on): Likewise.
29764         * modules/bind (Depends-on): Likewise.
29765         * modules/connect (Depends-on): Likewise.
29766         * modules/gethostname (Depends-on): Likewise.
29767         * modules/getpeername (Depends-on): Likewise.
29768         * modules/getsockname (Depends-on): Likewise.
29769         * modules/getsockopt (Depends-on): Likewise.
29770         * modules/ioctl (Depends-on): Likewise.
29771         * modules/listen (Depends-on): Likewise.
29772         * modules/recv (Depends-on): Likewise.
29773         * modules/recvfrom (Depends-on): Likewise.
29774         * modules/send (Depends-on): Likewise.
29775         * modules/sendto (Depends-on): Likewise.
29776         * modules/setsockopt (Depends-on): Likewise.
29777         * modules/shutdown (Depends-on): Likewise.
29778         * modules/socket (Depends-on): Likewise.
29779         * modules/execute (Depends-on): Likewise.
29780         * modules/spawn-pipe (Depends-on): Likewise.
29781         * modules/flock (Depends-on): Likewise.
29782         * modules/fsync (Depends-on): Likewise.
29783         * modules/isapipe (Depends-on): Likewise.
29784         * tests/test-cloexec.c: Include msvc-nothrow.h.
29785         * tests/test-dup-safer.c: Likewise.
29786         * tests/test-dup2.c: Likewise.
29787         * tests/test-dup3.c: Likewise.
29788         * tests/test-fcntl.c: Likewise.
29789         * tests/test-pipe.c: Likewise.
29790         * tests/test-pipe2.c: Likewise.
29791         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
29792         * modules/unistd-safer-tests (Depends-on): Likewise.
29793         * modules/dup2-tests (Depends-on): Likewise.
29794         * modules/dup3-tests (Depends-on): Likewise.
29795         * modules/fcntl-tests (Depends-on): Likewise.
29796         * modules/pipe-posix-tests (Depends-on): Likewise.
29797         * modules/pipe2-tests (Depends-on): Likewise.
29799 2011-09-23  Bruno Haible  <bruno@clisp.org>
29801         dup2: Make code more maintainable.
29802         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
29803         (rpl_dup2): Use it.
29804         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
29805         * modules/dup2 (configure.ac): Invoke it.
29806         Reported by Paul Eggert.
29808 2011-09-23  Bruno Haible  <bruno@clisp.org>
29810         msvc-inval: Fix compilation error.
29811         * lib/msvc-inval.h: Include <excpt.h>.
29813 2011-09-23  Bruno Haible  <bruno@clisp.org>
29815         mkdir: Tweak for MSVC 9.
29816         * lib/sys_stat.in.h: Update comments.
29817         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
29819         Tests for module 'chdir'.
29820         * modules/chdir-tests: New file.
29821         * tests/test-chdir.c: New file.
29823         New module 'chdir'.
29824         * modules/chdir: New file.
29825         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
29826         (chdir): New declaration.
29827         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
29828         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
29829         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
29830         * tests/test-unistd-c++.cc: Check signature of chdir.
29831         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
29832         * modules/chdir-long (Depends-on): Add chdir.
29833         * modules/fchdir (Depends-on): Likewise.
29834         * modules/rename (Depends-on): Likewise.
29835         * modules/savewd (Depends-on): Likewise.
29837         rmdir: Support for mingw, MSVC 9.
29838         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
29839         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
29841         getcwd: Tweak for MSVC 9.
29842         * lib/unistd.in.h: Update comments.
29843         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
29845 2011-09-22  Bruno Haible  <bruno@clisp.org>
29847         strerror_r-posix: Avoid a link error on MSVC.
29848         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
29849         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
29851 2011-09-22  Bruno Haible  <bruno@clisp.org>
29853         select: Avoid link errors on MSVC.
29854         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
29855         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
29856         * modules/pselect (Link): Likewise.
29857         * NEWS: Mention the change.
29858         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
29859         test-select-stdin against $(LIB_SELECT).
29860         * modules/pselect-tests (Makefile.am): Link test-pselect against
29861         $(LIB_SELECT).
29863 2011-09-22  Bruno Haible  <bruno@clisp.org>
29865         select: Avoid compilation error on MSVC.
29866         * lib/select.c: Don't include <stdbool.h>.
29868 2011-09-21  Bruno Haible  <bruno@clisp.org>
29870         Consolidate all uses of PATH_MAX in *.m4 files.
29871         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
29872         macros.
29873         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
29874         and gl_PATHMAX_SNIPPET.
29875         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
29876         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
29877         * modules/chdir-long (Files): Add m4/pathmax.m4.
29878         * modules/getcwd (Files): Likewise.
29880 2011-09-21  Bruno Haible  <bruno@clisp.org>
29882         ftruncate: Un-deprecate, concentrate on Win32 support.
29883         * modules/ftruncate (Status, Notice): Remove sections.
29884         (Depends-on): Add largefile.
29885         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
29886         non-mingw platforms.
29887         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
29888         include <io.h>.
29889         * modules/perror-tests (Depends-on): Add ftruncate.
29890         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
29891         'ftruncate' module.
29893 2011-09-21  Bruno Haible  <bruno@clisp.org>
29895         Add dependencies to new dirent related modules.
29896         * modules/opendir (Depends-on): Add closedir.
29897         * modules/getcwd (Depends-on): Add opendir, closedir.
29898         * modules/dirent-safer-tests (Depends-on): Likewise.
29899         * modules/fdopendir-tests (Depends-on): Likewise.
29900         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
29901         * modules/renameat-tests (Depends-on): Likewise.
29903 2011-09-21  Bruno Haible  <bruno@clisp.org>
29905         opendir: Avoid compilation error on mingw.
29906         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
29907         * modules/opendir (Depends-on): Add unistd.
29909 2011-09-21  Bruno Haible  <bruno@clisp.org>
29911         ftruncate tests: Avoid a test failure on mingw.
29912         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
29914 2011-09-21  Bruno Haible  <bruno@clisp.org>
29916         select tests: Avoid test failures on OSF/1 5.1 and mingw.
29917         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
29918         native Windows.
29920 2011-09-21  Bruno Haible  <bruno@clisp.org>
29922         New module 'fdopen'.
29923         * lib/stdio.in.h (fdopen): New declaration.
29924         * lib/fdopen.c: New file.
29925         * m4/fdopen.m4: New file.
29926         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
29927         REPLACE_FDOPEN.
29928         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
29929         REPLACE_FDOPEN.
29930         * modules/fdopen: New file.
29931         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
29932         * tests/test-stdio-c++.cc: Check signature of fdopen.
29933         * doc/posix-functions/fdopen.texi: Mention the new module.
29935 2011-09-21  Bruno Haible  <bruno@clisp.org>
29937         unlockpt tests: Avoid test failure on NetBSD 5.1.
29938         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
29939         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
29941 2011-09-21  Bruno Haible  <bruno@clisp.org>
29943         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
29944         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
29945         * tests/test-getlogin_r.c (main): Likewise.
29947 2011-09-20  Bruno Haible  <bruno@clisp.org>
29949         time tests: Don't require pid_t.
29950         * doc/posix-headers/time.texi: Revert last change.
29951         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
29952         * tests/test-time.c: Comment out the check for pid_t.
29954 2011-09-20  Bruno Haible  <bruno@clisp.org>
29956         fsync tests: Avoid a test failure on mingw.
29957         * tests/test-fsync.c (main): Allow a failure with EIO.
29959 2011-09-20  Bruno Haible  <bruno@clisp.org>
29961         euidaccess: Update comments.
29962         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
29964 2011-09-20  Bruno Haible  <bruno@clisp.org>
29966         Ensure EBADF returns for socket functions on mingw.
29967         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
29968         descriptor is invalid.
29969         * lib/bind.c (rpl_bind): Likewise.
29970         * lib/connect.c (rpl_connect): Likewise.
29971         * lib/getpeername.c (rpl_getpeername): Likewise.
29972         * lib/getsockname.c (rpl_getsockname): Likewise.
29973         * lib/getsockopt.c (rpl_getsockopt): Likewise.
29974         * lib/listen.c (rpl_listen): Likewise.
29975         * lib/recv.c (rpl_recv): Likewise.
29976         * lib/recvfrom.c (rpl_recvfrom): Likewise.
29977         * lib/send.c (rpl_send): Likewise.
29978         * lib/sendto.c (rpl_sendto): Likewise.
29979         * lib/setsockopt.c (rpl_setsockopt): Likewise.
29980         * lib/shutdown.c (rpl_shutdown): Likewise.
29982 2011-09-20  Bruno Haible  <bruno@clisp.org>
29984         select tests: EBADF tests.
29985         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
29986         test_bad_fd): New functions.
29987         (test_function): Invoke also test_bad_fd.
29989 2011-09-20  Bruno Haible  <bruno@clisp.org>
29991         Tests for module 'posix_spawn_file_actions_addopen.
29992         * modules/posix_spawn_file_actions_addopen-tests: New file.
29993         * tests/test-posix_spawn_file_actions_addopen.c: New file.
29995         Tests for module 'posix_spawn_file_actions_adddup2'.
29996         * modules/posix_spawn_file_actions_adddup2-tests: New file.
29997         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
29999         Tests for module 'posix_spawn_file_actions_addclose'.
30000         * modules/posix_spawn_file_actions_addclose-tests: New file.
30001         * tests/test-posix_spawn_file_actions_addclose.c: New file.
30003 2011-09-20  Bruno Haible  <bruno@clisp.org>
30005         Tests for module 'unlockpt'.
30006         * modules/unlockpt-tests: New file.
30007         * tests/test-unlockpt.c: New file.
30008         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
30010         Tests for module 'grantpt'.
30011         * modules/grantpt-tests: New file.
30012         * tests/test-grantpt.c: New file.
30013         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
30015 2011-09-20  Bruno Haible  <bruno@clisp.org>
30017         freopen tests: EBADF tests.
30018         * tests/test-freopen.c: Include errno.h, unistd.h.
30019         (main): Add tests for EBADF, commented out for the moment.
30021         fclose tests: EBADF tests.
30022         * tests/test-fclose.c (main): Add tests for EBADF.
30024         fflush tests: EBADF tests.
30025         * tests/test-fflush.c: Include errno.h, macros.h.
30026         (main): Add tests for EBADF.
30028         ftello tests: EBADF tests.
30029         * tests/test-ftello4.sh: New file.
30030         * tests/test-ftello4.c: New file.
30031         * modules/ftello-tests (Files): Add them.
30032         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
30034         fseeko tests: EBADF tests.
30035         * tests/test-fseeko4.sh: New file.
30036         * tests/test-fseeko4.c: New file.
30037         * modules/fseeko-tests (Files): Add them.
30038         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
30040         Tests for function fputc().
30041         * modules/fputc-tests: New file.
30042         * tests/test-fputc.c: New file.
30043         * modules/stdio-tests (Depends-on): Add fputc-tests.
30045         Tests for function fgetc().
30046         * modules/fgetc-tests: New file.
30047         * tests/test-fgetc.c: New file.
30048         * modules/stdio-tests (Depends-on): Add fgetc-tests.
30050         Tests for function fdopen().
30051         * modules/fdopen-tests: New file.
30052         * tests/test-fdopen.c: New file.
30053         * modules/stdio-tests (Depends-on): Add fdopen-tests.
30055         Tests for module 'vdprintf'.
30056         * modules/vdprintf-tests: New file.
30057         * tests/test-vdprintf.c: New file.
30059         Tests for module 'dprintf'.
30060         * modules/dprintf-tests: New file.
30061         * tests/test-dprintf.c: New file.
30063 2011-09-20  Bruno Haible  <bruno@clisp.org>
30065         Tests for module 'ioctl'.
30066         * modules/ioctl-tests: New file.
30067         * tests/test-ioctl.c: New file.
30069 2011-09-20  Bruno Haible  <bruno@clisp.org>
30071         fcntl tests: EBADF tests.
30072         * tests/test-fcntl.c (main): Add more tests for EBADF.
30074 2011-09-20  Bruno Haible  <bruno@clisp.org>
30076         utimensat tests: EBADF tests.
30077         * tests/test-utimensat.c (main): Add tests for EBADF.
30079         renameat tests: EBADF tests.
30080         * tests/test-renameat.c (main): Add tests for EBADF.
30082         mkfifoat tests: EBADF tests.
30083         * tests/test-mkfifoat.c (main): Add tests for EBADF.
30085         readlinkat tests: EBADF tests.
30086         * tests/test-readlinkat.c (main): Add tests for EBADF.
30088         symlinkat tests: EBADF tests.
30089         * tests/test-symlinkat.c (main): Add tests for EBADF.
30091         linkat tests: EBADF tests.
30092         * tests/test-linkat.c (main): Add tests for EBADF.
30094         Tests for module 'faccessat'.
30095         * modules/faccessat-tests: New file.
30096         * tests/test-faccessat.c: New file.
30098         fdopendir tests: EBADF tests.
30099         * tests/test-fdopendir.c (main): Add more tests for EBADF.
30101         openat tests: EBADF tests.
30102         * tests/test-fchownat.c (main): Add tests for EBADF.
30103         * tests/test-fstatat.c (main): Likewise.
30104         * tests/test-mkdirat.c (main): Likewise.
30105         * tests/test-openat.c (main): Likewise.
30106         * tests/test-unlinkat.c (main): Likewise.
30107         * tests/test-fchmodat.c: New file.
30108         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
30109         (Makefile.am): Also run 'test-fchmodat'.
30111 2011-09-20  Bruno Haible  <bruno@clisp.org>
30113         utimens, futimens, fdutimensat tests: EBADF tests.
30114         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
30116         Tests for function fstat().
30117         * modules/fstat-tests: New file.
30118         * tests/test-fstat.c: New file.
30119         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
30121 2011-09-20  Bruno Haible  <bruno@clisp.org>
30123         test-ttyname_r tests: EBADF tests.
30124         * tests/test-ttyname_r.c (main): Add tests for EBADF.
30126         Tests for module 'isatty'.
30127         * modules/isatty-tests: New file.
30128         * tests/test-isatty.c: New file.
30130         Tests for module 'write'.
30131         * modules/write-tests: New file.
30132         * tests/test-write.c: New file.
30134         Tests for module 'read'.
30135         * modules/read-tests: New file.
30136         * tests/test-read.c: New file.
30138         pwrite tests: EBADF tests.
30139         * tests/test-pwrite.c (main): Add tests for EBADF.
30141         pread tests: EBADF tests.
30142         * tests/test-pread.c (main): Add tests for EBADF.
30144         lseek tests: EBADF tests.
30145         * tests/test-lseek.c (main): Add more tests for EBADF.
30147         Tests for module 'ftruncate'.
30148         * modules/ftruncate-tests: New file.
30149         * tests/test-ftruncate.sh: New file.
30150         * tests/test-ftruncate.c: New file.
30152         fsync tests: EBADF tests.
30153         * tests/test-fsync.c (main): Add more tests for EBADF.
30155         fdatasync tests: EBADF tests.
30156         * tests/test-fdatasync.c (main): Add more tests for EBADF.
30158         Tests for module 'fchown'.
30159         * modules/fchown-tests: New file.
30160         * tests/test-fchown.c: New file.
30162         Tests for module 'fchmod'.
30163         * modules/fchmod-tests: New file.
30164         * tests/test-fchmod.c: New file.
30166         fchdir tests: EBADF tests.
30167         * tests/test-fchdir.c (main): Add more tests for EBADF.
30169         dup2 tests: EBADF tests.
30170         * tests/test-dup2.c (main): Add more tests for EBADF.
30172         Tests for module 'dup'.
30173         * modules/dup-tests: New file.
30174         * tests/test-dup.c: New file.
30176         Tests for module 'close'.
30177         * modules/close-tests: New file.
30178         * tests/test-close.c: New file.
30180 2011-09-20  Bruno Haible  <bruno@clisp.org>
30182         Tests for module 'shutdown'.
30183         * modules/shutdown-tests: New file.
30184         * tests/test-shutdown.c: New file.
30186         Tests for module 'setsockopt'.
30187         * modules/setsockopt-tests: New file.
30188         * tests/test-setsockopt.c: New file.
30190         Tests for module 'sendto'.
30191         * modules/sendto-tests: New file.
30192         * tests/test-sendto.c: New file.
30194         Tests for module 'send'.
30195         * modules/send-tests: New file.
30196         * tests/test-send.c: New file.
30198         Tests for module 'recvfrom'.
30199         * modules/recvfrom-tests: New file.
30200         * tests/test-recvfrom.c: New file.
30202         Tests for module 'recv'.
30203         * modules/recv-tests: New file.
30204         * tests/test-recv.c: New file.
30206         Tests for module 'listen'.
30207         * modules/listen-tests: New file.
30208         * tests/test-listen.c: New file.
30210         Tests for module 'getsockopt'.
30211         * modules/getsockopt-tests: New file.
30212         * tests/test-getsockopt.c: New file.
30214         Tests for module 'getsockname'.
30215         * modules/getsockname-tests: New file.
30216         * tests/test-getsockname.c: New file.
30218         Tests for module 'getpeername'.
30219         * modules/getpeername-tests: New file.
30220         * tests/test-getpeername.c: New file.
30222         Tests for module 'connect'.
30223         * modules/connect-tests: New file.
30224         * tests/test-connect.c: New file.
30226         Tests for module 'bind'.
30227         * modules/bind-tests: New file.
30228         * tests/test-bind.c: New file.
30230         accept4 tests: Fix for native Windows.
30231         * tests/test-accept4.c: Include sockets.h.
30232         (main): Invoke gl_sockets_startup.
30233         * modules/accept4-tests (Depends-on): Add sockets.
30235         accept tests: Fix for native Windows.
30236         * tests/test-accept.c: Include sockets.h.
30237         (main): Invoke gl_sockets_startup.
30238         * modules/accept-tests (Depends-on): Add sockets.
30240 2011-09-19  Bruno Haible  <bruno@clisp.org>
30242         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
30243         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
30244         do...while(0).
30245         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
30246         Suggested by Paul Eggert.
30248 2011-09-19  Bruno Haible  <bruno@clisp.org>
30250         sched: Ensure pid_t is defined.
30251         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
30252         not define pid_t.
30253         * lib/sched.in.h: Include <sys/types.h>.
30254         * doc/posix-headers/sched.texi: Mention the pid_t problem.
30255         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30257 2011-09-19  Bruno Haible  <bruno@clisp.org>
30259         msvc-inval: Ensure the entire expansion is a single statement.
30260         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
30261         of braces.
30263 2011-09-19  Jim Meyering  <meyering@redhat.com>
30265         tests: use printf, not echo in init.sh's warn_ function
30266         * tests/init.sh (warn_): Use printf, not echo.  The latter would
30267         misbehave when given strings containing a backslash or starting
30268         with e.g., -n.  James Youngman suggested setting IFS.
30270 2011-09-19  Eric Blake  <eblake@redhat.com>
30272         futimens: enhance test
30273         * tests/test-futimens.h (test_futimens): Also check for EBADF on
30274         closed non-negative fd.
30276         date: accept 'hence' as opposite of 'ago'
30277         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
30278         * tests/test-parse-datetime.c (main): Enhance test.
30279         Suggested by Jesse Wilson.
30281 2011-09-19  Jim Meyering  <meyering@redhat.com>
30283         getcwd: don't fail in a deep directory on a system without openat
30284         Before this change, getcwd would fail when called from a directory
30285         of depth PATH_MAX / 3 or greater.  That was due to the fact that
30286         the non-openat implementation used "..", "../..", "../../..", etc.
30287         to access ancestor directories.  With too many, that string would
30288         be longer than PATH_MAX.
30289         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
30290         using gnulib's openat replacement.
30291         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
30292         we're using the replacement function.
30294 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
30296         maint.mk: avoid warnings from perl about missing files
30297         * top/maint.mk (def_sym_regex): Ignore files listed in
30298         $(gl_other_headers_) that do not exist, say because a project
30299         does not use a corresponding module.
30301 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
30303         stat: use pathmax.h only if needed
30304         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
30305         This is better for Emacs, which does not have a mingw port and
30306         therefore can avoid the pathmax module.
30308         utimens: remove dependency on dup2
30309         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
30310         to work around the Linux kernel bug.
30311         * modules/utimens (Depends-on): Remove dup2.
30313 2011-09-18  Bruno Haible  <bruno@clisp.org>
30315         inet_ntop, inet_pton: Look for it also in libresolv.
30316         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
30317         libnsl, search for it in libresolv.
30318         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
30319         Needed on Solaris 7.
30321 2011-09-18  Bruno Haible  <bruno@clisp.org>
30323         accept, accept4 tests: Avoid link error on Solaris.
30324         * modules/accept-tests (Makefile.am): Link test-accept against
30325         $(LIBSOCKET).
30326         * modules/accept4-tests (Makefile.am): Link test-accept4 against
30327         $(LIBSOCKET).
30329         accept4: Avoid link error on Solaris.
30330         * modules/accept4 (Link): New section.
30332         socket functions: Avoid link errors on Solaris.
30333         * modules/accept (Depends-on): Add socketlib.
30334         (Link): New section.
30335         * modules/bind (Depends-on): Add socketlib.
30336         (Link): New section.
30337         * modules/connect (Depends-on): Add socketlib.
30338         (Link): New section.
30339         * modules/getpeername (Depends-on): Add socketlib.
30340         (Link): New section.
30341         * modules/getsockname (Depends-on): Add socketlib.
30342         (Link): New section.
30343         * modules/getsockopt (Depends-on): Add socketlib.
30344         (Link): New section.
30345         * modules/listen (Depends-on): Add socketlib.
30346         (Link): New section.
30347         * modules/recv (Depends-on): Add socketlib.
30348         (Link): New section.
30349         * modules/recvfrom (Depends-on): Add socketlib.
30350         (Link): New section.
30351         * modules/send (Depends-on): Add socketlib.
30352         (Link): New section.
30353         * modules/sendto (Depends-on): Add socketlib.
30354         (Link): New section.
30355         * modules/setsockopt (Depends-on): Add socketlib.
30356         (Link): New section.
30357         * modules/shutdown (Depends-on): Add socketlib.
30358         (Link): New section.
30359         * modules/socket (Depends-on): Add socketlib.
30360         (Link): New section.
30362 2011-09-18  Bruno Haible  <bruno@clisp.org>
30364         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
30365         * tests/test-ptsname.c (main): Terminate the test if it takes longer
30366         than 5 seconds.
30367         * modules/ptsname-tests (configure.ac): Test for alarm.
30369 2011-09-18  Bruno Haible  <bruno@clisp.org>
30371         posix_spawn_file_actions_add*: Fix module dependencies.
30372         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
30373         posix_spawn_file_actions_init.
30374         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
30375         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
30377 2011-09-18  Bruno Haible  <bruno@clisp.org>
30379         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
30380         * tests/test-rename.h (test_rename): Allow error code EEXIST.
30381         * tests/test-renameat.c (main): Likewise.
30383 2011-09-18  Bruno Haible  <bruno@clisp.org>
30385         Tests for module 'accept4'.
30386         * modules/accept4-tests: New file.
30387         * tests/test-accept4.c: New file.
30389 2011-09-18  Bruno Haible  <bruno@clisp.org>
30391         Tests for module 'accept'.
30392         * modules/accept-tests: New file.
30393         * tests/test-accept.c: New file.
30395 2011-09-18  Bruno Haible  <bruno@clisp.org>
30397         dup2: Support for MSVC.
30398         * lib/dup2.c: Include msvc-inval.h.
30399         (rpl_dup2): Handle invalid parameter notifications during dup2 and
30400         _get_osfhandle calls.
30401         * modules/dup2 (Depends-on): Add msvc-inval.
30402         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
30404         New module 'msvc-inval'.
30405         * lib/msvc-inval.h: New file.
30406         * lib/msvc-inval.c: New file.
30407         * m4/msvc-inval.m4: New file.
30408         * modules/msvc-inval: New file.
30410 2011-09-17  Bruno Haible  <bruno@clisp.org>
30412         Tests for module 'pclose'.
30413         * modules/pclose-tests: New file.
30415         New module 'pclose'.
30416         * lib/stdio.in.h (pclose): New declaration.
30417         * lib/pclose.c: New file.
30418         * m4/pclose.m4: New file.
30419         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
30420         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
30421         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
30422         * modules/pclose: New file.
30423         * modules/popen-tests (Depends-on): Add pclose.
30424         * modules/popen-safer-tests (Depends-on): Likewise.
30425         * doc/posix-functions/pclose.texi: Mention the new module.
30427 2011-09-17  Bruno Haible  <bruno@clisp.org>
30429         popen: Support for MSVC.
30430         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
30431         * lib/popen.c (popen): Provide alternate definition for native Windows.
30432         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
30433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
30434         * modules/popen (Depends-on, configure.ac): Update condition.
30435         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
30436         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
30437         fixed.
30439 2011-09-17  Bruno Haible  <bruno@clisp.org>
30441         isnanl, isnand, isnanf: Work around MSVC bug.
30442         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
30444 2011-09-17  Bruno Haible  <bruno@clisp.org>
30446         sys_socket tests: Fix recent mistake.
30447         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
30449 2011-09-17  Bruno Haible  <bruno@clisp.org>
30451         putenv: Support for MSVC.
30452         * modules/putenv (Depends-on): Add environ.
30453         * lib/putenv.c (environ): Disable declaration.
30454         * lib/unistd.in.h: Update comment.
30456 2011-09-17  Bruno Haible  <bruno@clisp.org>
30458         math: Avoid macro redefinition warnings on MSVC.
30459         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
30460         Undefine before redefining.
30462 2011-09-17  Bruno Haible  <bruno@clisp.org>
30464         doc: Mention functions which are declared as macros.
30465         * doc/posix-functions/*[fl].texi: Mention that some functions are
30466         defined as macros with arguments only.
30468 2011-09-17  Bruno Haible  <bruno@clisp.org>
30470         Add dependencies to new dirent related modules.
30471         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
30472         * modules/fts (Depends-on): Likewise.
30473         * modules/glob (Depends-on): Likewise.
30474         * modules/savedir (Depends-on): Likewise.
30475         * modules/scandir (Depends-on): Likewise.
30476         * modules/dirent-safer (Depends-on): Add opendir, closedir.
30477         * modules/fdopendir (Depends-on): Add opendir.
30479 2011-09-17  Bruno Haible  <bruno@clisp.org>
30481         inet_pton: Support for MSVC on Windows Vista or newer.
30482         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
30483         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
30484         HAVE_DECL_INET_PTON is defined.
30485         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
30486         On platforms with <winsock2.h>, test whether inet_pton is declared in
30487         <ws2tcpip.h>. If so, arrange to replace it.
30488         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
30489         REPLACE_INET_PTON.
30490         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
30491         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
30492         (Depends-on, configure.ac): Update condition.
30493         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
30495 2011-09-17  Bruno Haible  <bruno@clisp.org>
30497         inet_ntop: Support for MSVC on Windows Vista or newer.
30498         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
30499         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
30500         HAVE_DECL_INET_NTOP is defined.
30501         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
30502         On platforms with <winsock2.h>, test whether inet_ntop is declared in
30503         <ws2tcpip.h>. If so, arrange to replace it.
30504         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
30505         REPLACE_INET_NTOP.
30506         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
30507         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
30508         (Depends-on, configure.ac): Update condition.
30509         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
30511 2011-09-16  Eric Blake  <eblake@redhat.com>
30513         test-fsync: yet another enhancement
30514         * tests/test-fsync.c (main): Also test behavior on read-only text
30515         file.
30517 2011-09-16  Bruno Haible  <bruno@clisp.org>
30519         Enhance fsync, fdatasync tests.
30520         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
30521         * tests/test-fdatasync.c (main): Likewise.
30523 2011-09-16  Bruno Haible  <bruno@clisp.org>
30525         Support for MSVC compiler: Ensure mode_t gets defined.
30526         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
30527         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30528         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
30529         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
30530         * tests/test-fcntl-h.c: Check that mode_t is defined.
30531         * tests/test-sys_stat.c: Likewise.
30532         * tests/test-sys_types.c: Likewise.
30533         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
30534         * doc/posix-headers/sys_stat.texi: Likewise.
30535         * doc/posix-headers/sys_types.texi: Likewise.
30537 2011-09-16  Bruno Haible  <bruno@clisp.org>
30539         sys_stat: Support for MSVC.
30540         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
30541         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
30542         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
30543         MSVC.
30545 2011-09-16  Bruno Haible  <bruno@clisp.org>
30547         Support for MSVC compiler: Ensure off_t gets defined.
30548         * lib/unistd.in.h: Include <sys/types.h>.
30549         * tests/test-fcntl-h.c: Check that off_t is defined.
30550         * tests/test-sys_stat.c: Likewise.
30551         * tests/test-sys_types.c: Likewise.
30553 2011-09-16  Eric Blake  <eblake@redhat.com>
30555         fdatasync: port to Solaris
30556         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
30557         * modules/fdatasync (Link): Document it.
30558         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
30560         fdatasync: port to MacOS X 10.7
30561         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
30562         declared.
30563         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
30564         * modules/unistd (Makefile.am): Substitute it.
30565         * lib/unistd.in.h (fdatasync): Declare on MacOS.
30566         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
30568         fdatasync: minor improvements
30569         * modules/fdatasync (Depends-on): Add condition for fsync.
30570         * lib/fdatasync.c (fdatasync): Add comment.
30571         * tests/test-unistd-c++.cc: Test fdatasync.
30573         unistd: update refs to newer POSIX
30574         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
30575         Suggested by Bruno Haible.
30577         fdatasync: new module
30578         * modules/fsync (Description): Document difference to fdatasync.
30579         * modules/fdatasync: New module.
30580         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
30581         * lib/fdatasync.c (fdatasync): Likewise.
30582         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
30583         defaults.
30584         * modules/unistd (Makefile.am): Set witnesses.
30585         * lib/unistd.in.h (fdatasync): Declare.
30586         * MODULES.html.sh: Document it.
30587         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
30588         * modules/fdatasync-tests: New test.
30589         * tests/test-fdatasync.c: Likewise.
30591 2011-09-16  Eric Blake  <eblake@redhat.com>
30593         test-fsync: enhance tests
30594         * modules/fsync-tests (Depends-on): Add errno, for mingw.
30595         * tests/test-fsync.c (main): Enhance test.
30597 2011-09-15  Bruno Haible  <bruno@clisp.org>
30599         Support for MSVC compiler: Ensure ssize_t gets defined.
30600         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
30601         * doc/posix-headers/stdio.texi: Likewise.
30602         * modules/stdio (Depends-on): Add ssize_t.
30603         * modules/sys_socket (Depends-on): Likewise.
30604         * modules/sys_types (Depends-on): Likewise.
30605         * modules/sys_uio (Depends-on): Likewise.
30606         * modules/unistd (Depends-on): Likewise.
30607         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
30608         * tests/test-sys_types.c: Check that ssize_t is defined.
30610 2011-09-14  Bruno Haible  <bruno@clisp.org>
30612         Avoid using #, the m4 comment starter character, near brackets.
30613         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
30614         delimiter character in sed expressions.
30615         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
30616         Suggested by Eric Blake.
30618         Properly quote AC_CHECK_DECLS' 4th argument.
30619         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
30620         argument.
30621         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
30622         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
30623         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
30624         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
30625         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
30626         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
30627         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
30628         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
30629         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
30630         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
30631         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
30632         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
30633         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
30634         * m4/isinf.m4 (gl_ISINF): Likewise.
30635         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30636         * m4/readutmp.m4 (gl_READUTMP): Likewise.
30637         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
30638         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
30639         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
30640         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
30641         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30642         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
30643         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
30644         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30645         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30646         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30647         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
30648         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30649         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30650         Reported by Eric Blake.
30652         Properly quote AC_CHECK_DECL's 4th argument.
30653         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
30654         argument.
30655         * m4/argp.m4 (gl_ARGP): Likewise.
30656         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30657         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30658         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30659         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30660         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
30661         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
30662         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
30663         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30664         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
30665         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30666         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30667         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30668         Reported by Eric Blake.
30670 2011-09-14  Eric Blake  <eblake@redhat.com>
30672         opendir: avoid compile warning
30673         * lib/opendir.c (includes): Always include errno.h.
30674         Reported by Tatsuro MATSUOKA.
30676 2011-09-14  Jim Meyering  <meyering@redhat.com>
30678         maint.mk: sc_tight_scope: propagate failure from sub-make
30679         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
30680         Reported by Martin von Gagern.
30682 2011-09-13  Bruno Haible  <bruno@clisp.org>
30684         tempname: Support for MSVC.
30685         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
30686         MSVC.
30687         * modules/tempname (Depends-on): Add fcntl-h.
30689 2011-09-13  Bruno Haible  <bruno@clisp.org>
30691         sys_time: Support for MSVC.
30692         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
30693         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
30694         include <winsock2.h>.
30695         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
30696         function declarations that collide with POSIX.
30697         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
30698         (Makefile.am): Substitute HAVE_WINSOCK2_H.
30700 2011-09-13  Bruno Haible  <bruno@clisp.org>
30702         stat: Support for MSVC.
30703         * lib/stat.c: Include pathmax.h.
30704         * modules/stat (Depends-on): Add pathmax.
30706         pathmax: Support for native Windows.
30707         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
30709 2011-09-12  Bruno Haible  <bruno@clisp.org>
30711         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
30712         * lib/dirent.in.h (struct dirent): New type.
30713         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
30714         DT_WHT): New macros.
30715         (DIR): New type.
30716         (opendir, closedir): Declare only if the module 'opendir' is enabled.
30717         (readdir, rewinddir): New declarations.
30718         * lib/dirent-private.h: New file.
30719         * lib/opendir.c: New file.
30720         * lib/readdir.c: New file.
30721         * lib/rewinddir.c: New file.
30722         * lib/closedir.c: New file.
30723         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
30724         * m4/opendir.m4: New file.
30725         * m4/readdir.m4: New file.
30726         * m4/rewinddir.m4: New file.
30727         * m4/closedir.m4: New file.
30728         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
30729         REPLACE_CLOSEDIR here.
30730         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
30731         readdir, rewinddir are declared.
30732         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
30733         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
30734         HAVE_REWINDDIR, HAVE_CLOSEDIR.
30735         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
30736         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
30737         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
30738         * modules/opendir: New file.
30739         * modules/readdir: New file.
30740         * modules/rewinddir: New file.
30741         * modules/closedir: New file.
30742         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
30743         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
30744         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
30745         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
30746         * NEWS: Mention the 'fchdir' change.
30748 2011-09-11  Bruno Haible  <bruno@clisp.org>
30750         asm-underscore.m4: Support for MSVC.
30751         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
30752         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
30754 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
30756         Doc about crypt functions.
30757         * doc/posix-functions/crypt.texi: Expand range of glibc versions
30758         needing for _GNU_SOURCE to get crypt.
30759         * doc/posix-functions/encrypt.texi: Likewise.
30760         * doc/posix-functions/setkey.texi: Likewise.
30762 2011-09-11  Bruno Haible  <bruno@clisp.org>
30764         doc: Update regarding MSVC 9.
30765         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
30766         tested".
30767         * doc/posix-functions/*.texi: Update with info about MSVC 9.
30768         * doc/posix-headers/*.texi: Likewise.
30769         * doc/pastposix-functions/*.texi: Likewise.
30770         * doc/glibc-functions/*.texi: Likewise.
30771         * doc/glibc-headers/*.texi: Likewise.
30773 2011-09-11  Bruno Haible  <bruno@clisp.org>
30775         unistd et al.: Don't assume <unistd.h> exists.
30776         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
30777         does not exist.
30778         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
30779         exist. But include <stdlib.h>.
30780         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
30781         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
30782         symlink() does not exist.
30783         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
30784         include <io.h> instead.
30785         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
30786         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
30787         include <direct.h> instead.
30788         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
30789         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
30790         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
30791         <io.h> instead.
30792         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
30793         correctly if the system does not have hard links.
30794         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
30795         <direct.h> instead.
30796         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
30797         it when looking for function declarations.
30798         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
30799         <direct.h> and <io.h> instead.
30800         * doc/posix-headers/unistd.texi: More details about MSVC problem.
30802 2011-09-11  Bruno Haible  <bruno@clisp.org>
30804         strcase: Support for MSVC.
30805         * modules/strcase (Status, Notice): Remove obsoletion mark.
30806         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
30807         * doc/posix-functions/strncasecmp.texi: Likewise.
30809         strings: Don't assume <strings.h> exists.
30810         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
30811         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
30812         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
30813         * doc/posix-headers/strings.texi: Mention the MSVC problem.
30815 2011-09-11  Bruno Haible  <bruno@clisp.org>
30817         dirent: Don't assume <dirent.h> exists.
30818         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
30819         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
30820         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
30821         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
30823 2011-09-11  Bruno Haible  <bruno@clisp.org>
30825         Fix wint_t on MSVC.
30826         * lib/wchar.in.h (wint_t): On MSVC, override it.
30827         * lib/wctype.in.h (wint_t): Likewise.
30828         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
30829         MSVC.
30830         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
30831         * doc/posix-headers/wctype.texi: Likewise.
30833 2011-09-11  Bruno Haible  <bruno@clisp.org>
30835         sys_types: Fix typo.
30836         * lib/sys_types.in.h: Fix typo in comment.
30837         Reported by Paul Eggert.
30839         Support for MSVC compiler: Ensure size_t gets defined.
30840         * modules/strings (Depends-on): Add 'sys_types'.
30841         * modules/sys_uio (Depends-on): Likewise.
30842         * lib/sys_uio.in.h: Update comment.
30844         C++ tests for module 'sys_types'.
30845         * modules/sys_types-c++-tests: New file.
30846         * tests/test-sys_types-c++.cc: New file.
30848         Tests for module 'sys_types'.
30849         * modules/sys_types-tests: New file.
30850         * tests/test-sys_types.c: New file.
30852         New module 'sys_types'.
30853         * lib/sys_types.in.h: New file.
30854         * m4/sys_types_h.m4: New file.
30855         * modules/sys_types: New file.
30856         * doc/posix-headers/sys_types.texi: Mention the new module and the
30857         size_t problem on MSVC 9.
30859 2011-09-11  Bruno Haible  <bruno@clisp.org>
30861         Support for MSVC compiler: Avoid division by a literal 0.
30862         * lib/math.in.h (NAN): Define through a function call also on MSVC.
30863         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
30864         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
30865         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
30866         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
30867         * tests/infinity.h: New file.
30868         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
30869         on MSVC.
30870         * tests/test-ceilf1.c: Include infinity.h.
30871         (main): Use Infinityf.
30872         * tests/test-ceil1.c: Include infinity.h.
30873         (main): Use Infinityd.
30874         * tests/test-ceill.c: Include infinity.h.
30875         (main): Use Infinityl.
30876         * tests/test-dprintf-posix.c: Include infinity.h.
30877         (test_function): Use Infinityd.
30878         * tests/test-floorf1.c: Include infinity.h.
30879         (main): Use Infinityf.
30880         * tests/test-floor1.c: Include infinity.h.
30881         (main): Use Infinityd.
30882         * tests/test-floorl.c: Include infinity.h.
30883         (main): Use Infinityl.
30884         * tests/test-fprintf-posix.c: Include infinity.h.
30885         (test_function): Use Infinityd.
30886         * tests/test-frexp.c: Include infinity.h.
30887         (main): Use Infinityd.
30888         * tests/test-frexpl.c: Include infinity.h.
30889         (main): Use Infinityl.
30890         * tests/test-isfinite.c: Include infinity.h.
30891         (test_isfinitef): Use Infinityf.
30892         (test_isfinited): Use Infinityd.
30893         (test_isfinitel): Use Infinityl.
30894         * tests/test-isinf.c: Include infinity.h.
30895         (test_isinff): Use Infinityf.
30896         (test_isinfd): Use Infinityd.
30897         (test_isinfl): Use Infinityl.
30898         * tests/test-isnan.c: Include infinity.h.
30899         (test_float): Use Infinityf.
30900         (test_double): Use Infinityd.
30901         (test_long_double): Use Infinityl.
30902         * tests/test-isnanf.h: Include infinity.h.
30903         (main): Use Infinityf.
30904         * tests/test-isnand.h: Include infinity.h.
30905         (main): Use Infinityd.
30906         * tests/test-isnanl.h: Include infinity.h.
30907         (main): Use Infinityl.
30908         * tests/test-ldexpl.c: Include infinity.h.
30909         (main): Use Infinityl.
30910         * tests/test-printf-posix.h: Include infinity.h.
30911         (test_function): Use Infinityd.
30912         * tests/test-roundf1.c: Include infinity.h.
30913         (main): Use Infinityf.
30914         * tests/test-round1.c: Include infinity.h.
30915         (main): Use Infinityd.
30916         * tests/test-roundl.c: Include infinity.h.
30917         (main): Use Infinityl.
30918         * tests/test-signbit.c: Include infinity.h.
30919         (test_signbitf): Use Infinityf.
30920         (test_signbitd): Use Infinityd.
30921         (test_signbitl): Use Infinityl.
30922         * tests/test-snprintf-posix.h: Include infinity.h.
30923         (test_function): Use Infinityd, Infinityl.
30924         * tests/test-sprintf-posix.h: Include infinity.h.
30925         (test_function): Use Infinityd, Infinityl.
30926         * tests/test-truncf1.c: Include infinity.h.
30927         (main): Use Infinityf.
30928         * tests/test-trunc1.c: Include infinity.h.
30929         (main): Use Infinityd.
30930         * tests/test-truncl.c: Include infinity.h.
30931         (main): Use Infinityl.
30932         * tests/test-vasnprintf-posix.c: Include infinity.h.
30933         (test_function): Use Infinityd, Infinityl.
30934         * tests/test-vasprintf-posix.c: Include infinity.h.
30935         (test_function): Use Infinityd, Infinityl.
30936         * modules/ceilf-tests (Files): Add tests/infinity.h.
30937         * modules/ceil-tests (Files): Likewise.
30938         * modules/ceill-tests (Files): Likewise.
30939         * modules/dprintf-posix-tests (Files): Likewise.
30940         * modules/floorf-tests (Files): Likewise.
30941         * modules/floor-tests (Files): Likewise.
30942         * modules/floorl-tests (Files): Likewise.
30943         * modules/fprintf-posix-tests (Files): Likewise.
30944         * modules/frexp-tests (Files): Likewise.
30945         * modules/frexp-nolibm-tests (Files): Likewise.
30946         * modules/frexpl-tests (Files): Likewise.
30947         * modules/frexpl-nolibm-tests (Files): Likewise.
30948         * modules/isfinite-tests (Files): Likewise.
30949         * modules/isinf-tests (Files): Likewise.
30950         * modules/isnan-tests (Files): Likewise.
30951         * modules/isnanf-tests (Files): Likewise.
30952         * modules/isnanf-nolibm-tests (Files): Likewise.
30953         * modules/isnand-tests (Files): Likewise.
30954         * modules/isnand-nolibm-tests (Files): Likewise.
30955         * modules/isnanl-tests (Files): Likewise.
30956         * modules/isnanl-nolibm-tests (Files): Likewise.
30957         * modules/ldexpl-tests (Files): Likewise.
30958         * modules/printf-posix-tests (Files): Likewise.
30959         * modules/roundf-tests (Files): Likewise.
30960         * modules/round-tests (Files): Likewise.
30961         * modules/roundl-tests (Files): Likewise.
30962         * modules/signbit-tests (Files): Likewise.
30963         * modules/snprintf-posix-tests (Files): Likewise.
30964         * modules/sprintf-posix-tests (Files): Likewise.
30965         * modules/truncf-tests (Files): Likewise.
30966         * modules/trunc-tests (Files): Likewise.
30967         * modules/truncl-tests (Files): Likewise.
30968         * modules/vasnprintf-posix-tests (Files): Likewise.
30969         * modules/vasprintf-posix-tests (Files): Likewise.
30970         * modules/vdprintf-posix-tests (Files): Likewise.
30971         * modules/vfprintf-posix-tests (Files): Likewise.
30972         * modules/vprintf-posix-tests (Files): Likewise.
30973         * modules/vsnprintf-posix-tests (Files): Likewise.
30974         * modules/vsprintf-posix-tests (Files): Likewise.
30975         * modules/xprintf-posix-tests (Files): Likewise.
30977 2011-09-11  Bruno Haible  <bruno@clisp.org>
30979         Ensure pid_t gets defined.
30980         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
30981         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
30982         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
30983         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
30984         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
30985         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
30986         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
30987         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
30988         * tests/test-fcntl-h.c: Check that pid_t is defined.
30989         * tests/test-sched.c: Likewise.
30990         * tests/test-termios.c: Likewise.
30991         * tests/test-time.c: Likewise.
30992         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
30993         * doc/posix-headers/signal.texi: Likewise.
30994         * doc/posix-headers/sys_types.texi: Likewise.
30995         * doc/posix-headers/time.texi: Likewise.
30997 2011-09-11  Bruno Haible  <bruno@clisp.org>
30999         acl: Fix compilation on Solaris 10 (older version).
31000         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
31001         of ACE_EVERYONE.
31002         * lib/set-mode-acl.c (qset_acl): Likewise.
31003         Reported by Christian Jullien <eligis@orange.fr>.
31005 2011-09-10  Bruno Haible  <bruno@clisp.org>
31007         iconv, unsetenv: Add support for MSVC compiler.
31008         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
31009         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
31011 2011-09-10  Bruno Haible  <bruno@clisp.org>
31013         *printf: Add support for MSVC compiler.
31014         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
31015         handles the exception caused by the %n directive. When cross-compiling,
31016         guess no on native Windows.
31017         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
31018         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
31019         emulate it through vsnprintf.
31020         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
31021         * doc/posix-functions/dprintf.texi: Update documentation regarding
31022         MSVC 9.
31023         * doc/posix-functions/fprintf.texi: Likewise.
31024         * doc/posix-functions/printf.texi: Likewise.
31025         * doc/posix-functions/snprintf.texi: Likewise.
31026         * doc/posix-functions/sprintf.texi: Likewise.
31027         * doc/posix-functions/swprintf.texi: Likewise.
31028         * doc/posix-functions/vdprintf.texi: Likewise.
31029         * doc/posix-functions/vfprintf.texi: Likewise.
31030         * doc/posix-functions/vprintf.texi: Likewise.
31031         * doc/posix-functions/vsnprintf.texi: Likewise.
31032         * doc/posix-functions/vsprintf.texi: Likewise.
31033         * doc/glibc-functions/asprintf.texi: Likewise.
31034         * doc/glibc-functions/obstack_printf.texi: Likewise.
31035         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
31036         * doc/glibc-functions/vasprintf.texi: Likewise.
31038 2011-09-10  Bruno Haible  <bruno@clisp.org>
31040         nocrash: Add support for native Windows.
31041         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
31043 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
31044             Bruno Haible  <bruno@clisp.org>
31046         absolute-header, include-next: Add support for MSVC compiler.
31047         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
31048         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
31049         directory separator in #line directives.
31050         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
31051         recognize also backslash as directory separator in #line directives.
31053 2011-09-08  Jim Meyering  <meyering@redhat.com>
31055         maint.mk: mark the post-release commit log with "maint: " prefix
31056         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
31057         one-line commit-log summary.
31059 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
31060             Bruno Haible  <bruno@clisp.org>
31062         Doc about crypt functions.
31063         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
31064         systems.
31065         * doc/posix-functions/encrypt.texi: Likewise.
31066         * doc/posix-functions/setkey.texi: Likewise.
31068 2011-09-08  Simon Josefsson  <simon@josefsson.org>
31070         * lib/gc.h: Fix copyright header.
31072 2011-09-07  Bruno Haible  <bruno@clisp.org>
31074         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
31075         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
31076         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
31078 2011-09-07  Bruno Haible  <bruno@clisp.org>
31080         openat: Work around compilation error with OSF/1 5.1 DTK cc.
31081         * lib/fopen.c: Use different syntax for include of <stdio.h>.
31082         * lib/freopen.c: Likewise.
31083         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
31084         * lib/lstat.c: Likewise.
31085         * lib/stat.c: Likewise.
31086         * lib/open.c: Use different syntax for include of <fcntl.h>.
31087         * lib/openat.c: Include fcntl.h again, explicitly.
31089 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
31091         parse-datetime: document the newly accepted format
31092         * doc/parse-datetime.texi (Combined date and time of day items):
31093         New section.
31095 2011-09-06  Bruno Haible  <bruno@clisp.org>
31097         acl: Fix a test failure on newer Solaris 10 with ZFS.
31098         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
31099         ENOSYS as no ACL.
31100         Reported by Jim Meyering.
31102 2011-09-06  Bruno Haible  <bruno@clisp.org>
31104         acl: Update for AIX >= 5.3 with NFS.
31105         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
31106         ENOSYS as no ACL.
31108         acl: Fix a test failure on AIX >= 5.3 with NFS.
31109         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
31110         as no ACL.
31112 2011-09-06  Bruno Haible  <bruno@clisp.org>
31114         acl: Fix a test failure on IRIX 6.5 with NFS.
31115         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
31116         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
31117         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
31118         * lib/copy-acl.c (qcopy_acl): Likewise.
31120 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
31122         openat: port to AIX 7.1 with large files
31123         AIX 7.1 does a "#define openat open64at" if large files are in use,
31124         so we can't simply #undef openat.  Use the orig_openat trick (similar
31125         to orig_open in lib/open.c) to work around the problem.  Problem
31126         reported by Kevin Brott for GNU tar, in the thread containing
31127         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
31128         * lib/openat.c (__need_system_fcntl_h): Define first.
31129         Include <fcntl.h> and <sys/types.h> before undefining.
31130         (orig_openat) [HAVE_OPENAT]: New inline function.
31131         (openat) [HAVE_OPENAT]: Do not undef.
31132         (rpl_openat): Use orig_openat, not openat.
31134 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
31135             Bruno Haible  <bruno@clisp.org>
31137         acl: Avoid errors on NonStop Kernel.
31138         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
31139         ENOTSUP errors.
31141 2011-09-05  Bruno Haible  <bruno@clisp.org>
31143         acl: Clean up Solaris code.
31144         * lib/acl-internal.h: Remove no-op #if.
31145         * lib/file-has-acl.c: Likewise.
31146         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
31147         * lib/copy-acl.c (qcopy_acl): Likewise.
31149 2011-09-05  Bruno Haible  <bruno@clisp.org>
31151         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
31152         binaries built on the original Solaris 10.
31153         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
31154         trivial.
31156 2011-09-05  Bruno Haible  <bruno@clisp.org>
31158         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
31159         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
31160         10.
31161         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
31162         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
31163         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
31164         instead of acl_get, facl_get, acl_set, facl_set.
31166 2011-09-05  Bruno Haible  <bruno@clisp.org>
31168         copy-file: Try unit tests on more file systems.
31169         * tests/test-copy-file-1.sh: New file.
31170         * tests/test-copy-file-2.sh: New file.
31171         * modules/copy-file-tests (Files): Add them.
31172         (Makefile.am): Add them to TESTS.
31174         acl: Try unit tests on more file systems.
31175         * tests/test-file-has-acl-1.sh: New file.
31176         * tests/test-file-has-acl-2.sh: New file.
31177         * tests/test-set-mode-acl-1.sh: New file.
31178         * tests/test-set-mode-acl-2.sh: New file.
31179         * tests/test-copy-acl-1.sh: New file.
31180         * tests/test-copy-acl-2.sh: New file.
31181         * modules/acl-tests (Files): Add them.
31182         (Makefile.am): Add them to TESTS.
31184 2011-09-04  Bruno Haible  <bruno@clisp.org>
31186         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
31187         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
31188         10.
31189         (OLD_ALLOW, OLD_DENY): New macros.
31190         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
31191         ACE_ACCESS_ALLOWED_ACE_TYPE.
31192         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
31193         ACE_ACCESS_DENIED_ACE_TYPE.
31194         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
31195         (NEW_ACE_EXECUTE): Fix value.
31196         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
31197         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
31198         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
31199         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
31200         NEW_ACE_SYNCHRONIZE): New macros.
31201         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
31202         instead of acl_fromtext, acl_set, facl_set.
31203         Fixes a coreutils/tests/cp/perm failure.
31205 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
31207         openat: test for fstatat (..., 0) bug
31208         Further testing with tar suggests that fstatat (..., 0)
31209         does not work in general, on AIX 7.1; see
31210         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
31211         So, give up entirely on AIX 7.1's fstatat, and fall back on our
31212         replacement fstatat (which is what older AIX releases were using
31213         anyway).
31214         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
31215         use is now changed to orig_fstatat.  This was probably the right
31216         thing to do anyway.
31217         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
31218         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
31219         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
31220         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
31221         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
31222         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
31223         if the bug is found.
31225         openat: test for fstatat (AT_FDCWD, ..., 0) bug
31226         This tests for another fstatat bug on AIX 7.1:
31227         fstatat (AT_FDCWD, ..., 0) does not work.  See
31228         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
31229         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
31230         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
31231         (rpl_fstatat): Adjust so that it works around either (or both)
31232         bugs if present.
31233         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
31235 2011-09-03  Karl Berry  <karl@gnu.org>
31237         * doc/regex.texi (Character Class Operators): Avoid literal ":"
31238         in index entries.
31240 2011-09-02  Bruno Haible  <bruno@clisp.org>
31242         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
31243         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
31244         values of AR, ARFLAGS, RANLIB.
31245         Reported by John W. Eaton <jwe@gnu.org> for Octave.
31247 2011-09-02  Bruno Haible  <bruno@clisp.org>
31249         Find 'ar' program that fits with --host argument.
31250         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
31252 2011-09-02  Bruno Haible  <bruno@clisp.org>
31254         tests: init.sh: Support any non-GNU diff.
31255         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
31256         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
31257         Solaris 8.
31259 2011-09-02  Bruno Haible  <bruno@clisp.org>
31261         tests: init.sh: work also with any non-GNU diff that supports -u
31262         * tests/init.sh: Relax check for diff -u support.
31263         Rather than checking for GNU diff via --version, simply check
31264         for support for -u itself.  Useful at least on OpenBSD 4.9,
31265         AIX 7.1, IRIX 6.5, and Solaris 10.
31267 2011-09-01  Bruno Haible  <bruno@clisp.org>
31269         strtoimax, strtoumax: Document problem on HP-UX 11.
31270         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
31271         * doc/posix-functions/strtoumax.texi: Likewise.
31273 2011-09-01  Bruno Haible  <bruno@clisp.org>
31275         strtoumax: Avoid link error on OSF/1 with DTK cc.
31276         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
31277         defined as a function.
31278         * modules/strtoumax (Depends-on, configure.ac): Test only whether
31279         strtoumax is defined, not whether it is declared.
31281 2011-09-01  Bruno Haible  <bruno@clisp.org>
31283         strtoimax: Avoid link error on OSF/1 with DTK cc.
31284         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
31285         defined as a function.
31286         * modules/strtoimax (Depends-on, configure.ac): Test only whether
31287         strtoimax is defined, not whether it is declared.
31289 2011-09-01  Bruno Haible  <bruno@clisp.org>
31291         imaxdiv: Avoid link error on OSF/1 with DTK cc.
31292         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
31293         as a function.
31294         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
31295         whether it is declared.
31297 2011-09-01  Bruno Haible  <bruno@clisp.org>
31299         imaxabs: Avoid link error on OSF/1 with DTK cc.
31300         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
31301         as a function.
31302         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
31303         whether it is declared.
31305 2011-09-01  Bruno Haible  <bruno@clisp.org>
31307         Tests for module 'strtoumax'.
31308         * modules/strtoumax-tests: New file.
31309         * tests/test-strtoumax.c: New file.
31311         Tests for module 'strtoimax'.
31312         * modules/strtoimax-tests: New file.
31313         * tests/test-strtoimax.c: New file.
31315         Tests for module 'imaxdiv'.
31316         * modules/imaxdiv-tests: New file.
31317         * tests/test-imaxdiv.c: New file.
31319         Tests for module 'imaxabs'.
31320         * modules/imaxabs-tests: New file.
31321         * tests/test-imaxabs.c: New file.
31323 2011-09-01  Bruno Haible  <bruno@clisp.org>
31325         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
31326         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
31327         pthread_create.
31329 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
31331         openat: work around AIX 7.1 fstatat issue
31332         This should fix the problem that was not properly fixed
31333         in the previous change, dated 2011-08-30.
31334         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
31335         __need_system_stat_h defined.
31336         (orig_fstatat) [HAVE_FSTATAT]: New function.
31337         (rpl_fstatat): Go back to the old way of doing things,
31338         except call orig_fstatat instead of fstatat.
31339         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
31340         Remove unnecessary check whether fstatat fills in st_size etc.
31342 2011-09-01  Bruno Haible  <bruno@clisp.org>
31344         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
31345         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
31346         just include the system's header.
31348 2011-08-31  Jim Meyering  <meyering@redhat.com>
31350         tests: avoid spurious assertion failure in test-float.c on ppc64
31351         * tests/test-float.c (test_long_double): Comment out an assertion,
31352         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
31353         with gcc-4.4.4.
31355         maint: indent with spaces, not TABs
31356         I need to get in the habit of running gnulib's "make check".
31357         Both of these would have been caught.
31358         * m4/largefile.m4: Indent with spaces, not TABs.
31359         * lib/parse-datetime.y (iso_8601_time): Likewise.
31360         Spotted by Pádraig Brady.
31362         test-parse-datetime.c: accommodate a relatively strict gcc warning
31363         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
31364         to avoid a warning from gcc's -Werror=missing-declarations.
31365         Insert a few spaces-before-funcall-parenthesis.
31367 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
31369         parse-datetime: accept ISO 8601 date and time rep with "T" separator
31370         The parser now accepts ISO 8601 date-time strings with "T" as the
31371         separator.  It has long parsed dates like "2004-02-29 16:21:42"
31372         with a space between the date and time strings.  Now it also parses
31373         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
31374         variants like "2004-02-29T16:21:42.333-07:00"
31375         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
31376         of day representation using the 'T' separator character.
31377         * doc/parse-datetime.texi (General date syntax): replace use of
31378         deprecated --iso-8601 option with --rfc-3339 in example of date
31379         command output formats that can be parsed.
31380         * tests/test-parse-datetime.c (tm_diff): New function, taken from
31381         lib/parse-datetime.y.
31382         (gmt_offset): New function.
31383         (main): Add additional test cases to validate ISO8601 extended
31384         date and time of day parsing.
31386 2011-08-31  Bruno Haible  <bruno@clisp.org>
31388         freopen: Documentation.
31389         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
31390         name.
31391         Reported by Claudio Bley <claudio.bley@gmail.com>.
31393 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
31395         freopen: Don't crash if the filename argument is NULL.
31396         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
31397         NULL.
31399 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
31401         openat: work around AIX 7.1 fstatat bug
31402         Problem reported by Kevin Brott for GNU tar, in the thread containing
31403         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
31404         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
31405         FSTATAT_ST_SIZE_ETC_BROKEN.
31406         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
31407         rpl_fstatat.
31408         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
31409         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
31410         AC_CHECK_FUNCS_ONCE for fstatat.
31411         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
31412         fchmodat, mkdirat, openat and unlinkat.
31414 2011-08-30  Bruno Haible  <bruno@clisp.org>
31416         Avoid endless recursions if config.h includes some header files.
31417         * lib/fopen.c (__need_FILE): Define already before including config.h.
31418         * lib/freopen.c (__need_FILE): Likewise.
31419         * lib/open.c (__need_system_fcntl_h): Likewise.
31420         * lib/stat.c (__need_system_sys_stat_h): Likewise.
31421         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
31422         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
31424 2011-08-25  Karl Berry  <karl@gnu.org>
31426         * config/srclist.txt (ylwrap): new try.
31427         * build-aux/ylwrap: new file.
31429 2011-08-23  Bruno Haible  <bruno@clisp.org>
31431         tmpdir: Use a good default directory on native Windows.
31432         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
31433         (P_tmpdir): Default to _P_tmpdir on native Windows.
31434         (path_search): On native Windows, try the value returned by GetTempPath
31435         before trying P_tmpdir.
31436         * modules/tmpdir (Depends-on): Add pathmax.
31437         Suggested by John Darrington <john@darrington.wattle.id.au>.
31439 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
31441         doc: fix typo in README-release
31442         * top/README-release: Capitalize first word of a sentence.
31444 2011-08-19  Jim Meyering  <meyering@redhat.com>
31446         fts: do not exhaust memory when processing million-entry directories
31447         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
31448         directory would require about 256*N bytes of memory.  Thus, it was
31449         easy to construct a directory too large to be processed by any of
31450         those tools.  With this change, fts' maximum memory utilization is
31451         now limited to around 30MB.
31452         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
31453         (fts_read): When we've processed the final entry (i.e., when
31454         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
31455         using the parent entry to read any remaining entries.  Dispatch
31456         depending on what fts_build returns:
31457         - NULL+stop, aka failure: stop
31458         - NULL otherwise: move up in the dir hierarchy
31459         - non-NULL: handle this new entry
31460         (fts_build): Declare and use new local, continue_readdir.
31461         Prepare to be called from fts_read, when the entries
31462         from a partially-read directory have just been exhausted.
31463         In that case, we'll skip the opendir and instead use the parent's
31464         fts_dirp and derive dir_fd from that.
31465         Finally, in the readdir loop, if we read max_entries entries,
31466         exit the loop ensuring *not* to call closedir.  This is required
31467         so that fts_dirp can be reused on a subsequent call.
31468         Prompted by Ben England's report of memory exhaustion in find
31469         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
31471         maint: fts: move decl of `dp' down into while loop; split a long line
31472         * lib/fts.c (fts_build): No semantic change.
31474         fts: add/use new struct member, fts_dirp
31475         We are about to use this to manage any directory with
31476         too many entries to read all of them into memory at once.
31477         To do that, we'll need to save the DIR* pointer in each
31478         affected FTSENT struct.
31479         * lib/fts_.h: Include <dirent.h>.
31480         (struct FTSENT) [fts_dirp]: New member.
31481         * lib/fts.c (closedir_and_clear): Define.
31482         Use it in place of closedir so that we are sure to
31483         clear the new fts_dirp member when done with it.
31484         (fts_alloc): Initialize the new member.
31485         (fts_lfree): Free, if needed.
31487         maint: fts: give __opendir2 a new parameter and rename
31488         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
31489         than surreptitiously using sole caller's "dir_fd".
31490         (fts_opendir): Rename from __opendir2.
31492         maint: fts.c: remove __opendir2's now-unused parameter, oflag
31493         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
31495         maint: fts.c: correct off-by-one indentation
31496         * lib/fts.c (fts_build): Correct indentation, change style
31497         of a couple of block comments, and bracing style.
31499         maint: fts.c: move __opendir2 #define "up" out of function body
31500         * lib/fts.c (__opendir2): Move "up".  No semantic change.
31502         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
31503         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
31504         out for a long time and besides was useful only on BSD systems.
31506 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
31508         regex: port to Stratus OpenVOS
31509         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
31510         define to empty, rather than attempting nonportable optimizations.
31511         Problem reported by Paul Green in:
31512         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
31513         and fix suggested by Eric Blake in:
31514         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
31516 2011-08-17  Eric Blake  <eblake@redhat.com>
31518         getcwd: fix test failures on mingw
31519         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
31520         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
31521         test if long directory cannot be created, and allow mingw errno.
31523         getcwd-lgpl: fix m4 to match relaxed test for BSD
31524         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
31525         (gl_FUNC_GETCWD_SIGNATURE): New macro.
31526         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
31527         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
31528         signature problem.
31530         getcwd: fix compilation on mingw64
31531         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
31532         getcwd.
31533         Reported by Marc-André Lureau.
31535         pipe2: silence compiler warning
31536         * lib/pipe2.c (pipe2): Hide label if it is not used.
31538 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
31540         relocatable-prog: fix link error
31541         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
31542         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
31543         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
31544         into modules/relocatable-lib without noticing that
31545         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
31546         also needs to build relocatable.c.
31548 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
31550         getaddrinfo: fix sh typo in gai_strerrorA decl checking
31551         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
31552         shell code: it contained a 'break' that was not in a loop.
31553         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
31554         via a shell-language loop; this may have been true in old Autoconf
31555         versions, but it's not true in Autoconf 2.68.  I found this bug
31556         when testing coreutils git on Solaris 8, whose shell complains
31557         about the syntax error.
31559 2011-08-12  Simon Josefsson  <simon@josefsson.org>
31561         * lib/base64.c: Fix comment to reference RFC 4648.
31562         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
31563         <gvtulder@gmail.com>.
31565 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
31567         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
31569         po/Makefile.in.in: fix make -q problem
31570         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
31571         rule, since there's no file named 'check-macro-version' and its
31572         use as a file breaks make -q.
31573         (all): Don't depend on check-macro-version.
31574         (CHECK_MACRO_VERSION): New macro.
31575         (stamp-po): Use it.
31577         configmake: fix make -q problem
31578         * modules/configmake (configmake.h): Update configmake.h's time stamp
31579         even if the file does not change.  Otherwise, 'make -q' fails.
31580         Problem reported by Simon Josefsson in
31581         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
31583 2011-08-11  Jim Meyering  <meyering@redhat.com>
31585         git-version-gen: correct the advice in a comment
31586         * build-aux/git-version-gen: Correct comment.
31587         Don't recommend to list .tarball-version in .gitignore.
31589 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
31591         base64: fix off-by-one buffer size bug
31592         Problem and (trivial) fix reported by Gijs van Tulder in
31593         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
31594         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
31595         * tests/test-base64.c (main): Catch the bug.
31597 2011-08-10  Eric Blake  <eblake@redhat.com>
31599         closein: correct comments
31600         * lib/closein.c (close_stdin): Improve comments.
31602 2011-08-09  Bruno Haible  <bruno@clisp.org>
31604         More tests for 'fseeko'.
31605         * tests/test-fseeko3.c: New file, from Eric Blake.
31606         * tests/test-fseeko3.sh: New file.
31607         * modules/fseeko-tests (Files): Add them.
31608         (TESTS): Add test-fseeko3.sh.
31609         (check_PROGRAMS): Add test-fseeko3.
31611 2011-08-09  Eric Blake  <eblake@redhat.com>
31613         fseeko: remove unneeded hack
31614         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
31616         fseeko: fix bug on glibc
31617         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
31618         Reported by John W. Eaton.
31620 2011-08-08  Bruno Haible  <bruno@clisp.org>
31622         unictype/base: Fix interoperability with preinstalled libunistring.
31623         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
31624         Reported by Simon Josefsson.
31626 2011-08-08  Bruno Haible  <bruno@clisp.org>
31628         iswblank: Detect declaration correctly.
31629         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
31630         AC_CHECK_DECLS invocation.
31632 2011-08-08  Bruno Haible  <bruno@clisp.org>
31634         tcgetsid: Detect declaration correctly.
31635         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
31636         AC_CHECK_DECLS invocation.
31637         Reported by Simon Josefsson.
31639 2011-08-08  Eric Blake  <eblake@redhat.com>
31641         largefile: fix typo that regressed large file support
31642         * modules/largefile (configure.ac-early): Fix section name.
31644 2011-08-06  Karl Berry  <karl@gnu.org>
31646         * MODULES.html.sh (func_all_files): _Noreturn is no longer
31647         a separate module.
31649 2011-08-05  Simon Josefsson  <simon@josefsson.org>
31651         openat: Fix warnings and commens when building unlinkat.c on Hurd.
31652         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
31653         get prototype for free.
31655 2011-08-04  Bruno Haible  <bruno@clisp.org>
31657         Tests for module 'pathmax'.
31658         * modules/pathmax-tests: New file.
31659         * tests/test-pathmax.c: New file.
31661         canonicalize-lgpl: Support larger filenames on the Hurd.
31662         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
31663         Reported by Paul Eggert.
31665         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
31666         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
31667         * lib/chdir-long.h: Include pathmax.h.
31668         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
31669         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
31670         (PATH_MAX): Remove code that is done by pathmax.h.
31671         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
31672         * lib/tmpfile.c: Add a comment.
31673         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
31674         * modules/chdir-long (Depends-on): Add pathmax.
31675         * modules/getcwd (Depends-on): Add pathmax.
31676         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
31677         is not defined.
31678         * doc/posix-headers/limits.texi: Mention the pathmax module.
31679         * NEWS: Mention the change.
31681 2011-08-02  Bruno Haible  <bruno@clisp.org>
31683         pthread_sigmask: Actually use results of gl_THREADLIB.
31684         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
31685         gl_THREADLIB, not gl_[]THREADLIB.
31686         Reported by Eric Blake.
31688 2011-08-02  Jim Meyering  <meyering@redhat.com>
31690         maint.mk: relax the default _gl_TS_function_match regexp
31691         * top/maint.mk (_gl_TS_function_match): Don't require at least one
31692         space between function name and "(" in an "extern" declaration.
31693         That would fail to match a decl with no space there: extern void foo();
31695 2011-07-31  Iain Nicol  <iain@thenicols.net>
31697         git-version-gen: document that EXTRA_DIST must include .version
31698         * build-aux/git-version-gen: In the how-to-use comment, document
31699         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
31700         will fail when run from an unpacked distribution tarball.
31702 2011-08-01  Bruno Haible  <bruno@clisp.org>
31704         wctype-h: Fix last change.
31705         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
31706         REPLACE_TOWLOWER to 0.
31707         Reported by Sam Steingold <sds@gnu.org>.
31709 2011-07-31  Bruno Haible  <bruno@clisp.org>
31711         frexpl: Update autoconf test.
31712         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
31713         according to changes of 2011-06-20.
31715 2011-07-31  Bruno Haible  <bruno@clisp.org>
31717         sys_utsname: Add support for Minix.
31718         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
31719         <sys/utsname.h>.
31720         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31721         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
31723 2011-07-31  Bruno Haible  <bruno@clisp.org>
31725         strings: Add support for Minix.
31726         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
31727         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
31728         * doc/posix-headers/strings.texi: Document the Minix problem.
31730 2011-07-31  Bruno Haible  <bruno@clisp.org>
31732         wctype-h: Add support for Minix.
31733         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
31734         REPLACE_TOWLOWER.
31735         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
31736         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
31737         REPLACE_ISWCNTRL.
31739 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
31741         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
31742         This is a performance improvement for 64-bit hosts: it causes the
31743         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
31745 2011-07-31  Bruno Haible  <bruno@clisp.org>
31747         stdioext: Add support for Minix.
31748         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
31749         * lib/fpurge.c (fpurge): Likewise.
31750         * lib/freadahead.c (freadahead): Likewise.
31751         * lib/freadable.c (freadable): Likewise.
31752         * lib/freading.c (freading): Likewise.
31753         * lib/freadptr.c (freadptr): Likewise.
31754         * lib/freadseek.c (freadptrinc): Likewise.
31755         * lib/fseeko.c (rpl_fseeko): Likewise.
31756         * lib/fseterr.c (fseterr): Likewise.
31757         * lib/fwritable.c (fwritable): Likewise.
31758         * lib/fwriting.c (fwriting): Likewise.
31759         * lib/fflush.c (clear_ungetc_buffer): Update comment.
31760         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
31762 2011-07-31  Bruno Haible  <bruno@clisp.org>
31764         errno: Port to Minix.
31765         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
31766         ECONNABORTED are defined.
31767         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
31768         GNULIB_defined_ECONNABORTED): New macros.
31769         * lib/strerror-override.h (strerror_override): Test also
31770         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
31771         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
31772         ECONNABORTED.
31773         * doc/posix-headers/errno.texi: Mention the Minix problem.
31775 2011-07-31  Bruno Haible  <bruno@clisp.org>
31777         Work around declaration collisions on Minix.
31778         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
31779         defined, set REPLACE_MBSINIT.
31780         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
31781         defined, set REPLACE_MBRTOWC.
31782         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
31783         set REPLACE_MBRLEN.
31784         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
31785         defined, set REPLACE_MBSRTOWCS.
31786         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
31787         defined, set REPLACE_WCRTOMB.
31788         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
31789         defined, set REPLACE_WCSRTOMBS.
31791 2011-07-31  Bruno Haible  <bruno@clisp.org>
31793         Add support for Minix with ACK compiler.
31794         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
31795         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
31796         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
31798 2011-07-31  Bruno Haible  <bruno@clisp.org>
31800         Documentation about Minix.
31801         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
31802         * doc/glibc-headers/*.texi: Likewise.
31803         * doc/posix-functions/*.texi: Likewise.
31804         * doc/glibc-functions/*.texi: Likewise.
31806 2011-07-31  Bruno Haible  <bruno@clisp.org>
31808         snippet/warn-on-use: Fix indentation.
31809         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
31811 2011-07-25  Jim Meyering  <meyering@redhat.com>
31813         tests: test-update-copyright.sh: remove unnecessary "rm" commands
31814         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
31815         commands.
31817 2011-07-27  Jim Meyering  <meyering@redhat.com>
31819         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
31820         * top/maint.mk (gl_extract_significant_defines_): Now that
31821         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
31822         gnulib/lib/signal.in.h, and now that we recommend to
31823         define-if-undefined those two symbols in application code,
31824         we must filter them out of the "significant" list.
31825         This avoids a "make syntax-check" failure in coreutils.
31827 2011-07-26  Eric Blake  <eblake@redhat.com>
31829         warnings: add comments about previous patch
31830         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
31831         * m4/include_next.m4: Likewise.
31832         * m4/warn-on-use.m4: Likewise.
31833         * m4/warnings.m4: Likewise, and simplify use.
31834         Suggested by Stefano Lattarini.
31836         include-next, warnings: support older autoconf
31837         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
31838         AS_VAR_PUSHDEF in a way that works with older autoconf.
31839         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
31840         Reported by Daniel P. Berrange.
31842 2011-07-25  Bruno Haible  <bruno@clisp.org>
31844         fseek, ftell: Fix doc.
31845         * doc/posix-functions/fseek.texi: Reword statement about
31846         AC_SYS_LARGEFILE.
31847         * doc/posix-functions/ftell.texi: Likewise.
31849 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
31850             Bruno Haible  <bruno@clisp.org>
31852         Add dependencies to the 'largefile' module.
31853         * modules/fopen (Depends-on): Add 'largefile'.
31854         * modules/freopen (Depends-on): Likewise.
31855         * modules/fseeko (Depends-on): Likewise.
31856         * modules/ftello (Depends-on): Likewise.
31857         * modules/glob (Depends-on): Likewise.
31858         * modules/lseek (Depends-on): Likewise.
31859         * modules/lstat (Depends-on): Likewise.
31860         * modules/mkostemp (Depends-on): Likewise.
31861         * modules/mkostemps (Depends-on): Likewise.
31862         * modules/mkstemp (Depends-on): Likewise.
31863         * modules/mkstemps (Depends-on): Likewise.
31864         * modules/open (Depends-on): Likewise.
31865         * modules/openat (Depends-on): Likewise.
31866         * modules/pread (Depends-on): Likewise.
31867         * modules/pwrite (Depends-on): Likewise.
31868         * modules/scandir (Depends-on): Likewise.
31869         * modules/stat (Depends-on): Likewise.
31870         * modules/tmpfile (Depends-on): Likewise.
31871         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
31872         since the containing module now depends on the largefile module.
31873         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
31874         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
31875         off_t is fixed by gnulib.
31876         * doc/posix-functions/freopen.texi: Likewise.
31877         * doc/posix-functions/fseeko.texi: Likewise.
31878         * doc/posix-functions/fstatat.texi: Likewise.
31879         * doc/posix-functions/ftello.texi: Likewise.
31880         * doc/posix-functions/glob.texi: Likewise.
31881         * doc/posix-functions/lseek.texi: Likewise.
31882         * doc/posix-functions/lstat.texi: Likewise.
31883         * doc/posix-functions/mkstemp.texi: Likewise.
31884         * doc/posix-functions/open.texi: Likewise.
31885         * doc/posix-functions/openat.texi: Likewise.
31886         * doc/posix-functions/pread.texi: Likewise.
31887         * doc/posix-functions/pwrite.texi: Likewise.
31888         * doc/posix-functions/scandir.texi: Likewise.
31889         * doc/posix-functions/stat.texi: Likewise.
31890         * doc/posix-functions/tmpfile.texi: Likewise.
31891         * doc/glibc-functions/mkostemp.texi: Likewise.
31892         * doc/glibc-functions/mkostemps.texi: Likewise.
31893         * doc/glibc-functions/mkstemps.texi: Likewise.
31895 2011-07-25  Bruno Haible  <bruno@clisp.org>
31897         fcntl: Move AC_LIBOBJ invocation to module description.
31898         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
31899         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
31901         fcntl: Remove call-in from fchdir.m4.
31902         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
31903         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
31905         dup3: Remove potential call-in from fchdir.m4.
31906         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
31907         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
31909         dup2: Move AC_LIBOBJ invocation to module description.
31910         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
31911         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
31912         Don't invoke AC_LIBOBJ.
31913         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
31915         dup2: Remove call-in from fchdir.m4.
31916         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
31917         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
31919         fclose: Move AC_LIBOBJ invocation to module description.
31920         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
31921         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
31922         to 1.
31923         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
31925         fclose: Remove call-in from close.m4.
31926         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
31927         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
31929         close: Move AC_LIBOBJ invocation to module description.
31930         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
31931         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
31932         1.
31933         * modules/close (configure.ac): Invoke AC_LIBOBJ.
31935         close: Remove call-in from fchdir.m4.
31936         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
31937         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
31939         open: Move AC_LIBOBJ invocation to module description.
31940         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
31941         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
31942         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
31944         open: Remove call-in from fchdir.m4.
31945         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
31946         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
31948         fchdir: Start to remove gl_REPLACE_* idiom.
31949         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
31950         (gl_FUNC_FCHDIR): Invoke it.
31952 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
31954         * lib/ftell.c (ftell): Comment out cast.
31956         close: use gl_REPLACE_FCLOSE only if defined
31957         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
31958         is defined.  The close module doesn't depend on the fclose module
31959         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
31960         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
31961         I reproduced the problem with "./gnulib-tool --test close sys_socket".
31963 2011-07-24  Jim Meyering  <meyering@redhat.com>
31965         test-select.h: avoid warning when using gcc's -Wmissing-declarations
31966         * tests/test-select.h (test_function): Declare as "static".
31968 2011-07-24  Bruno Haible  <bruno@clisp.org>
31970         doc: Mention the effects of AC_SYS_LARGEFILE.
31971         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
31972         on this function.
31973         * doc/posix-functions/aio_error.texi: Likewise.
31974         * doc/posix-functions/aio_fsync.texi: Likewise.
31975         * doc/posix-functions/aio_read.texi: Likewise.
31976         * doc/posix-functions/aio_return.texi: Likewise.
31977         * doc/posix-functions/aio_suspend.texi: Likewise.
31978         * doc/posix-functions/aio_write.texi: Likewise.
31979         * doc/posix-functions/fgetpos.texi: Likewise.
31980         * doc/posix-functions/fopen.texi: Likewise.
31981         * doc/posix-functions/freopen.texi: Likewise.
31982         * doc/posix-functions/fsetpos.texi: Likewise.
31983         * doc/posix-functions/fstatvfs.texi: Likewise.
31984         * doc/posix-functions/ftruncate.texi: Likewise.
31985         * doc/posix-functions/ftw.texi: Likewise.
31986         * doc/posix-functions/getrlimit.texi: Likewise.
31987         * doc/posix-functions/glob.texi: Likewise.
31988         * doc/posix-functions/lio_listio.texi: Likewise.
31989         * doc/posix-functions/lockf.texi: Likewise.
31990         * doc/posix-functions/mkstemp.texi: Likewise.
31991         * doc/posix-functions/mmap.texi: Likewise.
31992         * doc/posix-functions/nftw.texi: Likewise.
31993         * doc/posix-functions/openat.texi: Likewise.
31994         * doc/posix-functions/opendir.texi: Likewise.
31995         * doc/posix-functions/posix_fadvise.texi: Likewise.
31996         * doc/posix-functions/posix_fallocate.texi: Likewise.
31997         * doc/posix-functions/pread.texi: Likewise.
31998         * doc/posix-functions/pwrite.texi: Likewise.
31999         * doc/posix-functions/readdir.texi: Likewise.
32000         * doc/posix-functions/readdir_r.texi: Likewise.
32001         * doc/posix-functions/rewinddir.texi: Likewise.
32002         * doc/posix-functions/scandir.texi: Likewise.
32003         * doc/posix-functions/seekdir.texi: Likewise.
32004         * doc/posix-functions/setrlimit.texi: Likewise.
32005         * doc/posix-functions/statvfs.texi: Likewise.
32006         * doc/posix-functions/telldir.texi: Likewise.
32007         * doc/posix-functions/tmpfile.texi: Likewise.
32008         * doc/posix-functions/truncate.texi: Likewise.
32009         * doc/glibc-functions/fallocate.texi: Likewise.
32010         * doc/glibc-functions/fstatfs.texi: Likewise.
32011         * doc/glibc-functions/fts_children.texi: Likewise.
32012         * doc/glibc-functions/fts_read.texi: Likewise.
32013         * doc/glibc-functions/getdirentries.texi: Likewise.
32014         * doc/glibc-functions/mkostemp.texi: Likewise.
32015         * doc/glibc-functions/mkostemps.texi: Likewise.
32016         * doc/glibc-functions/mkstemps.texi: Likewise.
32017         * doc/glibc-functions/preadv.texi: Likewise.
32018         * doc/glibc-functions/pwritev.texi: Likewise.
32019         * doc/glibc-functions/sendfile.texi: Likewise.
32020         * doc/glibc-functions/statfs.texi: Likewise.
32022 2011-07-24  Bruno Haible  <bruno@clisp.org>
32024         doc: Fix typo.
32025         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
32027 2011-07-24  Bruno Haible  <bruno@clisp.org>
32029         doc: Mention fsusage.
32030         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
32032 2011-07-24  Bruno Haible  <bruno@clisp.org>
32034         doc: Mention new glibc headers and functions.
32035         * doc/glibc-headers/gshadow.texi: New file.
32036         * doc/glibc-functions/endsgent.texi: New file.
32037         * doc/glibc-functions/fgetsgent.texi: New file.
32038         * doc/glibc-functions/fgetsgent_r.texi: New file.
32039         * doc/glibc-functions/getsgent.texi: New file.
32040         * doc/glibc-functions/getsgent_r.texi: New file.
32041         * doc/glibc-functions/getsgnam.texi: New file.
32042         * doc/glibc-functions/getsgnam_r.texi: New file.
32043         * doc/glibc-functions/putsgent.texi: New file.
32044         * doc/glibc-functions/setsgent.texi: New file.
32045         * doc/glibc-functions/sgetsgent.texi: New file.
32046         * doc/glibc-functions/sgetsgent_r.texi: New file.
32047         * doc/glibc-functions/malloc_info.texi: New file.
32048         * doc/glibc-functions/preadv.texi: New file.
32049         * doc/glibc-functions/pwritev.texi: New file.
32050         * doc/glibc-functions/register_printf_modifier.texi: New file.
32051         * doc/glibc-functions/register_printf_specifier.texi: New file.
32052         * doc/glibc-functions/register_printf_type.texi: New file.
32053         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
32054         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
32055         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
32056         * doc/glibc-functions/pthread_getname_np.texi: New file.
32057         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
32058         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
32059         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
32060         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
32061         * doc/glibc-functions/pthread_setname_np.texi: New file.
32062         * doc/glibc-functions/pthread_sigqueue.texi: New file.
32063         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
32064         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
32065         * doc/glibc-functions/qsort_r.texi: New file.
32066         * doc/glibc-functions/quick_exit.texi: New file.
32067         * doc/glibc-functions/syncfs.texi: New file.
32068         * doc/gnulib.texi: Include them.
32069         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
32070         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
32071         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
32072         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
32073         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
32074         * doc/glibc-functions/execvpe.texi: Likewise.
32076 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
32078         ftell: don't include <unistd.h>
32079         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
32080         guaranteed to define off_t, and the ftell module depends on the
32081         stdio module.
32083         ftell: do not assume wraparound signed arithmetic
32084         * lib/ftell.c: Include <limits.h>.
32085         (ftell): Don't assume wraparound signed arithmetic.
32087 2011-07-24  Bruno Haible  <bruno@clisp.org>
32089         close: No longer depend on module 'fclose'.
32090         * modules/close (Depends-on): Remove fclose.
32091         * NEWS: Mention the change.
32092         Suggested by Sam Steingold <sds@gnu.org>.
32094 2011-07-24  Bruno Haible  <bruno@clisp.org>
32096         fsusage: Enable large volume support on AIX >= 5.2.
32097         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
32098         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
32099         instead of STAT_STATVFS.
32100         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
32102         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
32103         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
32104         f_blocks field only on MacOS X.
32106         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
32107         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
32108         * modules/fsusage (Depends-on): Add largefile.
32110 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
32112         * README: Modernize discussion of signed integers.
32113         Assuming overflow wraparound is no longer safe.
32114         Mention ones' complement and signed magnitude.
32116 2011-07-22  Bruno Haible  <bruno@clisp.org>
32118         select tests, pselect tests: Refactor.
32119         * tests/test-select.h: New file, extracted from tests/test-select.c.
32120         (select_fn): New type.
32121         (test, do_select, do_select_nowait, do_select_wait, test_tty,
32122         test_connect_first, test_accept_first, test_pair, test_socket_pair,
32123         test_pipe): Add my_select argument.
32124         (test_function): Renamed from main. Add my_select argument.
32125         * tests/test-select.c: Move most code to tests/test-select.h. Include
32126         test-select.h.
32127         * modules/select-tests (Files): Add tests/test-select.h.
32128         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
32129         (my_select, main): New functions.
32130         * modules/pselect-tests (Files): Add tests/test-select.h,
32131         tests/macros.h, tests/signature.h.
32132         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
32133         (configure.ac): Check for <sys/wait.h>.
32135 2011-07-22  Bruno Haible  <bruno@clisp.org>
32137         sys_select tests: Check the signature of FD_*.
32138         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
32139         signature tests from here...
32140         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
32141         here.
32142         * modules/sys_select-tests (Files): Add tests/signature.h.
32144 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
32146         largefile: new module, replacing large-inode
32147         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
32148         * MODULES.html.sh: Add largefile, remove large-inode.
32149         * modules/largefile, m4/largefile.m4: New files.
32150         * modules/large-inode, m4/large-inode.m4: Remove.
32152         fsusage: port to MacOS X 10.7 with 4 TiB file systems
32153         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
32154         implementations that use only 32 bits to count blocks.
32155         On typical hosts with 1024-byte blocks, this fails with file
32156         systems as small as 4 TiB.  Problem reported by Herb Wartens
32157         <http://debbugs.gnu.org/9140> and this should also fix a similar
32158         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
32160         large-inode: New module
32161         * MODULES.html.sh: Add it.
32162         * modules/large-inode, m4/large-inode.m4: New files.
32164         extensions: Enable extensions on MacOS X 10.5 and later.
32165         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
32167 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
32169         file-has-acl: use acl_extended_file_nofollow if available
32170         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
32171         (acl_extended_file): New macro.
32172         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
32173         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
32175 2011-07-21  Bruno Haible  <bruno@clisp.org>
32177         Declare system functions in a way that works with C++.
32178         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
32179         declare fdopendir as extern "C".
32180         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
32181         declare frexpl as extern "C".
32182         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
32183         declare gai_strerror as extern "C".
32184         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
32185         programs, declare gai_strerror as extern "C".
32186         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
32187         declare getlogin_r as extern "C".
32188         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
32189         as extern "C".
32190         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
32191         declare ldexpl as extern "C".
32192         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
32193         as extern "C".
32194         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
32195         program, declare getmntinfo as extern "C".
32196         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
32197         stpncpy as extern "C".
32198         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
32199         program, declare __xpg_strerror_r as extern "C".
32200         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
32201         strndup as extern "C".
32202         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
32203         declare memset and bzero as extern "C".
32204         Reported by Sam Steingold <sds@gnu.org>.
32206 2011-07-12  Jim Meyering  <meyering@redhat.com>
32208         maint.mk: prohibit inclusion of "verify.h" without use
32209         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
32211 2011-07-19  Pádraig Brady  <P@draigBrady.com>
32213         timer-time: A new module to check for timer_settime()
32214         * m4/timer_time.m4: Check for the posix function.
32215         * modules/timer-time: Add the new module.
32216         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
32217         Mention it.
32219 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
32220             Bruno Haible  <bruno@clisp.org>
32222         pthread_sigmask: assume POSIX threads if --avoid=threadlib
32223         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
32224         not defined, assume POSIX threads and look for pthread_sigmask in
32225         $LIBS, without changing $CPPFLAGS.
32227 2011-07-19  Bruno Haible  <bruno@clisp.org>
32229         strstr: Update cross-compilation guess.
32230         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
32231         CPUs, guess no, in view of glibc
32232         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
32233         Suggested by Eric Blake. Reported by Reuben Thomas.
32235 2011-07-19  Pádraig Brady  <P@draigBrady.com>
32237         getopt-gnu: suppress core dumps from detection code
32238         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
32239         to suppress core dumps that may well occur on glibc systems.
32240         * modules/getopt-gnu: Depend on nocrash.
32242 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
32244         pthread_sigmask: ensure usleep is declared
32245         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
32246         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
32248 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
32250         doc: Document NonStop portability issues.
32251         * doc/posix-functions/sigaction.texi (sigaction):
32252         * doc/posix-headers/signal.texi (signal.h):
32253         Document NonStop.  See Joachim Schmitz in
32254         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
32256 2011-07-15  Bruno Haible  <bruno@clisp.org>
32258         ffsl, ffsll: Avoid unportable behaviour.
32259         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
32261 2011-07-15  Bruno Haible  <bruno@clisp.org>
32263         ffs: More tests.
32264         * tests/test-ffs.c (NBITS): New macro.
32265         (main): Add more tests.
32266         * tests/test-ffsl.c (NBITS): New macro.
32267         (main): Add more tests.
32268         * tests/test-ffsll.c (NBITS): New macro.
32269         (main): Add more tests.
32271 2011-07-15  Eric Blake  <eblake@redhat.com>
32273         ffsl, ffsll: new modules
32274         * modules/ffsl: New file.
32275         * modules/ffsll: Likewise.
32276         * m4/ffsl.m4: Likewise.
32277         * m4/ffsll.m4: Likewise.
32278         * lib/ffsl.c: Likewise.
32279         * lib/ffsl.h: Likewise.
32280         * lib/ffsll.c: Likewise.
32281         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
32282         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
32283         * modules/string (Makefile.am): Substitute witnesses.
32284         * lib/strings.in.h (ffsl, ffsll): Declare.
32285         * modules/ffsl-tests: New test file.
32286         * modules/ffsll-tests: Likewise.
32287         * tests/test-ffsl.c: Likewise.
32288         * tests/test-ffsll.c: Likewise.
32289         * MODULES.html.sh (Integer arithmetic functions): Mention it.
32290         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
32291         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
32293         ffs: fix m4 prerequisite
32294         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
32296         ffs: avoid undefined behavior
32297         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
32298         * tests/test-ffs.c (naive, main): Avoid signed shifts.
32299         Reported by Bruno Haible.
32301 2011-07-12  Bruno Haible  <bruno@clisp.org>
32303         pthread_sigmask: Rely on module 'threadlib'.
32304         * modules/pthread_sigmask (Depends-on): Add threadlib.
32305         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
32306         is defined.
32308 2011-07-12  Bruno Haible  <bruno@clisp.org>
32310         regex: Depend on module 'strcase'.
32311         * modules/regex (Depends-on): Add strcase, for strcasecmp().
32313 2011-07-12  Jim Meyering  <meyering@redhat.com>
32315         warn-on-use: fix typo in file name
32316         * modules/snippet/warn-on-use (Files): Correct file name:
32317         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
32319 2011-07-12  Bruno Haible  <bruno@clisp.org>
32321         strings: Document module.
32322         * doc/posix-headers/strings.texi: Mention module 'strings'.
32324 2011-07-12  Bruno Haible  <bruno@clisp.org>
32326         Rename module '_Noreturn' to 'snippet/_Noreturn'.
32327         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
32328         (Files, Makefile.am): Update.
32329         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
32330         * modules/stdlib (Depends-on): Update.
32332 2011-07-12  Bruno Haible  <bruno@clisp.org>
32334         * NEWS: Mention the changes.
32336         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
32337         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
32338         (Files, Makefile.am): Update.
32339         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
32340         * modules/arpa_inet (Depends-on): Update.
32341         * modules/ctype (Depends-on): Update.
32342         * modules/dirent (Depends-on): Update.
32343         * modules/fcntl-h (Depends-on): Update.
32344         * modules/glob (Depends-on): Update.
32345         * modules/iconv-h (Depends-on): Update.
32346         * modules/inttypes-incomplete (Depends-on): Update.
32347         * modules/langinfo (Depends-on): Update.
32348         * modules/locale (Depends-on): Update.
32349         * modules/math (Depends-on): Update.
32350         * modules/netdb (Depends-on): Update.
32351         * modules/poll-h (Depends-on): Update.
32352         * modules/pty (Depends-on): Update.
32353         * modules/search (Depends-on): Update.
32354         * modules/signal (Depends-on): Update.
32355         * modules/spawn (Depends-on): Update.
32356         * modules/stdio (Depends-on): Update.
32357         * modules/stdlib (Depends-on): Update.
32358         * modules/string (Depends-on): Update.
32359         * modules/strings (Depends-on): Update.
32360         * modules/sys_file (Depends-on): Update.
32361         * modules/sys_ioctl (Depends-on): Update.
32362         * modules/sys_select (Depends-on): Update.
32363         * modules/sys_socket (Depends-on): Update.
32364         * modules/sys_stat (Depends-on): Update.
32365         * modules/sys_time (Depends-on): Update.
32366         * modules/sys_times (Depends-on): Update.
32367         * modules/sys_utsname (Depends-on): Update.
32368         * modules/sys_wait (Depends-on): Update.
32369         * modules/termios (Depends-on): Update.
32370         * modules/time (Depends-on): Update.
32371         * modules/unistd (Depends-on): Update.
32372         * modules/wchar (Depends-on): Update.
32373         * modules/wctype-h (Depends-on): Update.
32374         * MODULES.html.sh (Support for building libraries and executables):
32375         Update.
32377         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
32378         * modules/snippet/unused-parameter: Renamed from
32379         modules/unused-parameter.
32380         (Files, Makefile.am): Update.
32381         * build-aux/snippet/unused-parameter.h: Renamed from
32382         build-aux/unused-parameter.h.
32383         * modules/selinux-h (Depends-on): Update.
32384         * modules/unistr/base (Depends-on): Update.
32385         * MODULES.html.sh (Core language properties): Update.
32387         Rename module 'link-warning' to 'snippet/link-warning'.
32388         * modules/snippet/link-warning: Renamed from modules/link-warning.
32389         (Files, Makefile.am): Update.
32390         * build-aux/snippet/link-warning.h: Renamed from
32391         build-aux/link-warning.h.
32392         * MODULES.html.sh (Support for building libraries and executables):
32393         Update.
32395         Rename module 'c++defs' to 'snippet/c++defs'.
32396         * modules/snippet/c++defs: Renamed from modules/c++defs.
32397         (Files, Makefile.am): Update.
32398         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
32399         * modules/arpa_inet (Depends-on): Update.
32400         * modules/ctype (Depends-on): Update.
32401         * modules/dirent (Depends-on): Update.
32402         * modules/fcntl-h (Depends-on): Update.
32403         * modules/glob (Depends-on): Update.
32404         * modules/iconv-h (Depends-on): Update.
32405         * modules/langinfo (Depends-on): Update.
32406         * modules/locale (Depends-on): Update.
32407         * modules/math (Depends-on): Update.
32408         * modules/netdb (Depends-on): Update.
32409         * modules/poll-h (Depends-on): Update.
32410         * modules/pty (Depends-on): Update.
32411         * modules/search (Depends-on): Update.
32412         * modules/signal (Depends-on): Update.
32413         * modules/spawn (Depends-on): Update.
32414         * modules/stdio (Depends-on): Update.
32415         * modules/stdlib (Depends-on): Update.
32416         * modules/string (Depends-on): Update.
32417         * modules/strings (Depends-on): Update.
32418         * modules/sys_ioctl (Depends-on): Update.
32419         * modules/sys_select (Depends-on): Update.
32420         * modules/sys_socket (Depends-on): Update.
32421         * modules/sys_stat (Depends-on): Update.
32422         * modules/sys_time (Depends-on): Update.
32423         * modules/sys_wait (Depends-on): Update.
32424         * modules/termios (Depends-on): Update.
32425         * modules/time (Depends-on): Update.
32426         * modules/unistd (Depends-on): Update.
32427         * modules/wchar (Depends-on): Update.
32428         * modules/wctype-h (Depends-on): Update.
32430         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
32431         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
32432         (Files, Makefile.am): Update.
32433         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
32434         * modules/argv-iter (Depends-on): Update.
32435         * modules/arpa_inet (Depends-on): Update.
32436         * modules/dirent (Depends-on): Update.
32437         * modules/fcntl-h (Depends-on): Update.
32438         * modules/fnmatch (Depends-on): Update.
32439         * modules/getopt-posix (Depends-on): Update.
32440         * modules/glob (Depends-on): Update.
32441         * modules/iconv-h (Depends-on): Update.
32442         * modules/inttypes-incomplete (Depends-on): Update.
32443         * modules/locale (Depends-on): Update.
32444         * modules/math (Depends-on): Update.
32445         * modules/netdb (Depends-on): Update.
32446         * modules/search (Depends-on): Update.
32447         * modules/signal (Depends-on): Update.
32448         * modules/spawn (Depends-on): Update.
32449         * modules/stdio (Depends-on): Update.
32450         * modules/stdlib (Depends-on): Update.
32451         * modules/string (Depends-on): Update.
32452         * modules/strings (Depends-on): Update.
32453         * modules/sys_socket (Depends-on): Update.
32454         * modules/sys_stat (Depends-on): Update.
32455         * modules/sys_time (Depends-on): Update.
32456         * modules/sys_times (Depends-on): Update.
32457         * modules/sys_utsname (Depends-on): Update.
32458         * modules/time (Depends-on): Update.
32459         * modules/unistd (Depends-on): Update.
32460         * modules/wchar (Depends-on): Update.
32461         * MODULES.html.sh (Support for building libraries and executables):
32462         Update.
32464 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
32466         Improvements on _Noreturn and related modules.
32468         modules/_Exit-tests: test _Noreturn too
32469         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
32470         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
32471         (main): Use them.
32473         stdnoreturn, stdnoreturn-tests: remove modules
32474         They're not needed here and a bit premature for use elsewhere.  See
32475         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
32476         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
32477         * tests/test-stdnoreturn.c: Remove files.
32478         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
32479         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
32480         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
32481         and using noreturn.
32482         * modules/openat, modules/sigpipe-die, modules/xalloc:
32483         * modules/xmemdup0, modules/xstrtol:
32484         Remove dependency on stdnoreturn.
32486         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
32487         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
32488         Reparenthesize to avoid GCC warning.
32489         Support Microsoft's syntax.
32490         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
32492         _Noreturn-tests: remove module
32493         * modules/_Noreturn-tests: Remove.
32494         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
32495         * tests/test-_Noreturn.c: Remove.
32496         * tests/test-stdnoreturn.c: Merge from the old
32497         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
32499 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
32501         _Noreturn, stdnoreturn, and related modules.
32503         * top/maint.mk: Adjust to new noreturn support.
32504         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
32505         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
32507         xalloc: use stdnoreturn.h
32508         * lib/xalloc.h: Include <stdnoreturn.h>.
32509         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
32510         * modules/xalloc (Depends-on): Add stdnoreturn.
32512         xstrtol: use stdnoreturn.h
32513         * lib/xstrtol.h: Include <stdnoreturn.h>.
32514         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
32515         * modules/xstrtol (Depends-on): Add stdnoreturn.
32517         xmemdup0: use stdnoreturn.h
32518         * lib/xmemdup0.h: Include <stdnoreturn.h>.
32519         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
32520         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
32522         sigpipe-die: use stdnoreturn.h
32523         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
32524         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
32525         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
32527         openat: use stdnoreturn.h
32528         * lib/openat.h: Include <stdnoreturn.h>.
32529         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
32530         * modules/openat (Depends-on): Add stdnoreturn.
32532         * lib/openat-die.c (openat_save_fail): Modernize comment.
32534         * lib/xalloc-die.c (xalloc_die): Modernize comment.
32536         * lib/glthread/thread.h: Modernize comment.
32538         obstack: use _Noreturn
32539         * lib/obstack.c (__attribute__): Remove macro.
32540         (print_and_abort): Use _Noreturn.
32542         c-stack: use _Noreturn
32543         * lib/c-stack.c (die, overflow_handler, segv_handler):
32544         Use _Noreturn rather than __attribute__((noreturn)).
32546         argmatch-tests, exclude_tests: use _Noreturn
32547         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
32548         Remove.
32549         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
32551         stdlib: use _Noreturn
32552         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
32553         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
32554         * modules/stdlib (Depends-on): Add _Noreturn.
32555         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
32557         stdnoreturn-tests: new module
32558         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
32560         stdnoreturn: new module
32561         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
32562         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
32564         _Noreturn-tests: new module
32565         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
32567         _Noreturn: new module
32568         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
32569         New section, mentioning it.
32570         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
32572         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
32574 2011-07-11  Eric Blake  <eblake@redhat.com>
32576         ffs: new module
32577         * modules/ffs: New file.
32578         * m4/ffs.m4: Likewise.
32579         * lib/ffs.c: Likewise.
32580         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
32581         * modules/strings (Makefile.am): Substitute witness.
32582         (Depends-on): Add c++defs.
32583         * lib/strings.in.h (ffs): Declare.
32584         * modules/ffs-tests: New test file.
32585         * tests/test-ffs.c: Test new module.
32586         * MODULES.html.sh (Integer arithmetic functions): Mention it.
32587         * doc/posix-functions/ffs.texi (ffs): Likewise.
32589         regex: avoid compiler warning
32590         * lib/regex.c (includes): Include <strings.h>, for use of
32591         strcasecmp in regcomp.c.
32592         Reported by Joachim Schmitz.
32594 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
32596         stdint: respect system's intmax_t if INTMAX_MAX
32597         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
32598         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
32599         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
32600         long but int64_t is long long, and where we will clash with the
32601         system intmax_t if we override it.  See
32602         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
32603         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
32604         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
32605         similarly for UINTMAX_C.
32607 2011-07-08  Bruno Haible  <bruno@clisp.org>
32609         pthread_sigmask tests: Avoid a compiler warning.
32610         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
32611         non-zero.
32613         sigprocmask tests: A better way to avoid a compiler warning.
32614         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
32615         (main): Complain if system() returns non-zero.
32616         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
32618 2011-07-08  Bruno Haible  <bruno@clisp.org>
32620         pthread_sigmask: Work around IRIX bug.
32621         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
32622         bug.
32623         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
32624         there may be unblocked pending signals.
32625         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
32627 2011-07-08  Bruno Haible  <bruno@clisp.org>
32629         pthread_sigmask: Work around Cygwin bug.
32630         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
32631         bug.
32632         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
32633         the system's pthread_sigmask function.
32634         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
32636 2011-07-08  Bruno Haible  <bruno@clisp.org>
32638         pthread_sigmask: Work around bug in single-threaded implementation.
32639         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
32640         FreeBSD, HP-UX, Solaris bug.
32641         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
32642         * lib/pthread_sigmask.c: Include <stddef.h>.
32643         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
32644         the system's pthread_sigmask function.
32645         * modules/pthread_sigmask (configure.ac): Invoke
32646         gl_PREREQ_PTHREAD_SIGMASK.
32647         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
32648         HP-UX, Solaris.
32650 2011-07-08  Eric Blake  <eblake@redhat.com>
32652         test-sigprocmask: avoid compiler warning
32653         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
32654         * tests/test-sigprocmask.c (main): Use it to silence warning.
32655         Reported by Jim Meyering.
32657         test-snprintf: avoid compiler warning
32658         * tests/test-snprintf.c (main): Avoid shadowed declaration.
32659         * tests/test-vsnprintf.c (main): Likewise.
32660         Reported by Jim Meyering.
32662 2011-07-08  Bruno Haible  <bruno@clisp.org>
32664         Tests for module 'pthread_sigmask'.
32665         * modules/pthread_sigmask-tests: New file.
32666         * tests/test-pthread_sigmask1.c: New file, based on
32667         tests/test-sigprocmask.c.
32668         * tests/test-pthread_sigmask2.c: New file.
32670 2011-07-08  Jim Meyering  <meyering@redhat.com>
32672         test-getopt.h: avoid warning about an unused variable
32673         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
32675 2011-07-07  Jim Meyering  <meyering@redhat.com>
32677         maint: reduce list of files exempt from sc_prohibit_leading_TABs
32678         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
32679         now that it no longer contains leading TABs.
32680         Remove unused "url=FIXME" statement.
32682 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
32684         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
32685         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
32686         When gl_THREADLIB is not in use, assume that the POSIX sematics
32687         are desired.  This is better for Emacs, which uses POSIX semantics
32688         on GNUish and/or POSIXish platforms, and does not use threads at
32689         all otherwise.
32691         pthread_sigmask: fix typo when testing for libraries
32692         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
32693         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
32695 2011-07-08  Eric Blake  <eblake@redhat.com>
32697         fts: introduce FTS_NOATIME
32698         * lib/fts_.h (FTS_NOATIME): New bit flag.
32699         (FTS_OPTIONMASK): Adjust.
32700         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
32701         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
32703 2011-07-08  Bruno Haible  <bruno@clisp.org>
32705         Tests for module 'thread'.
32706         * modules/thread-tests: New file.
32707         * tests/test-thread_self.c: New file.
32708         * tests/test-thread_create.cc: New file.
32710 2011-07-08  Bruno Haible  <bruno@clisp.org>
32712         thread: Avoid gcc warnings when using gl_thread_self().
32713         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
32714         'void *'.
32715         (gl_thread_self_pointer): Update.
32717 2011-07-07  Bruno Haible  <bruno@clisp.org>
32719         signal-c++-tests: Check declaration of pthread_sigmask.
32720         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
32721         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
32722         $(LIB_PTHREAD_SIGMASK).
32724 2011-07-07  Bruno Haible  <bruno@clisp.org>
32726         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
32727         * lib/signal.in.h (pthread_sigmask): Override if
32728         REPLACE_PTHREAD_SIGMASK is 1.
32729         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
32730         REPLACE_PTHREAD_SIGMASK.
32731         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
32732         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
32733         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
32734         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
32735         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
32737 2011-07-07  Bruno Haible  <bruno@clisp.org>
32739         pthread_sigmask: Ensure declaration in <signal.h>.
32740         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
32741         include <pthread.h>.
32742         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
32743         problem.
32745 2011-07-07  Bruno Haible  <bruno@clisp.org>
32747         pthread_sigmask: Document the module.
32748         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
32750 2011-07-07  Bruno Haible  <bruno@clisp.org>
32752         pthread_sigmask: Follow gnulib conventions.
32753         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
32754         gl_PTHREAD_SIGMASK.
32755         * modules/pthread_sigmask (configure.ac): Update.
32757 2011-07-07  Bruno Haible  <bruno@clisp.org>
32759         pthread_sigmask: Make declaration C++ safe.
32760         * lib/signal.in.h: In two special conditions, just do an #include_next.
32761         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
32762         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
32763         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
32764         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
32765         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
32766         not REPLACE_PTHREAD_MASK.
32767         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
32768         not REPLACE_PTHREAD_MASK.
32769         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
32771 2011-07-07  Bruno Haible  <bruno@clisp.org>
32773         pthread_sigmask: Fix return value.
32774         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
32775         * lib/pthread_sigmask.c: New file.
32776         * modules/pthread_sigmask (Files): Add it.
32777         (configure.ac): Invoke AC_LIBOBJ.
32779 2011-07-07  Eric Blake  <eblake@redhat.com>
32781         getopt: more portable argv creation
32782         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
32783         const, use char arrays rather than strings.
32784         Suggested by Paul Eggert.
32786 2011-07-07  Bruno Haible  <bruno@clisp.org>
32788         Tests for module 'sigprocmask'.
32789         * modules/sigprocmask-tests: New file.
32790         * tests/test-sigprocmask.c: New file.
32792 2011-07-07  Bruno Haible  <bruno@clisp.org>
32794         float tests: Tweak.
32795         * tests/test-float.c (main): Tweak skip message.
32797 2011-07-07  Eric Blake  <eblake@redhat.com>
32799         getopt: avoid compiler warning during configure
32800         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
32801         assigning string literals to non-const pointer.
32803         getopt-gnu: avoid crash in glibc getopt
32804         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
32805         * tests/test-getopt.h (test_getopt): Enhance test.
32806         * tests/test-getopt_long.h (test_getopt_long): Likewise.
32807         * doc/posix-functions/getopt.texi (getopt): Document it.
32808         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
32809         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32810         Likewise.
32812 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
32814         getopt: handle W; without long options in getopt [BZ #12922]
32815         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
32816         but no long options are defined, just return 'W'.
32818 2011-07-07  Bruno Haible  <bruno@clisp.org>
32820         Avoid literal tabs.
32821         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
32822         variable containing a tab instead of a literal tab.
32823         Reported by Jim Meyering.
32825 2011-07-07  Bruno Haible  <bruno@clisp.org>
32827         Comments.
32828         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
32830 2011-07-06  Bruno Haible  <bruno@clisp.org>
32832         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
32833         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
32834         <winsock2.h>.
32835         (rpl_fd_isset, FD_ISSET): New definitions, copied from
32836         lib/sys_socket.in.h.
32837         (close, gethostname): Hide declarations from <winsock2.h>.
32838         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
32839         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
32840         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
32841         (select): Don't override if gnulib's <sys/select.h> was already
32842         included.
32843         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
32844         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
32845         setsockopt, shutdown, select): Tweak indentation.
32847 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
32849         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
32850         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
32851         in an application that does not use the sys_select module.
32853 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
32855         poll: do not return 0 on timeout=-1
32856         * lib/poll.c: Loop with yield if no events occurred.
32858 2011-07-06  Eric Blake  <eblake@redhat.com>
32860         pthread_sigmask: always replace when not using pthread
32861         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
32862         replacement when using some threading other than pthread.  Fix
32863         logic bug.
32865 2011-07-06  Bruno Haible  <bruno@clisp.org>
32867         Comments.
32868         * m4/printf.m4: Update comments about mingw.
32870 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
32872         sys_select: define sigset_t more portably
32873         * lib/sys_select.in.h: Always include <sys/types.h>, since
32874         we now need sigset_t and mingw defines it there.
32875         Include <signal.h> before split inclusion guard, to avoid
32876         mishaps on Solaris, whose <signal.h> eventually includes us.
32877         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
32878         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
32879         which come from ...
32880         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
32881         gl_CHECK_TYPE_SIGSET_T.
32882         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
32883         does the real work.
32884         * modules/sys_select (Depends-on): Add 'signal'.
32886         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
32887         Suggested by Bruno Haible.
32889         pselect: Use pthread_sigmask, not sigprocmask.
32890         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
32891         multithreaded apps better than sigprocmask does.
32892         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
32893         sigprocmask directly.
32895 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
32897         * lib/pselect.c (pselect): Use plain name, without "rpl_".
32898         Don't #undef,  since we don't need any underlying pselect.
32899         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
32900         (Depends-on): Add select.
32901         (Link): Add $(LIBSOCKET).
32902         These changes suggested by Bruno Haible.
32904         pselect: document better
32905         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
32906         * doc/posix-functions/pselect.texi (pselect): Document new module.
32908         pthread_sigmask: new module
32909         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
32910         * doc/posix-functions/pthread_sigmask.texi: Document new module.
32911         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
32912         This is done only as a macro; I don't know how well that'll
32913         work for C++.  Move <sys/types.h> include before the include_next,
32914         to avoid mishap on Solaris.
32915         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
32916         * modules/signal (Makefile.am): Substitute the check's results.
32917         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
32919         test-pselect: new module
32920         * modules/pselect-tests, tests/test-pselect.c: New files.
32921         * tests/test-select.c, tests/test-sys_select-c++.cc:
32922         If TEST_PSELECT is defined, test pselect instead of testing select.
32924         * tests/test-sys_select.c (sigset_t): Test for it, too.
32925         Suggested by Bruno Haible.
32927 2011-07-05  Eric Blake  <eblake@redhat.com>
32929         snprintf: guarantee %1$d, for libintl
32930         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
32931         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
32932         * doc/posix-functions/snprintf.texi (snprintf): Update.
32933         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
32934         * tests/test-snprintf.c (main): Enhance test.
32935         * tests/test-vsnprintf.c (main): Likewise.
32937 2011-07-05  Jim Meyering  <meyering@redhat.com>
32939         maint: exempt stdio-read.c and stdio-write.c from the cppi check
32940         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
32941         per Bruno's request, to accommodate this idiom (no space after "#")
32942         even when the function is inside an #if block:
32943         char *
32944         gets (char *s)
32945         #undef gets
32946         {
32947           ...
32948         }
32950 2011-07-04  Jim Meyering  <meyering@redhat.com>
32952         maint: indent with spaces, not TABs, and add a rule to check this
32953         * tests/test-userspec.c: Indent with spaces, not TABs.
32954         * tests/test-argp.c: Likewise.
32955         * tests/test-c-stack2.sh: Likewise.
32956         * tests/test-parse-duration.sh: Likewise
32957         * m4/strtod.m4: Likewise.
32958         * m4/alloca.m4: Likewise.
32959         * m4/pselect.m4: Likewise.
32960         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
32962 2011-07-03  Jim Meyering  <meyering@redhat.com>
32964         maint.mk: correct omissions in prohibit_argmatch_without_use check
32965         This rule would mistakenly report that argmatch.h is included without
32966         use even when both the argmatch and invalid_arg macro were used.
32967         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
32968         of argmatch and invalid_arg.
32970 2011-07-03  Bruno Haible  <bruno@clisp.org>
32972         Comments about EINTR.
32973         * lib/safe-read.h: Explain the purpose of this module.
32974         * lib/safe-write.h: Likewise.
32975         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
32976         module.
32977         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
32978         module.
32979         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32981 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
32983         xnanosleep: Rewrite to use new dtotimespec module.
32984         It has the conversion code that used to be in xnanosleep.
32985         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
32986         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
32987         (TIME_T_MAX): Remove.
32988         (xnanosleep): Rewrite in terms of dtotimespec.
32989         * modules/xnanosleep (Depends-on): Add dtotimespec.
32990         Remove intprops, stdbool.
32992         timespec-add, timespec-sub: new modules
32993         * lib/timespec.h (timespec_add, timespec_sub): New decls.
32994         * lib/timespec-add.c, lib/timespec-sub.c:
32995         * modules/timespec-add, modules/timespec-sub: New files.
32997         dtotimespec: new module
32998         * lib/timespec.h (dtotimespec): New decl.
32999         * lib/dtotimespec.c, modules/dtotimespec: New files.
33001         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
33003         pselect: new module
33004         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
33005         (pselect): New decls.
33006         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
33007         since the standard pselect decl uses 'restrict'.
33008         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
33009         HAVE_PSELECT, REPLACE_PSELECT.
33010         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
33011         HAVE_PSELECT, REPLACE_PSELECT.
33012         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
33014         sys_select: don't depend on sys_socket
33015         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
33016         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
33017         This fix works on GNU and GNU-like platforms, but has not been tested
33018         on native Windows.
33019         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
33020         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
33021         gl_HEADER_SYS_SOCKET.
33022         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
33023         gl_PREREQ_SYS_H_WINSOCK2.
33025 2011-06-29  Eric Blake  <eblake@redhat.com>
33027         pipe2: fix C89 compile problem
33028         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
33029         Reported by Bruno Haible.
33031         pipe, pipe2: don't corrupt fd on error
33032         * lib/pipe.c (pipe): Leave fd unchanged on error.
33033         * lib/pipe2.c (pipe2): Likewise.
33034         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
33035         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33037 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
33039         mmap-anon: do not use regular expressions inadvertently
33040         * m4/mmap-anon.m4: Remove trailing period from strings sought
33041         in the output.
33043 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
33045         nanosleep: fix integer overflow problem
33046         * lib/nanosleep.c (my_usleep): Don't assume signed integer
33047         arithmetic wraps around on overflow.
33049         nanosleep: simplify carrying
33050         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
33051         first call to the underyling nanosleep, not for the last one.
33052         This doesn't fix any bugs, but it simplifies the computation of
33053         the remaining delay.  Found while auditing integer overflow issues.
33055         dup2: remove test for existence of fcntl
33056         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
33057         "#if HAVE_FCNTL", in the configure-time test program.
33058         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
33059         and therefore speeds up "configure" a bit.  Found while
33060         adding the dup2 module to Emacs.
33062 2011-06-24  Eric Blake  <eblake@redhat.com>
33064         maint.mk: enhance useless header checks
33065         * top/maint.mk (_sc_header_without_use): Check both include
33066         styles.
33067         (sc_prohibit_assert_without_use)
33068         (sc_prohibit_close_stream_without_use)
33069         (sc_prohibit_getopt_without_use)
33070         (sc_prohibit_quotearg_without_use)
33071         (sc_prohibit_quote_without_use)
33072         (sc_prohibit_long_options_without_use)
33073         (sc_prohibit_inttostr_without_use)
33074         (sc_prohibit_ignore_value_without_use)
33075         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
33076         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
33077         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
33078         (sc_prohibit_hash_pjw_without_use)
33079         (sc_prohibit_safe_read_without_use)
33080         (sc_prohibit_argmatch_without_use)
33081         (sc_prohibit_canonicalize_without_use)
33082         (sc_prohibit_root_dev_ino_without_use)
33083         (sc_prohibit_openat_without_use)
33084         (sc_prohibit_c_ctype_without_use)
33085         (sc_prohibit_signal_without_use)
33086         (sc_prohibit_stdio--_without_use)
33087         (sc_prohibit_stdio-safer_without_use)
33088         (sc_prohibit_strings_without_use)
33089         (sc_prohibit_intprops_without_use)
33090         (sc_prohibit_stddef_without_use)
33091         (sc_prohibit_xfreopen_without_use): Update clients.
33093 2011-06-24  Jim Meyering  <meyering@redhat.com>
33095         syntax-check: keep one maint.mk rule in sync with its header
33096         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
33097         of the bug Eric has just fixed, with today's commit 25e4c2ec.
33098         I prefer to avoid temporary files here, so use <(...), but that
33099         is not supported by /bin/sh, so...
33100         (SHELL): Define to /bin/bash.
33102 2011-06-24  Eric Blake  <eblake@redhat.com>
33104         maint.mk: update sc_prohibit_intprops_without_use
33105         * top/maint.mk (_intprops_names): Match recent changes.
33107 2011-06-24  Bruno Haible  <bruno@clisp.org>
33109         strerror-override: No-op tweak.
33110         * lib/strerror-override.h (strerror_override): Reorder conditions,
33111         for consistency with lib/strerror-override.c.
33113 2011-06-23  Eric Blake  <eblake@redhat.com>
33115         maint.mk: test further PATH_MAX issues
33116         * top/maint.mk (sc_prohibit_path_max_array): Rename...
33117         (sc_prohibit_path_max_allocation): ...and also test alloca.
33118         Suggested by Jim Meyering.
33120 2011-06-22  Eric Blake  <eblake@redhat.com>
33122         maint.mk: add syntax-check to avoid char[PATH_MAX]
33123         * top/maint.mk (sc_prohibit_path_max_array): New rule.
33125         stat: be robust to PATH_MAX definition
33126         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
33127         * modules/stat (Depends-on): Add verify.
33129         link: work around IRIX bug
33130         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
33131         * lib/link.c (rpl_link): Work around it.
33132         * tests/test-link.h (test_link): Enhance test.
33133         * doc/posix-functions/link.texi (link): Document the bug.
33135         getopt: silence clang warning
33136         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
33137         dereference.
33138         Reported by Gustavo Martin Domato.
33140 2011-06-22  Jim Meyering  <meyering@redhat.com>
33142         bootstrap: do not insert a blank line into each .gitignore file
33143         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
33145 2011-06-21  Eric Blake  <eblake@redhat.com>
33147         perror: test for output mismatch
33148         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
33149         perror on IRIX.
33151         strerror_r: fix OpenBSD behavior on out-of-range
33152         * lib/strerror_r.c (strerror_r): Always use maximal string.
33153         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
33155         strerror_r: fix OpenBSD behavior on 0
33156         * lib/strerror-override.c (strerror_override): Also override 0
33157         when needed.
33158         * lib/strerror-override.h (strerror_override): Likewise.
33159         * lib/strerror.c (strerror): Simplify, now that 0 override is done
33160         earlier.
33161         * lib/strerror_r.c (strerror_r): Likewise.
33162         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
33163         behavior...
33164         (gl_FUNC_STRERROR_0): ...into new macro.
33165         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
33166         is overridden.
33167         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
33168         * modules/strerror-override (Files): Add strerror.m4.
33169         (configure.ac): Also provide override for 0 when needed.
33170         * doc/posix-functions/strerror.texi (strerror): Document this.
33171         * doc/posix-functions/perror.texi (perror): Likewise.
33173         perror: adjust array size
33174         * modules/perror (Depends-on): Add strerror-override.
33175         * lib/perror.c (perror): Use it to avoid magic number.
33177         strerror-override: reduce size
33178         * lib/strerror-override.c (strerror_override): Use fewer lines.
33180 2011-06-20  Bruno Haible  <bruno@clisp.org>
33182         pathmax: Ensure correct value for PATH_MAX on HP-UX.
33183         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
33185 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
33187         alloca: port to compilers that can optimize like GCC 4.6.0
33188         * lib/alloca.c (find_stack_direction): New signature, taken from
33189         Autoconf git.  This works with GCC 4.6.0.  This code should never
33190         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
33191         be used with other compilers that optimize as well as GCC 4.6.0 does.
33192         (alloca): Adjust to new signature.
33193         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
33194         New macro, which patches Autoconf in a similar way.
33196         c-stack: stop worrying about stack direction
33197         * lib/c-stack.c (find_stack_direction): Remove.
33198         (segv_handler): Don't worry about stack direction growth, as it's
33199         too much of a pain to configure this correctly, given how compilers
33200         are optimizing-away our stack-growth detection code.  Instead, assume
33201         that any access to just before or just after the stack is OK.
33202         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
33203         Don't require AC_FUNC_ALLOCA; no longer needed.
33205 2011-06-20  Eric Blake  <eblake@redhat.com>
33207         test-stat: don't allocate PATH_MAX bytes
33208         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
33209         PATH_MAX-sized buffer.
33210         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
33211         * modules/stat-tests (Depends-on): Likewise.
33212         * tests/test-fstatat.c (includes): Drop pathmax.h.
33213         * tests/test-stat.c (includes): Likewise.
33214         Reported by Bruno Haible.
33216 2011-06-20  Bruno Haible  <bruno@clisp.org>
33218         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
33219         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
33220         * lib/float.c: New file.
33221         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
33222         REPLACE_FLOAT_LDBL.
33223         * modules/float (Files): Add lib/float.c.
33224         (configure.ac): Invoke AC_LIBOBJ.
33225         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
33227 2011-06-20  Bruno Haible  <bruno@clisp.org>
33229         Tests for module 'float'.
33230         * modules/float-tests: New file.
33231         * tests/test-float.c: New file.
33233 2011-06-19  Bruno Haible  <bruno@clisp.org>
33235         isinf: Coding style.
33236         * lib/isinf.c: Use GNU coding style.
33238 2011-06-19  Bruno Haible  <bruno@clisp.org>
33240         linkat test: Avoid test failure on AIX 7.1.
33241         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
33242         * tests/test-link.h (test_link): Likewise.
33244 2011-06-19  Bruno Haible  <bruno@clisp.org>
33246         pread test: Avoid test failure on OpenBSD 4.9.
33247         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
33249 2011-06-19  Bruno Haible  <bruno@clisp.org>
33251         sprintf-posix: Fix test failure on AIX 7.1.
33252         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
33253         * doc/posix-functions/dprintf.texi: Mention limited precision problem
33254         on AIX.
33255         * doc/posix-functions/fprintf.texi: Likewise.
33256         * doc/posix-functions/printf.texi: Likewise.
33257         * doc/posix-functions/snprintf.texi: Likewise.
33258         * doc/posix-functions/sprintf.texi: Likewise.
33259         * doc/posix-functions/vdprintf.texi: Likewise.
33260         * doc/posix-functions/vfprintf.texi: Likewise.
33261         * doc/posix-functions/vprintf.texi: Likewise.
33262         * doc/posix-functions/vsnprintf.texi: Likewise.
33263         * doc/posix-functions/vsprintf.texi: Likewise.
33265 2011-06-19  Bruno Haible  <bruno@clisp.org>
33267         roundl-ieee: Fix test failure on AIX 7.1.
33268         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
33269         * doc/posix-functions/roundl.texi: Mention problem with negative
33270         arguments.
33272 2011-06-19  Bruno Haible  <bruno@clisp.org>
33274         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
33275         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
33276         * doc/posix-functions/round.texi: Mention problem with negative
33277         arguments.
33278         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
33280 2011-06-19  Bruno Haible  <bruno@clisp.org>
33282         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
33283         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
33284         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
33285         * doc/posix-functions/roundf.texi: Mention problem with negative
33286         arguments.
33287         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
33289 2011-06-19  Bruno Haible  <bruno@clisp.org>
33291         ceilf-ieee: Work around bug on MacOS X 10.5.
33292         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
33294         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
33295         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
33296         IEEE compliant, avoid compiler optimizations.
33297         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
33298         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
33299         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
33300         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
33301         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
33302         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
33303         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
33304         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
33305         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
33306         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
33308 2011-06-19  Bruno Haible  <bruno@clisp.org>
33310         ceilf-ieee: Work around bug on AIX 7.1.
33311         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
33312         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
33314 2011-06-19  Bruno Haible  <bruno@clisp.org>
33316         ceil-ieee: Work around bug on AIX 7.1.
33317         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
33318         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
33320 2011-06-18  Bruno Haible  <bruno@clisp.org>
33322         fsync test: Avoid test failure on MacOS X and AIX.
33323         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
33324         EINVAL.
33326 2011-06-18  Bruno Haible  <bruno@clisp.org>
33328         openat, fdopendir tests: Fix link errors.
33329         * modules/openat-tests (Depends-on): Add progname.
33330         * modules/fdopendir-tests (Depends-on): Likewise.
33331         * tests/test-fchownat.c: Include progname.h.
33332         (main): Call set_program_name.
33333         * tests/test-fstatat.c: Include progname.h.
33334         (main): Call set_program_name.
33335         * tests/test-mkdirat.c: Include progname.h.
33336         (main): Call set_program_name.
33337         * tests/test-openat.c: Include progname.h.
33338         (main): Call set_program_name.
33339         * tests/test-unlinkat.c: Include progname.h.
33340         (main): Call set_program_name.
33341         * tests/test-fdopendir.c: Include progname.h.
33342         (main): Call set_program_name.
33344 2011-06-18  Bruno Haible  <bruno@clisp.org>
33346         Doc update.
33347         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
33348         HP-UX.
33349         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
33351 2011-06-18  Bruno Haible  <bruno@clisp.org>
33353         getcwd tests: Avoid compilation error on HP-UX 11.31.
33354         * modules/getcwd-tests (Depends-on): Add pathmax.
33355         * tests/test-getcwd.c: Include pathmax.h.
33357 2011-06-18  Bruno Haible  <bruno@clisp.org>
33359         isfinite, isinf: Fix link error on AIX 6 and 7.
33360         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
33361         needed, also test the macro with a 'float' argument.
33362         * m4/isinf.m4 (gl_ISINF): Likewise.
33364 2011-06-18  Bruno Haible  <bruno@clisp.org>
33366         getloadavg: Don't clobber LIBS. Regression from previous commit.
33367         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
33368         AC_CHECK_LIB from here...
33369         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
33370         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
33371         gl_func_getloadavg_done.
33372         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33374 2011-06-18  Bruno Haible  <bruno@clisp.org>
33376         clean-temp: Improve documentation.
33377         * lib/clean-temp.h: Explain better how to use this module.
33378         Reported by John Darrington <john@darrington.wattle.id.au>.
33380 2011-06-17  Bruno Haible  <bruno@clisp.org>
33382         pread, pwrite: Avoid cc warning on AIX.
33383         * lib/unistd.in.h (pread): Undefine before defining as a macro.
33384         (pwrite): Likewise.
33386 2011-06-17  Bruno Haible  <bruno@clisp.org>
33388         spawn-pipe tests: Fix link error.
33389         * tests/test-spawn-pipe-child.c: Undefine fprintf.
33390         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33392 2011-06-17  Bruno Haible  <bruno@clisp.org>
33394         Tests: Remove unnecessary dependency.
33395         * modules/canonicalize-tests (Depends-on): Remove progname.
33396         * modules/chown-tests (Depends-on): Likewise.
33397         * modules/dirname-tests (Depends-on): Likewise.
33398         * modules/fdopendir-tests (Depends-on): Likewise.
33399         * modules/fdutimensat-tests (Depends-on): Likewise.
33400         * modules/hash-tests (Depends-on): Likewise.
33401         * modules/lchown-tests (Depends-on): Likewise.
33402         * modules/linkat-tests (Depends-on): Likewise.
33403         * modules/renameat-tests (Depends-on): Likewise.
33404         * modules/spawn-pipe-tests (Depends-on): Likewise.
33405         * modules/utimensat-tests (Depends-on): Likewise.
33407 2011-06-17  Bruno Haible  <bruno@clisp.org>
33409         spawn-pipe tests: Fix link error.
33410         * tests/test-spawn-pipe-child.c: Undefine fflush.
33412 2011-06-17  Bruno Haible  <bruno@clisp.org>
33414         Fix tests link errors.
33415         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
33416         * modules/chown-tests (Makefile.am): Don't link test-chown with
33417         LIBINTL.
33418         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
33419         LIBINTL.
33420         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
33421         LIBINTL.
33422         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
33423         LIBINTL.
33425 2011-06-16  Bruno Haible  <bruno@clisp.org>
33427         crypto/gc-sha1: Fix recent regression.
33428         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
33429         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
33431         crypto/gc-md5: Fix recent regression.
33432         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
33434         crypto/gc-md4: Fix recent regression.
33435         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
33436         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
33438         crypto/gc-arctwo: Fix recent regression.
33439         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
33440         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
33442         crypto/gc-rijndael: Fix recent regression.
33443         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
33444         (configure.ac): Invoke AC_LIBOBJ here.
33445         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
33446         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33448         crypto/gc-hmac-sha1: Fix recent regression.
33449         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
33450         (configure.ac): Invoke AC_LIBOBJ here.
33451         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
33452         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33454         crypto/gc-hmac-md5: Fix recent regression.
33455         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
33456         (configure.ac): Invoke AC_LIBOBJ here.
33457         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
33458         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33460         crypto/gc-des: Fix recent regression.
33461         * modules/crypto/gc-des (Files): Remove m4/des.m4.
33462         (configure.ac): Invoke AC_LIBOBJ here.
33463         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
33464         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33466         crypto/gc-arcfour: Fix recent regression.
33467         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
33468         (configure.ac): Invoke AC_LIBOBJ here.
33469         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
33470         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33472 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
33474         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
33475         After the 2011-05-21 change, this macro requires
33476         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
33477         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
33479 2011-06-16  Bruno Haible  <bruno@clisp.org>
33481         fprintftime: Move AC_LIBOBJ invocations to module description.
33482         * m4/fprintftime.m4: Remove file.
33483         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
33484         (configure.ac): Remove gl_FPRINTFTIME call.
33485         (Makefile.am): Augment lib_SOURCES.
33486         Reported by Jim Meyering.
33488 2011-06-16  Bruno Haible  <bruno@clisp.org>
33490         tmpfile-safer: Finish 2011-05-23 commit.
33491         * m4/stdio-safer.m4: Really remove file.
33492         Reported by Jim Meyering.
33494 2011-06-16  Bruno Haible  <bruno@clisp.org>
33496         syntax-check: Fix typo.
33497         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
33498         printf-posix.m4.
33499         Reported by Jim Meyering.
33501 2011-06-13  Jim Meyering  <meyering@redhat.com>
33503         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
33504         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
33506 2011-05-23  Bruno Haible  <bruno@clisp.org>
33508         yesno: Move AC_LIBOBJ invocations to module description.
33509         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
33510         * modules/yesno (Makefile.am): Augment lib_SOURCES.
33512 2011-05-23  Bruno Haible  <bruno@clisp.org>
33514         xstrtol: Move AC_LIBOBJ invocations to module description.
33515         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
33516         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
33518 2011-05-23  Bruno Haible  <bruno@clisp.org>
33520         xstrtold: Move AC_LIBOBJ invocations to module description.
33521         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
33522         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
33524 2011-05-23  Bruno Haible  <bruno@clisp.org>
33526         xstrtod: Move AC_LIBOBJ invocations to module description.
33527         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
33528         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
33530 2011-05-23  Bruno Haible  <bruno@clisp.org>
33532         xnanosleep: Move AC_LIBOBJ invocations to module description.
33533         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
33534         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
33536 2011-05-23  Bruno Haible  <bruno@clisp.org>
33538         xgetcwd: Move AC_LIBOBJ invocations to module description.
33539         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
33540         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
33542 2011-05-23  Bruno Haible  <bruno@clisp.org>
33544         xalloc: Move AC_LIBOBJ invocations to module description.
33545         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
33546         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
33548 2011-05-23  Bruno Haible  <bruno@clisp.org>
33550         write-any-file: Move AC_LIBOBJ invocations to module description.
33551         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
33552         invocation.
33553         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
33555 2011-05-23  Bruno Haible  <bruno@clisp.org>
33557         utimens: Move AC_LIBOBJ invocations to module description.
33558         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
33559         * modules/utimens (Makefile.am): Augment lib_SOURCES.
33561 2011-05-23  Bruno Haible  <bruno@clisp.org>
33563         utimecmp: Move AC_LIBOBJ invocations to module description.
33564         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
33565         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
33567 2011-05-23  Bruno Haible  <bruno@clisp.org>
33569         userspec: Move AC_LIBOBJ invocations to module description.
33570         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
33571         * modules/userspec (Makefile.am): Augment lib_SOURCES.
33573 2011-05-23  Bruno Haible  <bruno@clisp.org>
33575         unlinkdir: Move AC_LIBOBJ invocations to module description.
33576         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
33577         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
33579 2011-05-23  Bruno Haible  <bruno@clisp.org>
33581         unistd-safer: Move AC_LIBOBJ invocations to module description.
33582         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
33583         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
33585 2011-05-23  Bruno Haible  <bruno@clisp.org>
33587         tempname: Move AC_LIBOBJ invocations to module description.
33588         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
33589         * modules/tempname (Makefile.am): Augment lib_SOURCES.
33591 2011-05-23  Bruno Haible  <bruno@clisp.org>
33593         strftime: Move AC_LIBOBJ invocations to module description.
33594         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
33595         * modules/strftime (Makefile.am): Augment lib_SOURCES.
33597 2011-05-23  Bruno Haible  <bruno@clisp.org>
33599         stdlib-safer: Move AC_LIBOBJ invocations to module description.
33600         * m4/stdlib-safer.m4: Remove file.
33601         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
33602         (configure.ac): Remove gl_STDLIB_SAFER call.
33603         (Makefile.am): Augment lib_SOURCES.
33605 2011-05-23  Bruno Haible  <bruno@clisp.org>
33607         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
33608         * m4/stdio-safer.m4: Remove file.
33609         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
33610         (configure.ac): Remove gl_TMPFILE_SAFER call.
33611         (Makefile.am): Augment lib_SOURCES.
33613 2011-05-23  Bruno Haible  <bruno@clisp.org>
33615         popen-safer: Move AC_LIBOBJ invocations to module description.
33616         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
33617         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
33618         (configure.ac): Remove gl_POPEN_SAFER call.
33619         (Makefile.am): Augment lib_SOURCES.
33621 2011-05-23  Bruno Haible  <bruno@clisp.org>
33623         freopen-safer: Move AC_LIBOBJ invocations to module description.
33624         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
33625         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
33626         (configure.ac): Remove gl_FREOPEN_SAFER call.
33627         (Makefile.am): Augment lib_SOURCES.
33629 2011-05-23  Bruno Haible  <bruno@clisp.org>
33631         fopen-safer: Move AC_LIBOBJ invocations to module description.
33632         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
33633         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
33634         (configure.ac): Remove gl_FOPEN_SAFER call.
33635         (Makefile.am): Augment lib_SOURCES.
33637 2011-05-23  Bruno Haible  <bruno@clisp.org>
33639         crypto/sha512: Move AC_LIBOBJ invocations to module description.
33640         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
33641         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
33643 2011-05-23  Bruno Haible  <bruno@clisp.org>
33645         crypto/sha256: Move AC_LIBOBJ invocations to module description.
33646         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
33647         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
33649 2011-05-23  Bruno Haible  <bruno@clisp.org>
33651         crypto/sha1: Move AC_LIBOBJ invocations to module description.
33652         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
33653         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
33655 2011-05-23  Bruno Haible  <bruno@clisp.org>
33657         settime: Move AC_LIBOBJ invocations to module description.
33658         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
33659         * modules/settime (Makefile.am): Augment lib_SOURCES.
33661 2011-05-23  Bruno Haible  <bruno@clisp.org>
33663         savedir: Move AC_LIBOBJ invocations to module description.
33664         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
33665         * modules/savedir (Makefile.am): Augment lib_SOURCES.
33667 2011-05-23  Bruno Haible  <bruno@clisp.org>
33669         save-cwd: Move AC_LIBOBJ invocations to module description.
33670         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
33671         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
33673 2011-05-23  Bruno Haible  <bruno@clisp.org>
33675         same: Move AC_LIBOBJ invocations to module description.
33676         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
33677         * modules/same (Makefile.am): Augment lib_SOURCES.
33679 2011-05-23  Bruno Haible  <bruno@clisp.org>
33681         safe-write: Move AC_LIBOBJ invocations to module description.
33682         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
33683         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
33684         instead of gl_SAFE_WRITE.
33685         (Makefile.am): Augment lib_SOURCES.
33687 2011-05-23  Bruno Haible  <bruno@clisp.org>
33689         safe-read: Move AC_LIBOBJ invocations to module description.
33690         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
33691         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
33692         of gl_SAFE_READ.
33693         (Makefile.am): Augment lib_SOURCES.
33695 2011-05-23  Bruno Haible  <bruno@clisp.org>
33697         safe-alloc: Move AC_LIBOBJ invocations to module description.
33698         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
33699         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
33701 2011-05-23  Bruno Haible  <bruno@clisp.org>
33703         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
33704         * m4/rijndael.m4: Remove file.
33705         * modules/crypto/rijndael (Files): Remove it.
33706         (configure.ac): Remove gl_RIJNDAEL call.
33707         (Makefile.am): Augment lib_SOURCES.
33709 2011-05-23  Bruno Haible  <bruno@clisp.org>
33711         readtokens: Move AC_LIBOBJ invocations to module description.
33712         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
33713         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
33715 2011-05-23  Bruno Haible  <bruno@clisp.org>
33717         read-file: Move AC_LIBOBJ invocations to module description.
33718         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
33719         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
33720         of gl_FUNC_READ_FILE.
33721         (Makefile.am): Augment lib_SOURCES.
33723 2011-05-23  Bruno Haible  <bruno@clisp.org>
33725         quotearg: Move AC_LIBOBJ invocations to module description.
33726         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
33727         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
33729 2011-05-23  Bruno Haible  <bruno@clisp.org>
33731         quote: Move AC_LIBOBJ invocations to module description.
33732         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
33733         * modules/quote (Makefile.am): Augment lib_SOURCES.
33735 2011-05-23  Bruno Haible  <bruno@clisp.org>
33737         posixver: Move AC_LIBOBJ invocations to module description.
33738         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
33739         * modules/posixver (Makefile.am): Augment lib_SOURCES.
33741 2011-05-23  Bruno Haible  <bruno@clisp.org>
33743         posixtm: Move AC_LIBOBJ invocations to module description.
33744         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
33745         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
33747 2011-05-23  Bruno Haible  <bruno@clisp.org>
33749         physmem: Move AC_LIBOBJ invocations to module description.
33750         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
33751         * modules/physmem (Makefile.am): Augment lib_SOURCES.
33753 2011-05-23  Bruno Haible  <bruno@clisp.org>
33755         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
33756         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
33757         invocation.
33758         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
33760 2011-05-23  Bruno Haible  <bruno@clisp.org>
33762         mpsort: Move AC_LIBOBJ invocations to module description.
33763         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
33764         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
33766 2011-05-23  Bruno Haible  <bruno@clisp.org>
33768         modechange: Move AC_LIBOBJ invocations to module description.
33769         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
33770         * modules/modechange (Makefile.am): Augment lib_SOURCES.
33772 2011-05-23  Bruno Haible  <bruno@clisp.org>
33774         mkdir-p: Move AC_LIBOBJ invocations to module description.
33775         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
33776         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
33778 2011-05-23  Bruno Haible  <bruno@clisp.org>
33780         mkancesdirs: Move AC_LIBOBJ invocations to module description.
33781         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
33782         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
33784 2011-05-23  Bruno Haible  <bruno@clisp.org>
33786         mgetgroups: Move AC_LIBOBJ invocations to module description.
33787         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
33788         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
33790 2011-05-23  Bruno Haible  <bruno@clisp.org>
33792         memxor: Move AC_LIBOBJ invocations to module description.
33793         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
33794         * modules/memxor (Makefile.am): Augment lib_SOURCES.
33796 2011-05-23  Bruno Haible  <bruno@clisp.org>
33798         memcoll: Move AC_LIBOBJ invocations to module description.
33799         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
33800         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
33802 2011-05-23  Bruno Haible  <bruno@clisp.org>
33804         memcasecmp: Move AC_LIBOBJ invocations to module description.
33805         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
33806         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
33808 2011-05-23  Bruno Haible  <bruno@clisp.org>
33810         crypto/md5: Move AC_LIBOBJ invocations to module description.
33811         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
33812         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
33814 2011-05-23  Bruno Haible  <bruno@clisp.org>
33816         crypto/md4: Move AC_LIBOBJ invocations to module description.
33817         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
33818         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
33820 2011-05-23  Bruno Haible  <bruno@clisp.org>
33822         crypto/md2: Move AC_LIBOBJ invocations to module description.
33823         * m4/md2.m4: Remove file.
33824         * modules/crypto/md2 (Files): Remove it.
33825         (configure.ac): Remove gl_MD2 call.
33826         (Makefile.am): Augment lib_SOURCES.
33828 2011-05-23  Bruno Haible  <bruno@clisp.org>
33830         long-options: Move AC_LIBOBJ invocations to module description.
33831         * m4/long-options.m4: Remove file.
33832         * modules/long-options (Files): Remove it.
33833         (configure.ac): Remove gl_LONG_OPTIONS call.
33834         (Makefile.am): Augment lib_SOURCES.
33836 2011-05-23  Bruno Haible  <bruno@clisp.org>
33838         i-ring: Move AC_LIBOBJ invocations to module description.
33839         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
33840         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
33842 2011-05-23  Bruno Haible  <bruno@clisp.org>
33844         idcache: Move AC_LIBOBJ invocations to module description.
33845         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
33846         * modules/idcache (Makefile.am): Augment lib_SOURCES.
33848 2011-05-23  Bruno Haible  <bruno@clisp.org>
33850         human: Move AC_LIBOBJ invocations to module description.
33851         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
33852         * modules/human (Makefile.am): Augment lib_SOURCES.
33854 2011-05-23  Bruno Haible  <bruno@clisp.org>
33856         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
33857         * m4/hmac-sha1.m4: Remove file.
33858         * modules/crypto/hmac-sha1 (Files): Remove it.
33859         (configure.ac): Remove gl_HMAC_SHA1 call.
33860         (Makefile.am): Augment lib_SOURCES.
33862 2011-05-23  Bruno Haible  <bruno@clisp.org>
33864         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
33865         * m4/hmac-md5.m4: Remove file.
33866         * modules/crypto/hmac-md5 (Files): Remove it.
33867         (configure.ac): Remove gl_HMAC_MD5 call.
33868         (Makefile.am): Augment lib_SOURCES.
33870 2011-05-23  Bruno Haible  <bruno@clisp.org>
33872         hash: Move AC_LIBOBJ invocations to module description.
33873         * m4/hash.m4: Remove file.
33874         * modules/hash (Files): Remove it.
33875         (configure.ac): Remove gl_HASH call.
33876         (Makefile.am): Augment lib_SOURCES.
33878 2011-05-23  Bruno Haible  <bruno@clisp.org>
33880         hard-locale: Move AC_LIBOBJ invocations to module description.
33881         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
33882         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
33884 2011-05-23  Bruno Haible  <bruno@clisp.org>
33886         getugroups: Move AC_LIBOBJ invocations to module description.
33887         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
33888         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
33890 2011-05-23  Bruno Haible  <bruno@clisp.org>
33892         gettime: Move AC_LIBOBJ invocations to module description.
33893         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
33894         * modules/gettime (Makefile.am): Augment lib_SOURCES.
33896 2011-05-23  Bruno Haible  <bruno@clisp.org>
33898         getndelim2: Move AC_LIBOBJ invocations to module description.
33899         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
33900         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
33902 2011-05-23  Bruno Haible  <bruno@clisp.org>
33904         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
33905         * m4/gc-pbkdf2-sha1.m4: Remove file.
33906         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
33907         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
33908         (Makefile.am): Augment lib_SOURCES.
33910 2011-05-23  Bruno Haible  <bruno@clisp.org>
33912         fts: Move AC_LIBOBJ invocations to module description.
33913         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
33914         * modules/fts (configure.ac): ... to here.
33916 2011-05-23  Bruno Haible  <bruno@clisp.org>
33918         file-type: Move AC_LIBOBJ invocations to module description.
33919         * m4/file-type.m4: Remove file.
33920         * modules/file-type (Files): Remove it.
33921         (configure.ac): Remove gl_FILE_TYPE call.
33922         (Makefile.am): Augment lib_SOURCES.
33924 2011-05-23  Bruno Haible  <bruno@clisp.org>
33926         filenamecat*: Respect rules for use of AC_LIBOBJ.
33927         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
33928         Remove AC_LIBOBJ invocation.
33929         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
33930         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
33932 2011-05-23  Bruno Haible  <bruno@clisp.org>
33934         filemode: Move AC_LIBOBJ invocations to module description.
33935         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
33936         * modules/filemode (Makefile.am): Augment lib_SOURCES.
33938 2011-05-23  Bruno Haible  <bruno@clisp.org>
33940         openat-safer: Move AC_LIBOBJ invocations to module description.
33941         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
33942         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
33944 2011-05-23  Bruno Haible  <bruno@clisp.org>
33946         fcntl-safer: Move AC_LIBOBJ invocations to module description.
33947         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
33948         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
33950 2011-05-23  Bruno Haible  <bruno@clisp.org>
33952         exclude: Move AC_LIBOBJ invocations to module description.
33953         * m4/exclude.m4: Remove file.
33954         * modules/exclude (Files): Remove it.
33955         (configure.ac): Remove gl_EXCLUDE call.
33956         (Makefile.am): Augment lib_SOURCES.
33958 2011-05-23  Bruno Haible  <bruno@clisp.org>
33960         dirname*: Respect rules for use of AC_LIBOBJ.
33961         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
33962         invocations.
33963         * modules/dirname (Makefile.am): Augment lib_SOURCES.
33964         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
33966 2011-05-23  Bruno Haible  <bruno@clisp.org>
33968         dirent-safer: Move AC_LIBOBJ invocations to module description.
33969         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
33970         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
33972 2011-05-23  Bruno Haible  <bruno@clisp.org>
33974         crypto/des: Move AC_LIBOBJ invocations to module description.
33975         * m4/des.m4: Remove file.
33976         * modules/crypto/des (Files): Remove it.
33977         (configure.ac): Remove gl_DES call.
33978         (Makefile.am): Augment lib_SOURCES.
33980 2011-05-23  Bruno Haible  <bruno@clisp.org>
33982         cycle-check: Move AC_LIBOBJ invocations to module description.
33983         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
33984         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
33986 2011-05-23  Bruno Haible  <bruno@clisp.org>
33988         c-strtold: Move AC_LIBOBJ invocations to module description.
33989         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
33990         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
33992 2011-05-23  Bruno Haible  <bruno@clisp.org>
33994         c-strtod: Move AC_LIBOBJ invocations to module description.
33995         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
33996         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
33998 2011-05-23  Bruno Haible  <bruno@clisp.org>
34000         crc: Move AC_LIBOBJ invocations to module description.
34001         * m4/crc.m4: Remove file.
34002         * modules/crc (Files): Remove it.
34003         (configure.ac): Remove gl_CRC call.
34004         (Makefile.am): Augment lib_SOURCES.
34006 2011-05-23  Bruno Haible  <bruno@clisp.org>
34008         close-stream: Move AC_LIBOBJ invocations to module description.
34009         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
34010         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
34012 2011-05-23  Bruno Haible  <bruno@clisp.org>
34014         closeout: Move AC_LIBOBJ invocations to module description.
34015         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
34016         * modules/closeout (Makefile.am): Augment lib_SOURCES.
34018 2011-05-23  Bruno Haible  <bruno@clisp.org>
34020         closein: Move AC_LIBOBJ invocations to module description.
34021         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
34022         * modules/closein (Makefile.am): Augment lib_SOURCES.
34024 2011-05-23  Bruno Haible  <bruno@clisp.org>
34026         cloexec: Move AC_LIBOBJ invocations to module description.
34027         * m4/cloexec.m4: Remove file.
34028         * modules/cloexec (Files): Remove it.
34029         (configure.ac): Remove gl_CLOEXEC call.
34030         (Makefile.am): Augment lib_SOURCES.
34032 2011-05-23  Bruno Haible  <bruno@clisp.org>
34034         check-version: Move AC_LIBOBJ invocations to module description.
34035         * m4/check-version.m4: Remove file.
34036         * modules/check-version (Files): Remove it.
34037         (configure.ac): Remove gl_CHECK_VERSION call.
34038         (Makefile.am): Augment lib_SOURCES.
34040 2011-05-23  Bruno Haible  <bruno@clisp.org>
34042         chdir-safer: Move AC_LIBOBJ invocations to module description.
34043         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
34044         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
34046 2011-05-23  Bruno Haible  <bruno@clisp.org>
34048         canonicalize: Move AC_LIBOBJ invocations to module description.
34049         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
34050         AC_LIBOBJ invocation.
34051         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
34053 2011-05-23  Bruno Haible  <bruno@clisp.org>
34055         canon-host: Move AC_LIBOBJ invocations to module description.
34056         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
34057         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
34058         instead of gl_CANON_HOST.
34059         (Makefile.am): Augment lib_SOURCES.
34061 2011-05-23  Bruno Haible  <bruno@clisp.org>
34063         backupfile: Move AC_LIBOBJ invocations to module description.
34064         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
34065         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
34067 2011-05-23  Bruno Haible  <bruno@clisp.org>
34069         argmatch: Move AC_LIBOBJ invocations to module description.
34070         * m4/argmatch.m4: Remove file.
34071         * modules/argmatch (Files): Remove it.
34072         (configure.ac): Remove gl_ARGMATCH call.
34073         (Makefile.am): Augment lib_SOURCES.
34075 2011-05-23  Bruno Haible  <bruno@clisp.org>
34077         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
34078         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
34079         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
34081 2011-05-23  Bruno Haible  <bruno@clisp.org>
34083         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
34084         * m4/arcfour.m4: Remove file.
34085         * modules/crypto/arcfour (Files): Remove it.
34086         (configure.ac): Remove gl_ARCFOUR call.
34087         (Makefile.am): Augment lib_SOURCES.
34089 2011-05-22  Bruno Haible  <bruno@clisp.org>
34091         write: Move AC_LIBOBJ invocations to module description.
34092         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
34093         * modules/write (configure.ac): ... to here.
34095 2011-05-22  Bruno Haible  <bruno@clisp.org>
34097         wmemset: Move AC_LIBOBJ invocations to module description.
34098         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
34099         here...
34100         * modules/wmemset (configure.ac): ... to here.
34102 2011-05-22  Bruno Haible  <bruno@clisp.org>
34104         wmemmove: Move AC_LIBOBJ invocations to module description.
34105         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
34106         here...
34107         * modules/wmemmove (configure.ac): ... to here.
34109 2011-05-22  Bruno Haible  <bruno@clisp.org>
34111         wmemcpy: Move AC_LIBOBJ invocations to module description.
34112         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
34113         here...
34114         * modules/wmemcpy (configure.ac): ... to here.
34116 2011-05-22  Bruno Haible  <bruno@clisp.org>
34118         wmemcmp: Move AC_LIBOBJ invocations to module description.
34119         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
34120         here...
34121         * modules/wmemcmp (configure.ac): ... to here.
34123 2011-05-22  Bruno Haible  <bruno@clisp.org>
34125         wmemchr: Move AC_LIBOBJ invocations to module description.
34126         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
34127         here...
34128         * modules/wmemchr (configure.ac): ... to here.
34130 2011-05-22  Bruno Haible  <bruno@clisp.org>
34132         wcswidth: Move AC_LIBOBJ invocations to module description.
34133         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
34134         here...
34135         * modules/wcswidth (configure.ac): ... to here.
34137 2011-05-22  Bruno Haible  <bruno@clisp.org>
34139         wcwidth: Respect rules for use of AC_LIBOBJ.
34140         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
34141         invocation from here...
34142         * modules/wcwidth (configure.ac): ... to here.
34143         (Depends-on): Update conditions.
34145 2011-05-22  Bruno Haible  <bruno@clisp.org>
34147         wctype: Move AC_LIBOBJ invocations to module description.
34148         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
34149         invocation from here...
34150         * modules/wctype (configure.ac): ... to here.
34151         (Depends-on): Update conditions.
34153 2011-05-22  Bruno Haible  <bruno@clisp.org>
34155         wctrans: Move AC_LIBOBJ invocations to module description.
34156         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
34157         invocation from here...
34158         * modules/wctrans (configure.ac): ... to here.
34160 2011-05-22  Bruno Haible  <bruno@clisp.org>
34162         wctomb: Move AC_LIBOBJ invocations to module description.
34163         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
34164         invocations from here...
34165         * modules/wctomb (configure.ac): ... to here.
34167 2011-05-22  Bruno Haible  <bruno@clisp.org>
34169         wctob: Move AC_LIBOBJ invocations to module description.
34170         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
34171         gl_PREREQ_WCTOB invocations from here...
34172         * modules/wctob (configure.ac): ... to here.
34173         (Depends-on): Update conditions.
34175 2011-05-22  Bruno Haible  <bruno@clisp.org>
34177         wcsxfrm: Move AC_LIBOBJ invocations to module description.
34178         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
34179         here...
34180         * modules/wcsxfrm (configure.ac): ... to here.
34182 2011-05-22  Bruno Haible  <bruno@clisp.org>
34184         wcstok: Move AC_LIBOBJ invocations to module description.
34185         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
34186         * modules/wcstok (configure.ac): ... to here.
34188 2011-05-22  Bruno Haible  <bruno@clisp.org>
34190         wcsstr: Move AC_LIBOBJ invocations to module description.
34191         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
34192         * modules/wcsstr (configure.ac): ... to here.
34194 2011-05-22  Bruno Haible  <bruno@clisp.org>
34196         wcsspn: Move AC_LIBOBJ invocations to module description.
34197         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
34198         * modules/wcsspn (configure.ac): ... to here.
34200 2011-05-22  Bruno Haible  <bruno@clisp.org>
34202         wcsrtombs: Move AC_LIBOBJ invocations to module description.
34203         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
34204         gl_PREREQ_WCSRTOMBS invocations from here...
34205         * modules/wcsrtombs (configure.ac): ... to here.
34207 2011-05-22  Bruno Haible  <bruno@clisp.org>
34209         wcsrchr: Move AC_LIBOBJ invocations to module description.
34210         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
34211         here...
34212         * modules/wcsrchr (configure.ac): ... to here.
34214 2011-05-22  Bruno Haible  <bruno@clisp.org>
34216         wcspbrk: Move AC_LIBOBJ invocations to module description.
34217         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
34218         here...
34219         * modules/wcspbrk (configure.ac): ... to here.
34221 2011-05-22  Bruno Haible  <bruno@clisp.org>
34223         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
34224         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
34225         gl_PREREQ_WCSNRTOMBS invocations from here...
34226         * modules/wcsnrtombs (configure.ac): ... to here.
34228 2011-05-22  Bruno Haible  <bruno@clisp.org>
34230         wcsnlen: Move AC_LIBOBJ invocations to module description.
34231         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
34232         here...
34233         * modules/wcsnlen (configure.ac): ... to here.
34235 2011-05-22  Bruno Haible  <bruno@clisp.org>
34237         wcsncpy: Move AC_LIBOBJ invocations to module description.
34238         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
34239         here...
34240         * modules/wcsncpy (configure.ac): ... to here.
34242 2011-05-22  Bruno Haible  <bruno@clisp.org>
34244         wcsncmp: Move AC_LIBOBJ invocations to module description.
34245         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
34246         here...
34247         * modules/wcsncmp (configure.ac): ... to here.
34249 2011-05-22  Bruno Haible  <bruno@clisp.org>
34251         wcsncat: Move AC_LIBOBJ invocations to module description.
34252         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
34253         here...
34254         * modules/wcsncat (configure.ac): ... to here.
34256 2011-05-22  Bruno Haible  <bruno@clisp.org>
34258         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
34259         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
34260         from here...
34261         * modules/wcsncasecmp (configure.ac): ... to here.
34263 2011-05-22  Bruno Haible  <bruno@clisp.org>
34265         wcslen: Move AC_LIBOBJ invocations to module description.
34266         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
34267         * modules/wcslen (configure.ac): ... to here.
34269 2011-05-22  Bruno Haible  <bruno@clisp.org>
34271         wcsdup: Move AC_LIBOBJ invocations to module description.
34272         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
34273         * modules/wcsdup (configure.ac): ... to here.
34275 2011-05-22  Bruno Haible  <bruno@clisp.org>
34277         wcscspn: Move AC_LIBOBJ invocations to module description.
34278         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
34279         here...
34280         * modules/wcscspn (configure.ac): ... to here.
34282 2011-05-22  Bruno Haible  <bruno@clisp.org>
34284         wcscpy: Move AC_LIBOBJ invocations to module description.
34285         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
34286         * modules/wcscpy (configure.ac): ... to here.
34288 2011-05-22  Bruno Haible  <bruno@clisp.org>
34290         wcscoll: Move AC_LIBOBJ invocations to module description.
34291         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
34292         here...
34293         * modules/wcscoll (configure.ac): ... to here.
34295 2011-05-22  Bruno Haible  <bruno@clisp.org>
34297         wcscmp: Move AC_LIBOBJ invocations to module description.
34298         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
34299         * modules/wcscmp (configure.ac): ... to here.
34301 2011-05-22  Bruno Haible  <bruno@clisp.org>
34303         wcschr: Move AC_LIBOBJ invocations to module description.
34304         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
34305         * modules/wcschr (configure.ac): ... to here.
34307 2011-05-22  Bruno Haible  <bruno@clisp.org>
34309         wcscat: Move AC_LIBOBJ invocations to module description.
34310         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
34311         * modules/wcscat (configure.ac): ... to here.
34313 2011-05-22  Bruno Haible  <bruno@clisp.org>
34315         wcscasecmp: Move AC_LIBOBJ invocations to module description.
34316         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
34317         here...
34318         * modules/wcscasecmp (configure.ac): ... to here.
34320 2011-05-22  Bruno Haible  <bruno@clisp.org>
34322         wcrtomb: Move AC_LIBOBJ invocations to module description.
34323         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
34324         invocations from here...
34325         * modules/wcrtomb (configure.ac): ... to here.
34327 2011-05-22  Bruno Haible  <bruno@clisp.org>
34329         wcpncpy: Move AC_LIBOBJ invocations to module description.
34330         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
34331         here...
34332         * modules/wcpncpy (configure.ac): ... to here.
34334 2011-05-22  Bruno Haible  <bruno@clisp.org>
34336         wcpcpy: Move AC_LIBOBJ invocations to module description.
34337         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
34338         * modules/wcpcpy (configure.ac): ... to here.
34340 2011-05-22  Bruno Haible  <bruno@clisp.org>
34342         waitpid: Move AC_LIBOBJ invocations to module description.
34343         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
34344         invocation from here...
34345         * modules/waitpid (configure.ac): ... to here.
34347 2011-05-22  Bruno Haible  <bruno@clisp.org>
34349         utimensat: Move AC_LIBOBJ invocations to module description.
34350         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
34351         here...
34352         * modules/utimensat (configure.ac): ... to here.
34354 2011-05-22  Bruno Haible  <bruno@clisp.org>
34356         usleep: Move AC_LIBOBJ invocations to module description.
34357         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
34358         here...
34359         * modules/usleep (configure.ac): ... to here.
34361 2011-05-22  Bruno Haible  <bruno@clisp.org>
34363         unlockpt: Move AC_LIBOBJ invocations to module description.
34364         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
34365         gl_PREREQ_UNLOCKPT invocations from here...
34366         * modules/unlockpt (configure.ac): ... to here.
34368 2011-05-22  Bruno Haible  <bruno@clisp.org>
34370         unlink: Respect rules for use of AC_LIBOBJ.
34371         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
34372         * modules/unlink (configure.ac): ... to here.
34374 2011-05-22  Bruno Haible  <bruno@clisp.org>
34376         uname: Move AC_LIBOBJ invocations to module description.
34377         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
34378         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
34379         here...
34380         * modules/uname (configure.ac): ... to here.
34382 2011-05-22  Bruno Haible  <bruno@clisp.org>
34384         ttyname_r: Move AC_LIBOBJ invocations to module description.
34385         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
34386         gl_PREREQ_TTYNAME_R invocations from here...
34387         * modules/ttyname_r (configure.ac): ... to here.
34389 2011-05-22  Bruno Haible  <bruno@clisp.org>
34391         tsearch: Move AC_LIBOBJ invocations to module description.
34392         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
34393         invocations from here...
34394         * modules/tsearch (configure.ac): ... to here.
34396 2011-05-22  Bruno Haible  <bruno@clisp.org>
34398         towctrans: Move AC_LIBOBJ invocations to module description.
34399         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
34400         AC_LIBOBJ invocation from here...
34401         * modules/towctrans (configure.ac): ... to here.
34403 2011-05-22  Bruno Haible  <bruno@clisp.org>
34405         tmpfile: Move AC_LIBOBJ invocations to module description.
34406         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
34407         invocations from here...
34408         * modules/tmpfile (configure.ac): ... to here.
34410 2011-05-22  Bruno Haible  <bruno@clisp.org>
34412         times: Move AC_LIBOBJ invocations to module description.
34413         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
34414         * modules/times (configure.ac): ... to here.
34416 2011-05-22  Bruno Haible  <bruno@clisp.org>
34418         time_r: Move AC_LIBOBJ invocations to module description.
34419         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
34420         invocations from here...
34421         * modules/time_r (configure.ac): ... to here.
34423 2011-05-22  Bruno Haible  <bruno@clisp.org>
34425         timegm: Move AC_LIBOBJ invocations to module description.
34426         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
34427         invocations from here...
34428         * modules/timegm (configure.ac): ... to here.
34430 2011-05-22  Bruno Haible  <bruno@clisp.org>
34432         tcgetsid: Move AC_LIBOBJ invocations to module description.
34433         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
34434         and gl_PREREQ_TCGETSID invocations from here...
34435         * modules/tcgetsid (configure.ac): ... to here.
34436         (Depends-on): Update conditions.
34438 2011-05-22  Bruno Haible  <bruno@clisp.org>
34440         symlinkat: Move AC_LIBOBJ invocations to module description.
34441         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
34442         here...
34443         * modules/symlinkat (configure.ac): ... to here.
34445 2011-05-22  Bruno Haible  <bruno@clisp.org>
34447         symlink: Move AC_LIBOBJ invocations to module description.
34448         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
34449         here...
34450         * modules/symlink (configure.ac): ... to here.
34452 2011-05-22  Bruno Haible  <bruno@clisp.org>
34454         strverscmp: Move AC_LIBOBJ invocations to module description.
34455         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
34456         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
34457         from here...
34458         * modules/strverscmp (configure.ac): ... to here.
34460 2011-05-22  Bruno Haible  <bruno@clisp.org>
34462         strtok_r: Move AC_LIBOBJ invocations to module description.
34463         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
34464         and gl_PREREQ_STRTOK_R invocations from here...
34465         * modules/strtok_r (configure.ac): ... to here.
34466         (Depends-on): Update conditions.
34468 2011-05-22  Bruno Haible  <bruno@clisp.org>
34470         strtoumax: Move AC_LIBOBJ invocations to module description.
34471         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
34472         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
34473         from here...
34474         * modules/strtoumax (configure.ac): ... to here.
34476 2011-05-22  Bruno Haible  <bruno@clisp.org>
34478         strtoimax: Move AC_LIBOBJ invocations to module description.
34479         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
34480         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
34481         from here...
34482         * modules/strtoimax (configure.ac): ... to here.
34484 2011-05-22  Bruno Haible  <bruno@clisp.org>
34486         strtoull: Move AC_LIBOBJ invocations to module description.
34487         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
34488         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
34489         from here...
34490         * modules/strtoull (configure.ac): ... to here.
34492 2011-05-22  Bruno Haible  <bruno@clisp.org>
34494         strtoll: Move AC_LIBOBJ invocations to module description.
34495         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
34496         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
34497         here...
34498         * modules/strtoll (configure.ac): ... to here.
34500 2011-05-22  Bruno Haible  <bruno@clisp.org>
34502         strtoul: Move AC_LIBOBJ invocations to module description.
34503         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
34504         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
34505         * modules/strtoul (configure.ac): ... to here.
34507 2011-05-22  Bruno Haible  <bruno@clisp.org>
34509         strtol: Move AC_LIBOBJ invocations to module description.
34510         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
34511         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
34512         * modules/strtol (configure.ac): ... to here.
34514 2011-05-22  Bruno Haible  <bruno@clisp.org>
34516         strtod: Move AC_LIBOBJ invocations to module description.
34517         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
34518         invocations from here...
34519         * modules/strtod (configure.ac): ... to here.
34521 2011-05-22  Bruno Haible  <bruno@clisp.org>
34523         strstr*: Move AC_LIBOBJ invocations to module description.
34524         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
34525         invocations from here...
34526         * modules/strstr-simple (configure.ac): ... to here.
34527         * modules/strstr (configure.ac): ... and here.
34529 2011-05-22  Bruno Haible  <bruno@clisp.org>
34531         strsignal: Move AC_LIBOBJ invocations to module description.
34532         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
34533         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
34534         * modules/strsignal (configure.ac): ... to here.
34535         (Depends-on): Update conditions.
34537 2011-05-22  Bruno Haible  <bruno@clisp.org>
34539         strsep: Move AC_LIBOBJ invocations to module description.
34540         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
34541         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
34542         here...
34543         * modules/strsep (configure.ac): ... to here.
34545 2011-05-22  Bruno Haible  <bruno@clisp.org>
34547         strptime: Move AC_LIBOBJ invocations to module description.
34548         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
34549         gl_PREREQ_STRPTIME invocations from here...
34550         * modules/strptime (configure.ac): ... to here.
34552 2011-05-22  Bruno Haible  <bruno@clisp.org>
34554         strpbrk: Move AC_LIBOBJ invocations to module description.
34555         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
34556         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
34557         here...
34558         * modules/strpbrk (configure.ac): ... to here.
34560 2011-05-22  Bruno Haible  <bruno@clisp.org>
34562         strnlen: Move AC_LIBOBJ invocations to module description.
34563         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
34564         invocations from here...
34565         * modules/strnlen (configure.ac): ... to here.
34567 2011-05-22  Bruno Haible  <bruno@clisp.org>
34569         strndup: Move AC_LIBOBJ invocations to module description.
34570         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
34571         invocations from here...
34572         * modules/strndup (configure.ac): ... to here.
34573         (Depends-on): Update conditions.
34575 2011-05-22  Bruno Haible  <bruno@clisp.org>
34577         strncat: Move AC_LIBOBJ invocations to module description.
34578         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
34579         invocations from here...
34580         * modules/strncat (configure.ac): ... to here.
34582 2011-05-22  Bruno Haible  <bruno@clisp.org>
34584         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
34585         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
34586         invocations from here...
34587         * modules/strdup (configure.ac): ... to here.
34588         * modules/strdup-posix (configure.ac): ... and here.
34590 2011-05-22  Bruno Haible  <bruno@clisp.org>
34592         strcspn: Move AC_LIBOBJ invocations to module description.
34593         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
34594         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
34595         here...
34596         * modules/strcspn (configure.ac): ... to here.
34598 2011-05-22  Bruno Haible  <bruno@clisp.org>
34600         strchrnul: Move AC_LIBOBJ invocations to module description.
34601         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
34602         gl_PREREQ_STRCHRNUL invocations from here...
34603         * modules/strchrnul (configure.ac): ... to here.
34605 2011-05-22  Bruno Haible  <bruno@clisp.org>
34607         strcasestr*: Move AC_LIBOBJ invocations to module description.
34608         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
34609         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
34610         * modules/strcasestr-simple (configure.ac): ... to here.
34611         * modules/strcasestr (configure.ac): ... and here.
34613 2011-05-22  Bruno Haible  <bruno@clisp.org>
34615         strcase: Move AC_LIBOBJ invocations to module description.
34616         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
34617         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
34618         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
34619         gl_PREREQ_STRNCASECMP invocations from here...
34620         * modules/strcase (configure.ac): ... to here.
34622 2011-05-22  Bruno Haible  <bruno@clisp.org>
34624         stpncpy: Move AC_LIBOBJ invocations to module description.
34625         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
34626         here...
34627         * modules/stpncpy (configure.ac): ... to here.
34629 2011-05-22  Bruno Haible  <bruno@clisp.org>
34631         stpcpy: Move AC_LIBOBJ invocations to module description.
34632         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
34633         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
34634         here...
34635         * modules/stpcpy (configure.ac): ... to here.
34637 2011-05-21  Bruno Haible  <bruno@clisp.org>
34639         stat: Move AC_LIBOBJ invocations to module description.
34640         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
34641         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
34642         here...
34643         * modules/stat (configure.ac): ... to here.
34645 2011-05-21  Bruno Haible  <bruno@clisp.org>
34647         sleep: Move AC_LIBOBJ invocations to module description.
34648         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
34649         * modules/sleep (configure.ac): ... to here.
34651 2011-05-21  Bruno Haible  <bruno@clisp.org>
34653         signbit: Move AC_LIBOBJ invocations to module description.
34654         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
34655         * modules/signbit (configure.ac): ... to here.
34657 2011-05-21  Bruno Haible  <bruno@clisp.org>
34659         sigprocmask: Move AC_LIBOBJ invocations to module description.
34660         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
34661         gl_PREREQ_SIGPROMASK invocations from here...
34662         * modules/sigprocmask (configure.ac): ... to here.
34664 2011-05-21  Bruno Haible  <bruno@clisp.org>
34666         sigaction: Move AC_LIBOBJ invocations to module description.
34667         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
34668         gl_PREREQ_SIGACTION invocations from here...
34669         * modules/sigaction (configure.ac): ... to here.
34671 2011-05-21  Bruno Haible  <bruno@clisp.org>
34673         sig2str: Move AC_LIBOBJ invocations to module description.
34674         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
34675         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
34676         here...
34677         * modules/sig2str (configure.ac): ... to here.
34679 2011-05-21  Bruno Haible  <bruno@clisp.org>
34681         setlocale: Move AC_LIBOBJ invocations to module description.
34682         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
34683         gl_PREREQ_SETLOCALE invocations from here...
34684         * modules/setlocale (configure.ac): ... to here.
34686 2011-05-21  Bruno Haible  <bruno@clisp.org>
34688         unsetenv: Move AC_LIBOBJ invocations to module description.
34689         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
34690         and gl_PREREQ_UNSETENV invocations from here...
34691         * modules/unsetenv (configure.ac): ... to here.
34692         (Depends-on): Update.
34694 2011-05-21  Bruno Haible  <bruno@clisp.org>
34696         setenv: Move AC_LIBOBJ invocations to module description.
34697         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
34698         here...
34699         * modules/setenv (configure.ac): ... to here.
34701 2011-05-21  Bruno Haible  <bruno@clisp.org>
34703         selinux-h: Move AC_LIBOBJ invocations to module description.
34704         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
34705         AC_LIBOBJ invocation from here...
34706         * modules/selinux-h (configure.ac): ... to here.
34708 2011-05-21  Bruno Haible  <bruno@clisp.org>
34710         select: Respect rules for use of AC_LIBOBJ.
34711         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
34712         here...
34713         * modules/select (configure.ac): ... to here.
34715 2011-05-21  Bruno Haible  <bruno@clisp.org>
34717         scandir: Move AC_LIBOBJ invocations to module description.
34718         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
34719         invocations from here...
34720         * modules/scandir (configure.ac): ... to here.
34722 2011-05-21  Bruno Haible  <bruno@clisp.org>
34724         rpmatch: Move AC_LIBOBJ invocations to module description.
34725         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
34726         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
34727         here...
34728         * modules/rpmatch (configure.ac): ... to here.
34730 2011-05-21  Bruno Haible  <bruno@clisp.org>
34732         rmdir: Respect rules for use of AC_LIBOBJ.
34733         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
34734         * modules/rmdir (configure.ac): ... to here.
34736 2011-05-21  Bruno Haible  <bruno@clisp.org>
34738         renameat: Move AC_LIBOBJ invocations to module description.
34739         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
34740         here...
34741         * modules/renameat (configure.ac): ... to here.
34743 2011-05-21  Bruno Haible  <bruno@clisp.org>
34745         rename: Respect rules for use of AC_LIBOBJ.
34746         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
34747         here...
34748         * modules/rename (configure.ac): ... to here.
34750 2011-05-21  Bruno Haible  <bruno@clisp.org>
34752         remove: Move AC_LIBOBJ invocations to module description.
34753         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
34754         here...
34755         * modules/remove (configure.ac): ... to here.
34757 2011-05-21  Bruno Haible  <bruno@clisp.org>
34759         relocatable-lib: Move AC_LIBOBJ invocations to module description.
34760         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
34761         macro.
34762         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
34763         * modules/relocatable-lib (configure.ac): ... to here.
34764         * modules/relocatable-prog-wrapper (configure.ac): Invoke
34765         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
34767 2011-05-21  Bruno Haible  <bruno@clisp.org>
34769         relocatable-prog: Move AC_LIBOBJ invocations to module description.
34770         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
34771         here...
34772         * modules/relocatable-prog (configure.ac): ... to here.
34774 2011-05-21  Bruno Haible  <bruno@clisp.org>
34776         regex: Move AC_LIBOBJ invocations to module description.
34777         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
34778         invocations from here...
34779         * modules/regex (configure.ac): ... to here.
34781 2011-05-21  Bruno Haible  <bruno@clisp.org>
34783         realloc-*: Move AC_LIBOBJ invocations to module description.
34784         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
34785         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
34786         AC_LIBOBJ invocations from here...
34787         * modules/realloc-gnu (configure.ac): ... to here.
34788         * modules/realloc-posix (configure.ac): ... and here.
34790 2011-05-21  Bruno Haible  <bruno@clisp.org>
34792         readutmp: Move AC_LIBOBJ invocations to module description.
34793         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
34794         * modules/readutmp (configure.ac): ... to here.
34796 2011-05-21  Bruno Haible  <bruno@clisp.org>
34798         readlinkat: Move AC_LIBOBJ invocations to module description.
34799         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
34800         here...
34801         * modules/readlinkat (configure.ac): ... to here.
34803 2011-05-21  Bruno Haible  <bruno@clisp.org>
34805         readlink: Move AC_LIBOBJ invocations to module description.
34806         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
34807         gl_PREREQ_READLINK invocations from here...
34808         * modules/readlink (configure.ac): ... to here.
34810 2011-05-21  Bruno Haible  <bruno@clisp.org>
34812         readline: Move AC_LIBOBJ invocations to module description.
34813         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
34814         gl_PREREQ_READLINE invocations from here...
34815         * modules/readline (configure.ac): ... to here.
34817 2011-05-21  Bruno Haible  <bruno@clisp.org>
34819         read: Move AC_LIBOBJ invocations to module description.
34820         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
34821         * modules/read (configure.ac): ... to here.
34823 2011-05-21  Bruno Haible  <bruno@clisp.org>
34825         rawmemchr: Move AC_LIBOBJ invocations to module description.
34826         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
34827         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
34828         from here...
34829         * modules/rawmemchr (configure.ac): ... to here.
34831 2011-05-21  Bruno Haible  <bruno@clisp.org>
34833         random_r: Move AC_LIBOBJ invocations to module description.
34834         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
34835         gl_PREREQ_RANDOM_R invocations from here...
34836         * modules/random_r (configure.ac): ... to here.
34838 2011-05-21  Bruno Haible  <bruno@clisp.org>
34840         pwrite: Move AC_LIBOBJ invocations to module description.
34841         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
34842         * modules/pwrite (configure.ac): ... to here.
34844 2011-05-21  Bruno Haible  <bruno@clisp.org>
34846         putenv: Move AC_LIBOBJ invocations to module description.
34847         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
34848         * modules/putenv (configure.ac): ... to here.
34850 2011-05-21  Bruno Haible  <bruno@clisp.org>
34852         login_tty: Move AC_LIBOBJ invocations to module description.
34853         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
34854         * modules/login_tty (configure.ac): ... to here.
34856 2011-05-21  Bruno Haible  <bruno@clisp.org>
34858         openpty: Move AC_LIBOBJ invocations to module description.
34859         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
34860         * modules/openpty (configure.ac): ... to here.
34862 2011-05-21  Bruno Haible  <bruno@clisp.org>
34864         forkpty: Move AC_LIBOBJ invocations to module description.
34865         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
34866         * modules/forkpty (configure.ac): ... to here.
34868 2011-05-21  Bruno Haible  <bruno@clisp.org>
34870         ptsname: Move AC_LIBOBJ invocations to module description.
34871         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
34872         invocations from here...
34873         * modules/ptsname (configure.ac): ... to here.
34875 2011-05-21  Bruno Haible  <bruno@clisp.org>
34877         pread: Move AC_LIBOBJ invocations to module description.
34878         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
34879         * modules/pread (configure.ac): ... to here.
34881 2011-05-21  Bruno Haible  <bruno@clisp.org>
34883         posix_spawn*: Move AC_LIBOBJ invocations to module description.
34884         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
34885         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
34886         * modules/posix_spawn (configure.ac): ... to here.
34887         * modules/posix_spawnp (configure.ac): ... and here.
34889 2011-05-21  Bruno Haible  <bruno@clisp.org>
34891         popen: Move AC_LIBOBJ invocations to module description.
34892         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
34893         invocations from here...
34894         * modules/popen (configure.ac): ... to here.
34896 2011-05-21  Bruno Haible  <bruno@clisp.org>
34898         poll: Move AC_LIBOBJ invocations to module description.
34899         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
34900         invocations from here...
34901         * modules/poll (configure.ac): ... to here.
34903 2011-05-21  Bruno Haible  <bruno@clisp.org>
34905         pipe-posix: Move AC_LIBOBJ invocations to module description.
34906         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
34907         * modules/pipe-posix (configure.ac): ... to here.
34909 2011-05-21  Bruno Haible  <bruno@clisp.org>
34911         openat: Respect rules for use of AC_LIBOBJ.
34912         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
34913         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
34914         * modules/openat (configure.ac): ... to here.
34916 2011-05-21  Bruno Haible  <bruno@clisp.org>
34918         obstack-printf*: Move AC_LIBOBJ invocations to module description.
34919         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
34920         invocation from here...
34921         * modules/obstack-printf (configure.ac): ... to here.
34922         * modules/obstack-printf-posix (configure.ac): ... and here.
34924 2011-05-21  Bruno Haible  <bruno@clisp.org>
34926         nl_langinfo: Move AC_LIBOBJ invocations to module description.
34927         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
34928         from here...
34929         * modules/nl_langinfo (configure.ac): ... to here.
34931 2011-05-21  Bruno Haible  <bruno@clisp.org>
34933         nanosleep: Move AC_LIBOBJ invocations to module description.
34934         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
34935         gl_PREREQ_NANOSLEEP invocations from here...
34936         * modules/nanosleep (configure.ac): ... to here.
34938 2011-05-21  Bruno Haible  <bruno@clisp.org>
34940         mountlist: Move AC_LIBOBJ invocations to module description.
34941         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
34942         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
34943         * modules/mountlist (configure.ac): ... to here.
34945 2011-05-21  Bruno Haible  <bruno@clisp.org>
34947         mktime: Respect rules for use of AC_LIBOBJ.
34948         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
34949         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
34950         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
34951         (gl_FUNC_MKTIME_INTERNAL): ... and here...
34952         * modules/mktime (configure.ac): ... to here.
34953         * modules/mktime-internal (configure.ac): ... and here.
34954         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
34956 2011-05-21  Bruno Haible  <bruno@clisp.org>
34958         mkstemps: Move AC_LIBOBJ invocations to module description.
34959         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
34960         here...
34961         * modules/mkstemps (configure.ac): ... to here.
34963 2011-05-21  Bruno Haible  <bruno@clisp.org>
34965         mkstemp: Move AC_LIBOBJ invocations to module description.
34966         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
34967         gl_PREREQ_MKSTEMP invocations from here...
34968         * modules/mkstemp (configure.ac): ... to here.
34970 2011-05-21  Bruno Haible  <bruno@clisp.org>
34972         mkostemps: Move AC_LIBOBJ invocations to module description.
34973         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
34974         here...
34975         * modules/mkostemps (configure.ac): ... to here.
34977 2011-05-21  Bruno Haible  <bruno@clisp.org>
34979         mkostemp: Move AC_LIBOBJ invocations to module description.
34980         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
34981         gl_PREREQ_MKOSTEMP invocations from here...
34982         * modules/mkostemp (configure.ac): ... to here.
34984 2011-05-21  Bruno Haible  <bruno@clisp.org>
34986         mknod: Move AC_LIBOBJ invocations to module description.
34987         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
34988         * modules/mknod (configure.ac): ... to here.
34990 2011-05-21  Bruno Haible  <bruno@clisp.org>
34992         mkfifoat: Move AC_LIBOBJ invocations to module description.
34993         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
34994         here...
34995         * modules/mkfifoat (configure.ac): ... to here.
34997 2011-05-21  Bruno Haible  <bruno@clisp.org>
34999         mkfifo: Respect rules for use of AC_LIBOBJ.
35000         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
35001         here...
35002         * modules/mkfifo (configure.ac): ... to here.
35004 2011-05-21  Bruno Haible  <bruno@clisp.org>
35006         mkdtemp: Move AC_LIBOBJ invocations to module description.
35007         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
35008         invocations from here...
35009         * modules/mkdtemp (configure.ac): ... to here.
35011 2011-05-21  Bruno Haible  <bruno@clisp.org>
35013         mkdir: Move AC_LIBOBJ invocations to module description.
35014         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
35015         * modules/mkdir (configure.ac): ... to here.
35017 2011-05-21  Bruno Haible  <bruno@clisp.org>
35019         memset: Move AC_LIBOBJ invocations to module description.
35020         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
35021         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
35022         here...
35023         * modules/memset (configure.ac): ... to here.
35025 2011-05-21  Bruno Haible  <bruno@clisp.org>
35027         memrchr: Move AC_LIBOBJ invocations to module description.
35028         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
35029         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
35030         here...
35031         * modules/memrchr (configure.ac): ... to here.
35033 2011-05-21  Bruno Haible  <bruno@clisp.org>
35035         mempcpy: Move AC_LIBOBJ invocations to module description.
35036         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
35037         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
35038         here...
35039         * modules/mempcpy (configure.ac): ... to here.
35041 2011-05-21  Bruno Haible  <bruno@clisp.org>
35043         memmove: Move AC_LIBOBJ invocations to module description.
35044         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
35045         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
35046         here...
35047         * modules/memmove (configure.ac): ... to here.
35049 2011-05-21  Bruno Haible  <bruno@clisp.org>
35051         memmem*: Move AC_LIBOBJ invocations to module description.
35052         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
35053         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
35054         here...
35055         (gl_FUNC_MEMMEM): ... and here...
35056         * modules/memmem-simple (configure.ac): ... to here.
35057         * modules/memmem (configure.ac): ... and here.
35059 2011-05-21  Bruno Haible  <bruno@clisp.org>
35061         memcpy: Move AC_LIBOBJ invocations to module description.
35062         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
35063         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
35064         here...
35065         * modules/memcpy (configure.ac): ... to here.
35067 2011-05-21  Bruno Haible  <bruno@clisp.org>
35069         memcmp: Simplify autoconf macro.
35070         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
35071         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
35072         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
35074 2011-05-21  Bruno Haible  <bruno@clisp.org>
35076         memcmp: Move AC_LIBOBJ invocations to module description.
35077         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
35078         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
35079         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
35080         * modules/memcmp (configure.ac): ... to here.
35081         (Depends-on): Update conditions.
35083 2011-05-21  Bruno Haible  <bruno@clisp.org>
35085         memchr: Respect rules for use of AC_LIBOBJ.
35086         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
35087         invocations from here...
35088         * modules/memchr (configure.ac): ... to here.
35090 2011-05-21  Bruno Haible  <bruno@clisp.org>
35092         mbtowc: Move AC_LIBOBJ invocations to module description.
35093         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
35094         invocations from here...
35095         * modules/mbtowc (configure.ac): ... to here.
35097 2011-05-21  Bruno Haible  <bruno@clisp.org>
35099         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
35100         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
35101         gl_PREREQ_MBSRTOWCS invocations from here...
35102         * modules/mbsrtowcs (configure.ac): ... to here.
35104 2011-05-21  Bruno Haible  <bruno@clisp.org>
35106         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
35107         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
35108         gl_PREREQ_MBSNRTOWCS invocations from here...
35109         * modules/mbsnrtowcs (configure.ac): ... to here.
35111 2011-05-21  Bruno Haible  <bruno@clisp.org>
35113         mbsinit: Move AC_LIBOBJ invocations to module description.
35114         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
35115         invocations from here...
35116         * modules/mbsinit (configure.ac): ... to here.
35118 2011-05-21  Bruno Haible  <bruno@clisp.org>
35120         mbrlen: Move AC_LIBOBJ invocations to module description.
35121         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
35122         invocations from here...
35123         * modules/mbrlen (configure.ac): ... to here.
35125 2011-05-21  Bruno Haible  <bruno@clisp.org>
35127         mbrtowc: Respect rules for use of AC_LIBOBJ.
35128         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
35129         invocations from here...
35130         * modules/mbrtowc (configure.ac): ... to here.
35132 2011-05-21  Bruno Haible  <bruno@clisp.org>
35134         malloc-*: Move AC_LIBOBJ invocations to module description.
35135         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
35136         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
35137         AC_LIBOBJ invocations from here...
35138         * modules/malloc-gnu (configure.ac): ... to here.
35139         * modules/malloc-posix (configure.ac): ... and here.
35141 2011-05-21  Bruno Haible  <bruno@clisp.org>
35143         lstat, openat: Respect rules for use of AC_LIBOBJ.
35144         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
35145         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
35146         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
35147         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
35148         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
35149         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
35150         here.
35151         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
35153 2011-05-21  Bruno Haible  <bruno@clisp.org>
35155         lseek: Move AC_LIBOBJ invocations to module description.
35156         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
35157         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
35158         * modules/lseek (configure.ac): ... to here.
35160 2011-05-21  Bruno Haible  <bruno@clisp.org>
35162         linkat: Move AC_LIBOBJ invocations to module description.
35163         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
35164         here...
35165         * modules/linkat (configure.ac): ... to here.
35167 2011-05-21  Bruno Haible  <bruno@clisp.org>
35169         link: Respect rules for use of AC_LIBOBJ.
35170         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
35171         * modules/link (configure.ac): ... to here.
35173 2011-05-21  Bruno Haible  <bruno@clisp.org>
35175         lchown: Move AC_LIBOBJ invocations to module description.
35176         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
35177         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
35178         * modules/lchown (configure.ac): ... to here.
35180 2011-05-21  Bruno Haible  <bruno@clisp.org>
35182         iswctype: Move AC_LIBOBJ invocations to module description.
35183         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
35184         here...
35185         * modules/iswctype (configure.ac): ... to here.
35187 2011-05-21  Bruno Haible  <bruno@clisp.org>
35189         iswblank: Move AC_LIBOBJ invocations to module description.
35190         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
35191         here...
35192         * modules/iswblank (configure.ac): ... to here.
35194 2011-05-21  Bruno Haible  <bruno@clisp.org>
35196         atanl: Move AC_LIBOBJ invocations to module description.
35197         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
35198         * modules/atanl (configure.ac): ... to here.
35200 2011-05-21  Bruno Haible  <bruno@clisp.org>
35202         acosl: Move AC_LIBOBJ invocations to module description.
35203         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
35204         * modules/acosl (configure.ac): ... to here.
35206 2011-05-21  Bruno Haible  <bruno@clisp.org>
35208         asinl: Respect rules for use of AC_LIBOBJ.
35209         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
35210         * modules/asinl (configure.ac): ... to here.
35212 2011-05-21  Bruno Haible  <bruno@clisp.org>
35214         tanl: Move AC_LIBOBJ invocations to module description.
35215         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
35216         * modules/tanl (configure.ac): ... to here.
35218 2011-05-21  Bruno Haible  <bruno@clisp.org>
35220         cosl: Move AC_LIBOBJ invocations to module description.
35221         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
35222         * modules/cosl (configure.ac): ... to here.
35224 2011-05-21  Bruno Haible  <bruno@clisp.org>
35226         sinl: Move AC_LIBOBJ invocations to module description.
35227         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
35228         * modules/sinl (configure.ac): ... to here.
35230 2011-05-21  Bruno Haible  <bruno@clisp.org>
35232         logl: Move AC_LIBOBJ invocations to module description.
35233         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
35234         * modules/logl (configure.ac): ... to here.
35236 2011-05-21  Bruno Haible  <bruno@clisp.org>
35238         expl: Move AC_LIBOBJ invocations to module description.
35239         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
35240         * modules/expl (configure.ac): ... to here.
35242 2011-05-21  Bruno Haible  <bruno@clisp.org>
35244         roundl: Move AC_LIBOBJ invocations to module description.
35245         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
35246         * modules/roundl (configure.ac): ... to here.
35248 2011-05-21  Bruno Haible  <bruno@clisp.org>
35250         round: Move AC_LIBOBJ invocations to module description.
35251         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
35252         * modules/round (configure.ac): ... to here.
35254 2011-05-21  Bruno Haible  <bruno@clisp.org>
35256         roundf: Move AC_LIBOBJ invocations to module description.
35257         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
35258         * modules/roundf (configure.ac): ... to here.
35260 2011-05-21  Bruno Haible  <bruno@clisp.org>
35262         truncl: Move AC_LIBOBJ invocations to module description.
35263         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
35264         * modules/truncl (configure.ac): ... to here.
35266 2011-05-21  Bruno Haible  <bruno@clisp.org>
35268         trunc: Move AC_LIBOBJ invocations to module description.
35269         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
35270         * modules/trunc (configure.ac): ... to here.
35272 2011-05-21  Bruno Haible  <bruno@clisp.org>
35274         truncf: Move AC_LIBOBJ invocations to module description.
35275         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
35276         * modules/truncf (configure.ac): ... to here.
35278 2011-05-21  Bruno Haible  <bruno@clisp.org>
35280         ceill: Move AC_LIBOBJ invocations to module description.
35281         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
35282         * modules/ceill (configure.ac): ... to here.
35284 2011-05-21  Bruno Haible  <bruno@clisp.org>
35286         ceil: Move AC_LIBOBJ invocations to module description.
35287         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
35288         * modules/ceil (configure.ac): ... to here.
35290 2011-05-21  Bruno Haible  <bruno@clisp.org>
35292         ceilf: Move AC_LIBOBJ invocations to module description.
35293         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
35294         * modules/ceilf (configure.ac): ... to here.
35296 2011-05-21  Bruno Haible  <bruno@clisp.org>
35298         floorl: Respect rules for use of AC_LIBOBJ.
35299         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
35300         * modules/floorl (configure.ac): ... to here.
35302 2011-05-21  Bruno Haible  <bruno@clisp.org>
35304         floor: Respect rules for use of AC_LIBOBJ.
35305         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
35306         * modules/floor (configure.ac): ... to here.
35308 2011-05-21  Bruno Haible  <bruno@clisp.org>
35310         floorf: Move AC_LIBOBJ invocations to module description.
35311         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
35312         * modules/floorf (configure.ac): ... to here.
35314 2011-05-20  Bruno Haible  <bruno@clisp.org>
35316         sqrtl: Respect rules for use of AC_LIBOBJ.
35317         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
35318         * modules/sqrtl (configure.ac): ... to here.
35320 2011-05-20  Bruno Haible  <bruno@clisp.org>
35322         ldexpl: Respect rules for use of AC_LIBOBJ.
35323         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
35324         * modules/ldexpl (configure.ac): ... to here.
35326 2011-05-20  Bruno Haible  <bruno@clisp.org>
35328         frexpl*: Respect rules for use of AC_LIBOBJ.
35329         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
35330         invocation from here...
35331         * modules/frexpl (configure.ac): ... to here.
35332         * modules/frexpl-nolibm (configure.ac): ... and here.
35334 2011-05-20  Bruno Haible  <bruno@clisp.org>
35336         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
35337         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
35338         invocation from here...
35339         * modules/frexp (configure.ac): ... to here.
35340         * modules/frexp-nolibm (configure.ac): ... and here.
35342 2011-05-20  Bruno Haible  <bruno@clisp.org>
35344         isnan: Respect rules for use of AC_LIBOBJ.
35345         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
35346         invocations here.
35347         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
35348         REPLACE_ISNAN.
35349         * modules/isnand (configure.ac): Likewise.
35350         * modules/isnanl (configure.ac): Likewise.
35352 2011-05-20  Bruno Haible  <bruno@clisp.org>
35354         isnanl*: Respect rules for use of AC_LIBOBJ.
35355         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
35356         invocation from here...
35357         * modules/isnanl (configure.ac): ... to here.
35358         * modules/isnanl-nolibm (configure.ac): ... and here.
35360 2011-05-20  Bruno Haible  <bruno@clisp.org>
35362         isnand*: Move AC_LIBOBJ invocations to module description.
35363         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
35364         invocation from here...
35365         * modules/isnand (configure.ac): ... to here.
35366         * modules/isnand-nolibm (configure.ac): ... and here.
35368 2011-05-20  Bruno Haible  <bruno@clisp.org>
35370         isnanf*: Move AC_LIBOBJ invocations to module description.
35371         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
35372         invocation from here...
35373         * modules/isnanf (configure.ac): ... to here.
35374         * modules/isnanf-nolibm (configure.ac): ... and here.
35376 2011-05-20  Bruno Haible  <bruno@clisp.org>
35378         isnan*: Separate the AC_LIBOBJ invocations.
35379         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
35380         AC_LIBOBJ invocation.
35381         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
35382         here.
35383         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
35384         AC_LIBOBJ invocation.
35385         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
35386         here.
35387         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
35388         AC_LIBOBJ invocation.
35389         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
35390         here.
35391         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
35393 2011-05-08  Bruno Haible  <bruno@clisp.org>
35395         isinf: Move AC_LIBOBJ invocations to module description.
35396         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
35397         * modules/isinf (configure.ac): ... to here.
35399 2011-05-08  Bruno Haible  <bruno@clisp.org>
35401         isfinite: Move AC_LIBOBJ invocations to module description.
35402         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
35403         * modules/isfinite (configure.ac): ... to here.
35405 2011-05-08  Bruno Haible  <bruno@clisp.org>
35407         isblank: Move AC_LIBOBJ invocations to module description.
35408         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
35409         here...
35410         * modules/isblank (configure.ac): ... to here.
35412 2011-05-08  Bruno Haible  <bruno@clisp.org>
35414         isapipe: Move AC_LIBOBJ invocations to module description.
35415         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
35416         gl_PREREQ_ISAPIPE invocations from here...
35417         * modules/isapipe (configure.ac): ... to here.
35418         (Depends-on): Update condition.
35420 2011-05-08  Bruno Haible  <bruno@clisp.org>
35422         ioctl: Move AC_LIBOBJ invocations to module description.
35423         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
35424         invocations from here...
35425         * modules/ioctl (configure.ac): ... to here.
35426         (Depends-on): Update condition.
35428 2011-05-08  Bruno Haible  <bruno@clisp.org>
35430         imaxdiv: Move AC_LIBOBJ invocations to module description.
35431         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
35432         invocations from here...
35433         * modules/imaxdiv (configure.ac): ... to here.
35435 2011-05-08  Bruno Haible  <bruno@clisp.org>
35437         imaxabs: Move AC_LIBOBJ invocations to module description.
35438         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
35439         invocations from here...
35440         * modules/imaxabs (configure.ac): ... to here.
35442 2011-05-08  Bruno Haible  <bruno@clisp.org>
35444         getaddrinfo: Move AC_LIBOBJ invocations to module description.
35445         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
35446         AC_LIBOBJ invocations from here...
35447         * modules/getaddrinfo (configure.ac): ... to here.
35448         (Depends-on): Add conditions.
35450 2011-05-08  Bruno Haible  <bruno@clisp.org>
35452         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
35453         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
35454         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
35455         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
35456         (gl_PREREQ_INET_PTON): ... from here.
35457         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
35458         gl_PREREQ_INET_PTON here.
35459         (Depends-on): Update condition.
35461 2011-05-08  Bruno Haible  <bruno@clisp.org>
35463         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
35464         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
35465         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
35466         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
35467         (gl_PREREQ_INET_NTOP): ... from here.
35468         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
35469         gl_PREREQ_INET_NTOP here.
35470         (Depends-on): Update condition.
35472 2011-05-08  Bruno Haible  <bruno@clisp.org>
35474         iconv_open: Move AC_LIBOBJ invocations to module description.
35475         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
35476         AC_LIBOBJ invocations from here...
35477         * modules/iconv_open (configure.ac): ... to here.
35479 2011-05-08  Bruno Haible  <bruno@clisp.org>
35481         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
35482         If module 'iconv_open' is among the main modules and module
35483         'iconv_open-utf' is among the tests dependencies, then
35484         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
35485         return the special iconv_t values. Therefore iconv() and iconv_close()
35486         must support these special iconv_t values, already in lib, not only in
35487         tests.
35488         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
35489         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
35490         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
35491         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
35492         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
35493         (Depends-on): Add the dependencies of iconv_open-utf.
35494         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
35495         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
35496         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
35498 2011-05-08  Bruno Haible  <bruno@clisp.org>
35500         group-member: Move AC_LIBOBJ invocations to module description.
35501         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
35502         gl_PREREQ_GROUP_MEMBER invocations from here...
35503         * modules/group-member (configure.ac): ... to here.
35505 2011-05-08  Bruno Haible  <bruno@clisp.org>
35507         grantpt: Move AC_LIBOBJ invocations to module description.
35508         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
35509         invocations from here...
35510         * modules/grantpt (configure.ac): ... to here.
35512 2011-05-08  Bruno Haible  <bruno@clisp.org>
35514         glob: Move AC_LIBOBJ invocations to module description.
35515         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
35516         from here...
35517         * modules/glob (configure.ac): ... to here.
35519 2011-05-08  Bruno Haible  <bruno@clisp.org>
35521         getusershell: Move AC_LIBOBJ invocations to module description.
35522         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
35523         Move AC_LIBOBJ invocation from here...
35524         * modules/getusershell (configure.ac): ... to here.
35525         (Depends-on): Update condition.
35527 2011-05-08  Bruno Haible  <bruno@clisp.org>
35529         gettimeofday: Move AC_LIBOBJ invocations to module description.
35530         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
35531         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
35532         gl_PREREQ_GETTIMEOFDAY invocations from here...
35533         * modules/gettimeofday (configure.ac): ... to here.
35535 2011-05-08  Bruno Haible  <bruno@clisp.org>
35537         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
35538         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
35539         just gl_FUNC_TZSET.
35540         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
35541         (gl_FUNC_TZSET_CLOBBER): Remove actions.
35542         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
35543         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
35545 2011-05-08  Bruno Haible  <bruno@clisp.org>
35547         getsubopt: Move AC_LIBOBJ invocations to module description.
35548         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
35549         gl_PREREQ_GETSUBOPT invocations from here...
35550         * modules/getsubopt (configure.ac): ... to here.
35552 2011-05-08  Bruno Haible  <bruno@clisp.org>
35554         getpass-gnu: Move AC_LIBOBJ invocations to module description.
35555         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
35556         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
35557         * modules/getpass-gnu (configure.ac): ... to here.
35559 2011-05-08  Bruno Haible  <bruno@clisp.org>
35561         getpass: Move AC_LIBOBJ invocations to module description.
35562         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
35563         gl_PREREQ_GETPASS invocations from here...
35564         * modules/getpass (configure.ac): ... to here.
35566 2011-05-08  Bruno Haible  <bruno@clisp.org>
35568         getpagesize: Move AC_LIBOBJ invocations to module description.
35569         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
35570         from here...
35571         * modules/getpagesize (configure.ac): ... to here.
35573 2011-05-08  Bruno Haible  <bruno@clisp.org>
35575         getopt: Move AC_LIBOBJ invocations to module description.
35576         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
35577         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
35578         invocations from here...
35579         * modules/getopt-gnu (configure.ac): ... to here.
35580         * modules/getopt-posix (configure.ac): ... and here.
35581         (Depends-on): Update condition.
35583 2011-05-08  Bruno Haible  <bruno@clisp.org>
35585         getopt, argp: Respect rules for use of AC_LIBOBJ.
35586         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
35587         (gl_REPLACE_GETOPT_ALWAYS): New macro.
35588         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
35589         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
35591 2011-05-08  Bruno Haible  <bruno@clisp.org>
35593         getlogin_r: Move AC_LIBOBJ invocations to module description.
35594         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
35595         gl_PREREQ_GETLOGIN_R invocations from here...
35596         * modules/getlogin_r (configure.ac): ... to here.
35598 2011-05-08  Bruno Haible  <bruno@clisp.org>
35600         getlogin: Move AC_LIBOBJ invocations to module description.
35601         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
35602         here...
35603         * modules/getlogin (configure.ac): ... to here.
35605 2011-05-08  Bruno Haible  <bruno@clisp.org>
35607         getloadavg: Move AC_LIBOBJ invocations to module description.
35608         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
35609         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
35610         * modules/getloadavg (configure.ac): ... to here.
35612 2011-05-08  Bruno Haible  <bruno@clisp.org>
35614         gethrxtime: Move AC_LIBOBJ invocations to module description.
35615         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
35616         LIB_GETHRXTIME from here...
35617         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
35618         invocations from here...
35619         * modules/gethrxtime (configure.ac): ... to here.
35621 2011-05-08  Bruno Haible  <bruno@clisp.org>
35623         gethostname: Move AC_LIBOBJ invocations to module description.
35624         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
35625         gl_PREREQ_GETHOSTNAME invocations from here...
35626         * modules/gethostname (configure.ac): ... to here.
35628 2011-05-08  Bruno Haible  <bruno@clisp.org>
35630         getgroups: Move AC_LIBOBJ invocations to module description.
35631         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
35632         here...
35633         * modules/getgroups (configure.ac): ... to here.
35635 2011-05-08  Bruno Haible  <bruno@clisp.org>
35637         getdtablesize: Move AC_LIBOBJ invocations to module description.
35638         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
35639         invocation from here...
35640         * modules/getdtablesize (configure.ac): ... to here.
35642 2011-05-08  Bruno Haible  <bruno@clisp.org>
35644         getdomainname: Move AC_LIBOBJ invocations to module description.
35645         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
35646         gl_PREREQ_GETDOMAINNAME invocations from here...
35647         * modules/getdomainname (configure.ac): ... to here.
35649 2011-05-08  Bruno Haible  <bruno@clisp.org>
35651         getline: Move AC_LIBOBJ invocations to module description.
35652         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
35653         invocations from here...
35654         * modules/getline (configure.ac): ... to here.
35656 2011-05-08  Bruno Haible  <bruno@clisp.org>
35658         getline: Simplify.
35659         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
35660         It's already handled through the module dependency.
35662 2011-05-08  Bruno Haible  <bruno@clisp.org>
35664         getdelim: Move AC_LIBOBJ invocations to module description.
35665         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
35666         and gl_PREREQ_GETDELIM invocations from here...
35667         * modules/getdelim (configure.ac): ... to here.
35668         (Depends-on): Fix condition.
35670 2011-05-08  Bruno Haible  <bruno@clisp.org>
35672         getcwd: Move AC_LIBOBJ invocations to module description.
35673         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
35674         invocations from here...
35675         * modules/getcwd (configure.ac): ... to here.
35677 2011-05-08  Bruno Haible  <bruno@clisp.org>
35679         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
35680         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
35681         here...
35682         * modules/getcwd-lgpl (configure.ac): ... to here.
35684 2011-05-07  Bruno Haible  <bruno@clisp.org>
35686         crypto/gc: Move AC_LIBOBJ invocations to module description.
35687         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
35688         * modules/crypto/gc (configure.ac): ... to here.
35690 2011-05-07  Bruno Haible  <bruno@clisp.org>
35692         fwriting: Move AC_LIBOBJ invocations to module description.
35693         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
35694         here...
35695         * modules/fwriting (configure.ac): ... to here.
35697 2011-05-07  Bruno Haible  <bruno@clisp.org>
35699         fwritable: Move AC_LIBOBJ invocations to module description.
35700         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
35701         here...
35702         * modules/fwritable (configure.ac): ... to here.
35704 2011-05-07  Bruno Haible  <bruno@clisp.org>
35706         futimens: Move AC_LIBOBJ invocations to module description.
35707         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
35708         here...
35709         * modules/futimens (configure.ac): ... to here.
35711 2011-05-07  Bruno Haible  <bruno@clisp.org>
35713         ftruncate: Move AC_LIBOBJ invocations to module description.
35714         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
35715         gl_PREREQ_FTRUNCATE invocations from here...
35716         * modules/ftruncate (configure.ac): ... to here.
35718 2011-05-07  Bruno Haible  <bruno@clisp.org>
35720         fsync: Move AC_LIBOBJ invocations to module description.
35721         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
35722         invocations from here...
35723         * modules/fsync (configure.ac): ... to here.
35725 2011-05-07  Bruno Haible  <bruno@clisp.org>
35727         fsusage: Move AC_LIBOBJ invocations to module description.
35728         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
35729         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
35730         * modules/fsusage (configure.ac): ... to here.
35732 2011-05-07  Bruno Haible  <bruno@clisp.org>
35734         freopen: Move AC_LIBOBJ invocations to module description.
35735         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
35736         invocations from here...
35737         * modules/freopen (configure.ac): ... to here.
35739 2011-05-07  Bruno Haible  <bruno@clisp.org>
35741         free: Move AC_LIBOBJ invocations to module description.
35742         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
35743         invocations from here...
35744         * modules/free (configure.ac): ... to here.
35746 2011-05-07  Bruno Haible  <bruno@clisp.org>
35748         freadable: Move AC_LIBOBJ invocations to module description.
35749         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
35750         here...
35751         * modules/freadable (configure.ac): ... to here.
35753 2011-05-07  Bruno Haible  <bruno@clisp.org>
35755         fpurge: Move AC_LIBOBJ invocations to module description.
35756         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
35757         invocations from here...
35758         * modules/fpurge (configure.ac): ... to here.
35760 2011-05-07  Bruno Haible  <bruno@clisp.org>
35762         fpending: Move AC_LIBOBJ invocations to module description.
35763         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
35764         gl_FUNC_FPENDING.
35765         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
35766         invocations from here...
35767         * modules/fpending (configure.ac): ... to here.
35769 2011-05-07  Bruno Haible  <bruno@clisp.org>
35771         fopen: Move AC_LIBOBJ invocations to module description.
35772         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
35773         invocations from here...
35774         * modules/fopen (configure.ac): ... to here.
35776 2011-05-07  Bruno Haible  <bruno@clisp.org>
35778         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
35779         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
35780         gl_FUNC_FNMATCH_POSIX.
35781         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
35782         invocations from here...
35783         * modules/fnmatch (configure.ac): ... to here.
35784         * modules/fnmatch-gnu (configure.ac): ... and here.
35786 2011-05-07  Bruno Haible  <bruno@clisp.org>
35788         flock: Move AC_LIBOBJ invocations to module description.
35789         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
35790         invocations from here...
35791         * modules/flock (configure.ac): ... to here.
35793 2011-05-07  Bruno Haible  <bruno@clisp.org>
35795         fileblocks: Move AC_LIBOBJ invocations to module description.
35796         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
35797         gl_PREREQ_FILEBLOCKS invocations from here...
35798         * modules/fileblocks (configure.ac): ... to here.
35800 2011-05-06  Bruno Haible  <bruno@clisp.org>
35802         fflush: Move AC_LIBOBJ invocations to module description.
35803         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
35804         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
35805         invocations from here...
35806         * modules/fflush (configure.ac): ... to here.
35808 2011-05-06  Bruno Haible  <bruno@clisp.org>
35810         fdopendir: Move AC_LIBOBJ invocations to module description.
35811         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
35812         here...
35813         * modules/fdopendir (configure.ac): ... to here.
35814         (Depends-on): Improve conditions.
35816 2011-05-06  Bruno Haible  <bruno@clisp.org>
35818         _Exit: Move AC_LIBOBJ invocations to module description.
35819         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
35820         invocations from here...
35821         * modules/_Exit (configure.ac): ... to here.
35823 2011-05-21  Bruno Haible  <bruno@clisp.org>
35825         euidaccess: Respect rules for use of AC_LIBOBJ.
35826         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
35827         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
35828         from here...
35829         * modules/euidaccess (configure.ac): ... to here.
35831 2011-05-06  Bruno Haible  <bruno@clisp.org>
35833         error: Move AC_LIBOBJ invocations to module description.
35834         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
35835         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
35836         invocations from here...
35837         * modules/error (configure.ac): ... to here.
35839 2011-05-06  Bruno Haible  <bruno@clisp.org>
35841         duplocale: Move AC_LIBOBJ invocations to module description.
35842         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
35843         gl_PREREQ_DUPLOCALE invocations from here...
35844         * modules/duplocale (configure.ac): ... to here.
35846 2011-05-05  Bruno Haible  <bruno@clisp.org>
35848         dirfd: Move AC_LIBOBJ invocations to module description.
35849         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
35850         gl_FUNC_DIRFD.
35851         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
35852         here...
35853         * modules/dirfd (configure.ac): ... to here.
35854         (Depends-on): Fix condition.
35856 2011-05-05  Bruno Haible  <bruno@clisp.org>
35858         chown: Respect rules for use of AC_LIBOBJ.
35859         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
35860         * modules/chown (configure.ac): ... to here.
35862 2011-05-05  Bruno Haible  <bruno@clisp.org>
35864         chdir-long: Move AC_LIBOBJ invocations to module description.
35865         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
35866         gl_PREREQ_CHDIR_LONG invocations from here...
35867         * modules/chdir-long (configure.ac): ... to here.
35869 2011-05-05  Bruno Haible  <bruno@clisp.org>
35871         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
35872         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
35873         from here...
35874         * modules/canonicalize-lgpl (configure.ac): ... to here.
35876 2011-05-05  Bruno Haible  <bruno@clisp.org>
35878         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
35879         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
35880         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
35881         REPLACE_CALLOC.
35882         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
35883         * modules/calloc-gnu (configure.ac): Likewise.
35885 2011-05-05  Bruno Haible  <bruno@clisp.org>
35887         btowc: Move AC_LIBOBJ invocations to module description.
35888         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
35889         invocations from here...
35890         * modules/btowc (configure.ac): ... to here.
35892 2011-05-21  Bruno Haible  <bruno@clisp.org>
35894         atexit: Move AC_LIBOBJ invocations to module description.
35895         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
35896         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
35897         here...
35898         * modules/atexit (configure.ac): ... to here.
35900 2011-05-05  Bruno Haible  <bruno@clisp.org>
35902         atoll: Move AC_LIBOBJ invocations to module description.
35903         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
35904         invocations from here...
35905         * modules/atoll (configure.ac): ... to here.
35907 2011-05-05  Bruno Haible  <bruno@clisp.org>
35909         argz: Move AC_LIBOBJ invocations to module description.
35910         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
35911         * modules/argz (configure.ac): ... to here.
35913 2011-05-05  Bruno Haible  <bruno@clisp.org>
35915         alphasort: Move AC_LIBOBJ invocations to module description.
35916         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
35917         gl_PREREQ_ALPHASORT invocations from here...
35918         * modules/alphasort (configure.ac): ... to here.
35920 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
35922         verify: new macro verify_expr; verify_true deprecated
35923         * NEWS: Mention this.
35924         * doc/verify.texi (Compile-time Assertions): Document this.
35925         * lib/verify.h (verify_true): Deprecate.
35926         (verify_expr): New macro.
35927         * tests/test-verify.c (function): Test verify_expr.
35929 2011-06-14  Jim Meyering  <meyering@redhat.com>
35931         init.sh: give more portable redirection-related advice in a comment
35932         * tests/init.sh (stderr_fileno_): Update the advice in comments.
35933         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
35934         for lots of discussion.  Stefano Lattarini suggested the solution
35935         of putting "9>&2" after the command.  Reported by Bruno Haible.
35937 2011-06-13  Bruno Haible  <bruno@clisp.org>
35939         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
35940         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
35941         'none'.
35943 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
35945         ftoastr: use strtof only if HAVE_STRTOF
35946         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
35947         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
35948         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
35949         * modules/ftoastr (configure.ac): Check for strtof.
35951 2011-06-13  Bruno Haible  <bruno@clisp.org>
35953         gnulib-tool: Addendum to 2011-06-08 commit.
35954         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
35955         and --witness-c-macro have been given, augment AM_CPPFLAGS.
35957 2011-06-13  Bruno Haible  <bruno@clisp.org>
35959         fseeko: Provide a non-inline replacement of fseek().
35960         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
35961         * modules/fseeko (Depends-on): Add fseek.
35962         * modules/fseek (License): Change to LGPLv2+.
35964 2011-06-13  Bruno Haible  <bruno@clisp.org>
35966         ftello: Provide a non-inline replacement of ftell().
35967         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
35968         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
35969         not have ftello() (such as on mingw).
35970         * modules/ftello (Depends-on): Add ftell.
35971         * modules/ftell (License): Change to LGPLv2+.
35973 2011-05-07  Bruno Haible  <bruno@clisp.org>
35975         ftell: Move AC_LIBOBJ invocations to module description.
35976         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
35977         * modules/ftell (configure.ac): ... to here.
35979 2011-05-07  Bruno Haible  <bruno@clisp.org>
35981         ftello: Respect rules for use of AC_LIBOBJ.
35982         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
35983         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
35984         here...
35985         * modules/ftello (configure.ac): ... to here.
35987 2011-05-07  Bruno Haible  <bruno@clisp.org>
35989         fseeko: Simplify.
35990         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
35991         (gl_FUNC_FSEEKO): Inline it here.
35993 2011-05-07  Bruno Haible  <bruno@clisp.org>
35995         fseek: Move AC_LIBOBJ invocations to module description.
35996         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
35997         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
35998         * modules/fseek (configure.ac): ... to here.
36000 2011-05-07  Bruno Haible  <bruno@clisp.org>
36002         fseek: Respect rules for use of AC_LIBOBJ.
36003         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
36004         here...
36005         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
36007 2011-05-07  Bruno Haible  <bruno@clisp.org>
36009         fseeko: Respect rules for use of AC_LIBOBJ.
36010         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
36011         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
36012         here...
36013         * modules/fseeko (configure.ac): ... to here.
36015 2011-06-13  Bruno Haible  <bruno@clisp.org>
36017         gnulib-tool: Allow comments in the 'Depends-on' section.
36018         * doc/gnulib.texi (Module description): Mention comment syntax in the
36019         Depends-on section.
36020         * gnulib-tool (func_get_dependencies): Filter out comment lines.
36022 2011-06-13  Bruno Haible  <bruno@clisp.org>
36024         file-set.h: guard __attibute__ use, now that it's not always defined
36025         * lib/file-set.h (record_file): Use __attribute__ only with compiler
36026         versions that support it.  This fixes a coreutils build failure with
36027         the vendor cc on HP-UX 11.31.
36029 2011-06-12  Bruno Haible  <bruno@clisp.org>
36031         acl: Add support for HP-UX >= 11.11 JFS ACLs.
36032         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
36033         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
36034         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
36035         (acl, aclsort): New declarations.
36036         (aclv_nontrivial): New declaration.
36037         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
36038         (file_has_acl): Read also the second kind of HP-UX ACLs.
36039         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
36040         kind of HP-UX ACLs if the first kind fails.
36041         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
36042         second kind of HP-UX ACLs.
36043         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
36044         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
36045         agree.
36046         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
36047         hpuxjfs.
36048         Handle hpuxjfs.
36049         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
36050         hpuxjfs.
36051         Handle hpuxjfs.
36052         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
36053         (func_test_same_acls): Use both lsacl and getacl.
36054         Handle hpuxjfs.
36055         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
36056         (func_test_same_acls): Use both lsacl and getacl.
36057         Handle hpuxjfs.
36059 2011-06-12  Bruno Haible  <bruno@clisp.org>
36061         acl: Complete the 2010-08-10 fix.
36062         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
36063         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
36064         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
36065         explicitly.
36066         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
36067         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
36069 2011-06-12  Bruno Haible  <bruno@clisp.org>
36071         spawn-pipe tests: Comments.
36072         * tests/test-spawn-pipe-child.c (main): Update comment.
36073         Reported by James Youngman <jay@gnu.org>.
36075 2011-06-11  James Youngman  <jay@gnu.org>
36077         New module 'stat-size'.
36078         * modules/stat-size: New module.  Provides macros for accessing
36079         file size information in instances of struct stat.  Depends on the
36080         fileblocks module because it calls st_blocks.
36081         * lib/stat-size.h: New file, adapted from coreutils' system.h.
36082         * doc/gnulib.texi: Include stat-size.texi.
36083         * doc/stat-size.texi: Documentation for this module.
36084         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
36085         * m4/fileblocks.m4: Mention that stat-size depends on the call to
36086         AC_STRUCT_ST_BLOCKS.
36088 2011-06-09  Bruno Haible  <bruno@clisp.org>
36090         thread: Support pthreads-win32.
36091         * lib/glthread/thread.h (gl_thread_self): Define differently on
36092         pthreads-win32.
36093         (gl_null_thread): New declaration.
36094         (gl_thread_self_pointer): New macro.
36095         * lib/glthread/thread.c (gl_null_thread): New constant.
36096         * tests/test-lock.c: Use gl_thread_self_pointer instead of
36097         gl_thread_self.
36098         * tests/test-tls.c: Likewise.
36099         Suggested by Paul Eggert. Reported by Eric Blake.
36101 2011-06-09  Bruno Haible  <bruno@clisp.org>
36103         thread: Fix confusion between NULL and 0.
36104         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
36105         Reported by Paul Eggert.
36107 2011-06-09  Bruno Haible  <bruno@clisp.org>
36109         spawn-pipe tests: Avoid test failure on HP-UX 11.
36110         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
36111         is closed.
36113 2011-06-09  Bruno Haible  <bruno@clisp.org>
36115         acl tests: Fix compilation error on HP-UX 11.
36116         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
36118 2011-06-09  Bruno Haible  <bruno@clisp.org>
36120         rmdir: Avoid test failure on HP-UX 10.20.
36121         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
36122         EEXIST.
36124 2011-06-08  Eric Blake  <eblake@redhat.com>
36126         perror: fix test on mingw
36127         * modules/perror-tests (Depends-on): Add dup2.
36129         strerror_r-posix: fix on MacOS
36130         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
36131         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
36132         logic bug.
36133         * lib/strerror_r.c (strerror_r): Fix the bug.
36134         * lib/strerror.c (strerror): Likewise.
36135         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
36136         problem.
36137         * doc/posix-functions/strerror.texi (strerror): Likewise.
36138         * doc/posix-functions/perror.texi (perror): Likewise.
36139         * tests/test-strerror.c (main): Enhance test.
36140         * tests/test-strerror_r.c (main): Likewise.
36142 2011-06-08  Bruno Haible  <bruno@clisp.org>
36144         gnulib-tool: Better isolation between different gnulib-tool invocations.
36145         * gnulib-tool: New option --witness-c-macro.
36146         (witness_c_macro): New variable.
36147         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
36148         AM_CPPFLAGS define it as a C macro.
36149         (func_emit_tests_Makefile_am): Likewise.
36150         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
36151         read it from there.
36152         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
36153         m4_define, not AC_DEFUN.
36154         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
36155         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
36156         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
36157         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
36158         s|...|...|, to substitute the values of the GNULIB_* module indicator
36159         variables.
36160         * modules/dirent (Makefile.am): Likewise.
36161         * modules/fcntl-h (Makefile.am): Likewise.
36162         * modules/iconv-h (Makefile.am): Likewise.
36163         * modules/langinfo (Makefile.am): Likewise.
36164         * modules/locale (Makefile.am): Likewise.
36165         * modules/math (Makefile.am): Likewise.
36166         * modules/netdb (Makefile.am): Likewise.
36167         * modules/poll-h (Makefile.am): Likewise.
36168         * modules/pty (Makefile.am): Likewise.
36169         * modules/search (Makefile.am): Likewise.
36170         * modules/signal (Makefile.am): Likewise.
36171         * modules/spawn (Makefile.am): Likewise.
36172         * modules/stdio (Makefile.am): Likewise.
36173         * modules/stdlib (Makefile.am): Likewise.
36174         * modules/string (Makefile.am): Likewise.
36175         * modules/sys_ioctl (Makefile.am): Likewise.
36176         * modules/sys_select (Makefile.am): Likewise.
36177         * modules/sys_socket (Makefile.am): Likewise.
36178         * modules/sys_stat (Makefile.am): Likewise.
36179         * modules/sys_times (Makefile.am): Likewise.
36180         * modules/sys_utsname (Makefile.am): Likewise.
36181         * modules/sys_wait (Makefile.am): Likewise.
36182         * modules/termios (Makefile.am): Likewise.
36183         * modules/time (Makefile.am): Likewise.
36184         * modules/unistd (Makefile.am): Likewise.
36185         * modules/wchar (Makefile.am): Likewise.
36187 2011-06-08  Eric Blake  <eblake@redhat.com>
36189         strerror: simplify replacement
36190         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
36191         * modules/strerror (configure.ac): No prereqs needed here...
36192         * modules/strerror-override (configure.ac): ...but this needs it.
36193         (Files): Add file for needed prereq macro.
36195 2011-06-08  Bruno Haible  <bruno@clisp.org>
36197         strerror_r-posix: Tweaks.
36198         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
36199         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
36200         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
36201         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
36202         (gl_FUNC_STRERROR_R): ... to here.
36203         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
36205 2011-06-07  Eric Blake  <eblake@redhat.com>
36207         perror: document fixed bugs
36208         * doc/posix-functions/perror.texi (perror): Document recent
36209         patches.
36211 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
36213         stat-time: get_stat_birthtime failure is better-defined
36214         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
36215         return a timestamp whose tv_sec and tv_nsec values are both -1.
36216         Previously, the spec said only that the tv_nsec value was negative.
36217         This upward-compatible change simplifies GNU tar a bit.
36219 2011-06-07  Eric Blake  <eblake@redhat.com>
36221         strerror_r-posix: work around cygwin 1.7.9
36222         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
36223         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
36224         bug without replacing strerror_r.
36225         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
36226         strerror_r is buggy, but without requiring strerror_r compilation.
36227         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
36229         test-perror: relax test to ignore cygwin bug
36230         * tests/test-perror2.c (main): Relax test on requiring detection
36231         of stream errors, and use unbuffered stream.
36232         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
36233         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
36234         * doc/posix-functions/fputc.texi (fputc): Likewise.
36235         * doc/posix-functions/fputs.texi (fputs): Likewise.
36236         * doc/posix-functions/fputws.texi (fputws): Likewise.
36237         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
36238         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
36239         * doc/posix-functions/getopt.texi (getopt): Likewise.
36240         * doc/posix-functions/perror.texi (perror): Likewise.
36241         * doc/posix-functions/printf.texi (printf): Likewise.
36242         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
36243         * doc/posix-functions/psignal.texi (psignal): Likewise.
36244         * doc/posix-functions/putc.texi (putc): Likewise.
36245         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
36246         Likewise.
36247         * doc/posix-functions/putchar.texi (putchar): Likewise.
36248         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
36249         Likewise.
36250         * doc/posix-functions/puts.texi (puts): Likewise.
36251         * doc/posix-functions/putwc.texi (putwc): Likewise.
36252         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
36253         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
36254         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
36255         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
36256         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
36257         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
36258         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
36259         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
36261 2011-05-22  Bruno Haible  <bruno@clisp.org>
36263         strerror: Move AC_LIBOBJ invocations to module description.
36264         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
36265         gl_PREREQ_STRERROR invocations from here...
36266         * modules/strerror (configure.ac): ... to here.
36268 2011-05-21  Bruno Haible  <bruno@clisp.org>
36270         perror: Use common idiom.
36271         * modules/perror (configure.ac): Reorder statements.
36273 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
36275         tests: fix usage message in 'mktempd_'
36276         * tests/init.sh (mktempd_): In the usage message, use literal
36277         'mktempd_', not '$ME' (which is even undefined), as the name of
36278         the subroutine.
36280 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
36282         tests init: new function 'fatal_', for hard errors
36283         Before this patch, the only way offered by tests/init.sh to
36284         properly signal a hard error was the `framework_failure_'
36285         function.  But the error message issued by that function,
36286         as its name would suggest, refers to a set-up failure in the
36287         testsuite, while hard errors can obviously also be due to
36288         other reasons.  The best way to fix this inconsistency is to
36289         introduce a new function with a more general error message.
36290         * tests/init.sh (fatal_): New function.
36292 2011-06-06  Eric Blake  <eblake@redhat.com>
36294         canonicalize-lgpl: use common idiom
36295         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
36296         over newer POSIX -Rf.
36297         Reported by Bruno Haible.
36299         canonicalize-lgpl: work around AIX realpath bug
36300         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
36301         * doc/posix-functions/realpath.texi (realpath): Document it.
36302         Reported by Bruno Haible.
36304         strerror: work around FreeBSD bug
36305         * lib/strerror.c (strerror): Special case 0.
36306         Reported by Bruno Haible.
36308         strerror-override: avoid bloating errno module
36309         * modules/errno (Files, configure.ac): Move replacement strings...
36310         * modules/strerror-override: ...to new module.
36311         * modules/strerror (Depends-on): Add strerror-override.
36312         * modules/strerror_r-posix (Depends-on): Likewise.
36313         * MODULES.html.sh: Document new module.
36314         Reported by Bruno Haible.
36316 2011-06-06  Bruno Haible  <bruno@clisp.org>
36318         spawn-pipe tests: Rename program.
36319         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
36320         * tests/test-spawn-pipe-child.c: Update comment.
36321         * tests/test-spawn-pipe.sh: Update.
36322         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
36324         spawn-pipe tests: Link the child program only against libc.
36325         * tests/test-spawn-pipe-child.c: New file, extracted from
36326         tests/test-spawn-pipe.c.
36327         (main): Expect only one argument.
36328         (is_open): New function, copied from tests/test-pipe.c.
36329         * tests/test-spawn-pipe.c: Don't include <errno.h>.
36330         (child_main): Remove function.
36331         (test_pipe): Pass only one argument to the child program.
36332         (main): Remove child process code. Expect the child program's name as
36333         first argument.
36334         * tests/test-spawn-pipe.sh: Pass the child program's name as first
36335         argument.
36336         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
36337         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
36338         test-spawn-pipe-child against no libraries.
36340 2011-06-06  Bruno Haible  <bruno@clisp.org>
36342         careadlinkat: Avoid mismatch between ssize_t and int.
36343         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
36344         * lib/careadlinkat.c (careadlinkatcwd): Define always.
36346 2011-06-06  Jim Meyering  <meyering@redhat.com>
36348         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
36349         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
36350         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
36352 2011-06-05  Bruno Haible  <bruno@clisp.org>
36354         ansi-c++-opt: Interoperability with libtool.
36355         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
36356         set the variable to "no", not to ":".
36357         * NEWS: Mention the change.
36359 2011-06-05  Bruno Haible  <bruno@clisp.org>
36361         acl: Fix test failure on AIX 7.
36362         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
36363         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
36365 2011-06-05  Bruno Haible  <bruno@clisp.org>
36367         pipe-filter-ii: Fix test failure on AIX and IRIX.
36368         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
36369         with EAGAIN, retry with a smaller buffer size.
36371 2011-06-05  Bruno Haible  <bruno@clisp.org>
36373         localename: Fix link dependencies.
36374         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
36375         * modules/localename-tests (Makefile.am): Link test-localename with
36376         $(LIBTHREAD).
36378 2011-06-05  Bruno Haible  <bruno@clisp.org>
36380         error: Avoid gcc warning.
36381         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
36383 2011-06-05  Bruno Haible  <bruno@clisp.org>
36385         unsetenv: Avoid gcc warning.
36386         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
36388 2011-06-05  Bruno Haible  <bruno@clisp.org>
36390         setenv: Avoid gcc warning.
36391         * lib/setenv.c (setenv): Provide declaration if system lacks it.
36393 2011-06-05  Bruno Haible  <bruno@clisp.org>
36395         sys_select: Ensure memset is declared also on AIX 7.
36396         * lib/sys_select.in.h: Include <string.h> also on AIX.
36397         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
36398         self-contained also on AIX 7.1.
36400 2011-06-04  Jim Meyering  <meyering@redhat.com>
36402         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
36403         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
36404         function name, "error".
36405         (_gl_translatable_diag_func_re): New configurable variable.
36407 2011-06-04  Bruno Haible  <bruno@clisp.org>
36409         getopt: Avoid gcc warning.
36410         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
36412 2011-06-04  Bruno Haible  <bruno@clisp.org>
36414         strerror_r: Fix comments.
36415         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
36416         commit.
36418 2011-06-04  Bruno Haible  <bruno@clisp.org>
36420         perror: Fix compilation error.
36421         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
36422         Undefine fprintf, not sprintf.
36423         * modules/perror (Depends-on): Remove intprops, verify.
36425 2011-06-04  Bruno Haible  <bruno@clisp.org>
36427         setlocale: Enable replacement on Cygwin 1.5.
36428         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
36429         Cygwin 1.5.x.
36430         * doc/posix-functions/setlocale.texi: Mention that the problem with the
36431         LC_CTYPE category also exists on Cygwin 1.5.x.
36433 2011-06-04  Bruno Haible  <bruno@clisp.org>
36435         strerror-override: Don't disable symbol renamings.
36436         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
36437         * lib/strerror-override.c: Include config.h.
36438         (strerror_override): Don't undefine.
36440 2011-06-03  Bruno Haible  <bruno@clisp.org>
36442         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
36443         * lib/localename.h: Update copyright header.
36444         * lib/localename.c: Likewise.
36445         * lib/relocatable.h: Likewise.
36446         * lib/relocatable.c: Likewise.
36448 2011-06-02  Bruno Haible  <bruno@clisp.org>
36450         doc: Fix a module name.
36451         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
36453 2011-06-02  Bruno Haible  <bruno@clisp.org>
36455         pipe2: Remove dependency on 'nonblocking' module.
36456         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
36457         O_NONBLOCK is defined by gnulib.
36458         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
36459         is zero.
36460         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
36461         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
36462         defined by gnulib.
36463         (get_nonblocking_flag): New function.
36464         (main): Test O_NONBLOCK flag only if it is nonzero.
36465         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
36467 2011-06-03  Jim Meyering  <meyering@redhat.com>
36469         maint: three new prohibit-header-without-use rules
36470         Prohibit use of cloexec.h, posixver.h, same.h without use.
36471         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
36472         (sc_prohibit_posixver_without_use): Likewise.
36473         (sc_prohibit_same_without_use): Likewise.
36475 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
36477         allocator: 'die' routine is now given requested size
36478         * lib/allocator.h (struct allocator.die): New size arg.
36479         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
36480         If the actual problem is an ssize_t limitation, not a size_t or
36481         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
36483 2011-06-01  Eric Blake  <eblake@redhat.com>
36485         strerror: drop strerror_r dependency
36486         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
36487         * lib/strerror-override.c (strerror_override): ...to new file.
36488         * lib/strerror-override.h: Add prototype.
36489         * lib/strerror-impl.h: Delete.
36490         * lib/strerror.c (strerror): New implementation.
36491         * modules/errno (Files): Add new files.
36492         (configure.ac): Compile new file as appropriate.
36493         * modules/strerror (Files): Drop unused file.
36494         (Depends-on): Drop strerror_r-posix.
36495         * MODULES.html.sh: Document strerror_r-posix.
36496         Requested by Sam Steingold.
36498         perror: call strerror_r directly
36499         * modules/perror (Files): Drop strerror-impl.h.
36500         * lib/perror.c (perror): Use our own stack buffer, rather than
36501         calling a wrapper that uses static storage.
36502         * doc/posix-functions/perror.texi (perror): Document a limitation
36503         of our replacement.
36505         strerror_r: fix includes for FreeBSD
36506         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
36507         since we use abort on some platforms.
36508         Reported by Matthias Bolte.
36510 2011-05-31  Bruno Haible  <bruno@clisp.org>
36512         Fix link errors in tests: openat-die uses gettext-h.
36513         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
36514         against $(LIBINTL).
36515         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
36516         against $(LIBINTL).
36517         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
36518         $(LIBINTL).
36519         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
36520         against $(LIBINTL).
36521         * modules/linkat-tests (Makefile.am): Link test-linkat against
36522         $(LIBINTL).
36523         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
36524         $(LIBINTL).
36525         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
36526         against $(LIBINTL).
36527         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
36528         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
36529         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
36530         $(LIBINTL).
36531         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
36532         $(LIBINTL).
36533         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
36534         $(LIBINTL).
36535         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36537 2011-05-31  Bruno Haible  <bruno@clisp.org>
36539         Fix link errors in tests: wait-process uses gettext-h.
36540         * modules/nonblocking-pipe-tests (Makefile.am): Set
36541         test_nonblocking_pipe_main_LDADD.
36542         * modules/nonblocking-socket-tests (Makefile.am): Link
36543         test-nonblocking-socket-main against $(LIBINTL).
36544         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36546 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
36548         assert-h: work around 'verify' incompatibility
36549         * lib/verify.h: Use @...@ directives, not ifdef.
36550         * modules/assert-h (assert.h): Implement the directives.
36551         (assert.h): Substitute the symbol-prefix more consistently.
36553 2011-05-29  Jim Meyering  <meyering@redhat.com>
36555         trim: remove three superfluous assignments
36556         * lib/trim.c (trim2): Remove three superfluous assignments
36557         and correct brace positioning.
36559 2011-05-29  Bruno Haible  <bruno@clisp.org>
36561         wctype-h: Avoid namespace pollution on Solaris 2.6.
36562         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
36563         identifiers.
36564         * doc/posix-headers/wctype.texi: Mention the problem.
36565         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36567 2011-05-28  Jim Meyering  <meyering@redhat.com>
36569         parse-datetime.y: accommodate -Wstrict-overflow
36570         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
36571         placate -Wstrict-overflow.
36573         trim: avoid a warning from -O2 -Wstrict-overflow
36574         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
36576 2011-05-29  Bruno Haible  <bruno@clisp.org>
36578         gnulib-tool: Fix bug in yesterday's commit.
36579         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
36580         twice.
36582 2011-05-29  Bruno Haible  <bruno@clisp.org>
36584         Allow multiple gnulib generated include files to be combined.
36585         * gnulib-tool (func_compute_include_guard_prefix): New function.
36586         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
36587         ${gl_include_guard_prefix} references.
36588         (func_import, func_create_testdir): Invoke
36589         func_compute_include_guard_prefix.
36590         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
36591         * lib/ctype.in.h: Likewise.
36592         * lib/dirent.in.h: Likewise.
36593         * lib/errno.in.h: Likewise.
36594         * lib/fcntl.in.h: Likewise.
36595         * lib/float.in.h: Likewise.
36596         * lib/getopt.in.h: Likewise.
36597         * lib/iconv.in.h: Likewise.
36598         * lib/langinfo.in.h: Likewise.
36599         * lib/locale.in.h: Likewise.
36600         * lib/math.in.h: Likewise.
36601         * lib/netdb.in.h: Likewise.
36602         * lib/netinet_in.in.h: Likewise.
36603         * lib/poll.in.h: Likewise.
36604         * lib/pthread.in.h: Likewise.
36605         * lib/pty.in.h: Likewise.
36606         * lib/sched.in.h: Likewise.
36607         * lib/se-selinux.in.h: Likewise.
36608         * lib/search.in.h: Likewise.
36609         * lib/signal.in.h: Likewise.
36610         * lib/spawn.in.h: Likewise.
36611         * lib/stdarg.in.h: Likewise.
36612         * lib/stddef.in.h: Likewise.
36613         * lib/stdint.in.h: Likewise.
36614         * lib/stdio.in.h: Likewise.
36615         * lib/stdlib.in.h: Likewise.
36616         * lib/string.in.h: Likewise.
36617         * lib/strings.in.h: Likewise.
36618         * lib/sys_file.in.h: Likewise.
36619         * lib/sys_ioctl.in.h: Likewise.
36620         * lib/sys_select.in.h: Likewise.
36621         * lib/sys_socket.in.h: Likewise.
36622         * lib/sys_stat.in.h: Likewise.
36623         * lib/sys_time.in.h: Likewise.
36624         * lib/sys_times.in.h: Likewise.
36625         * lib/sys_uio.in.h: Likewise.
36626         * lib/sys_utsname.in.h: Likewise.
36627         * lib/sys_wait.in.h: Likewise.
36628         * lib/sysexits.in.h: Likewise.
36629         * lib/termios.in.h: Likewise.
36630         * lib/time.in.h: Likewise.
36631         * lib/unistd.in.h: Likewise.
36632         * lib/wchar.in.h: Likewise.
36633         * lib/wctype.in.h: Likewise.
36634         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
36635         * modules/ctype (Makefile.am): Likewise.
36636         * modules/dirent (Makefile.am): Likewise.
36637         * modules/errno (Makefile.am): Likewise.
36638         * modules/fcntl-h (Makefile.am): Likewise.
36639         * modules/float (Makefile.am): Likewise.
36640         * modules/getopt-posix (Makefile.am): Likewise.
36641         * modules/iconv-h (Makefile.am): Likewise.
36642         * modules/langinfo (Makefile.am): Likewise.
36643         * modules/locale (Makefile.am): Likewise.
36644         * modules/math (Makefile.am): Likewise.
36645         * modules/netdb (Makefile.am): Likewise.
36646         * modules/netinet_in (Makefile.am): Likewise.
36647         * modules/poll-h (Makefile.am): Likewise.
36648         * modules/pthread (Makefile.am): Likewise.
36649         * modules/pty (Makefile.am): Likewise.
36650         * modules/sched (Makefile.am): Likewise.
36651         * modules/search (Makefile.am): Likewise.
36652         * modules/selinux-h (Makefile.am): Likewise.
36653         * modules/signal (Makefile.am): Likewise.
36654         * modules/spawn (Makefile.am): Likewise.
36655         * modules/stdarg (Makefile.am): Likewise.
36656         * modules/stddef (Makefile.am): Likewise.
36657         * modules/stdint (Makefile.am): Likewise.
36658         * modules/stdio (Makefile.am): Likewise.
36659         * modules/stdlib (Makefile.am): Likewise.
36660         * modules/string (Makefile.am): Likewise.
36661         * modules/strings (Makefile.am): Likewise.
36662         * modules/sys_file (Makefile.am): Likewise.
36663         * modules/sys_ioctl (Makefile.am): Likewise.
36664         * modules/sys_select (Makefile.am): Likewise.
36665         * modules/sys_socket (Makefile.am): Likewise.
36666         * modules/sys_stat (Makefile.am): Likewise.
36667         * modules/sys_time (Makefile.am): Likewise.
36668         * modules/sys_times (Makefile.am): Likewise.
36669         * modules/sys_uio (Makefile.am): Likewise.
36670         * modules/sys_utsname (Makefile.am): Likewise.
36671         * modules/sys_wait (Makefile.am): Likewise.
36672         * modules/sysexits (Makefile.am): Likewise.
36673         * modules/termios (Makefile.am): Likewise.
36674         * modules/time (Makefile.am): Likewise.
36675         * modules/unistd (Makefile.am): Likewise.
36676         * modules/wchar (Makefile.am): Likewise.
36677         * modules/wctype-h (Makefile.am): Likewise.
36678         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
36680 2011-05-29  Bruno Haible  <bruno@clisp.org>
36682         assert-h: Allow multiple gnulib generated replacements to coexist.
36683         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
36685 2011-05-29  Bruno Haible  <bruno@clisp.org>
36687         argp: Allow coexistence with strerror_r-posix module.
36688         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
36689         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
36690         by gnulib's <string.h> replacement), assume it has the POSIX signature,
36691         not the glibc signature.
36693 2011-05-28  Bruno Haible  <bruno@clisp.org>
36695         gnulib-tool: Alternative structure of testdirs, similar to --import.
36696         * gnulib-tool: New option --single-configure.
36697         (func_usage): Document it.
36698         (single_configure): New variable.
36699         (func_modules_transitive_closure_separately,
36700         func_modules_transitive_closure_separately,
36701         func_determine_use_libtests, func_modules_add_dummy_separately,
36702         func_modules_to_filelist_separately): New functions, extracted from
36703         func_import.
36704         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
36705         (func_import): Use the new functions.
36706         (func_create_testdir): Set final_modules. Handle $single_configure =
36707         true case.
36709 2011-05-28  Bruno Haible  <bruno@clisp.org>
36711         getloadavg: Remove an unreliable safety check.
36712         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
36713         getloadavg.c is in place.
36714         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
36715         Reported by Sam Steingold <sds@gnu.org>.
36717 2011-05-28  Bruno Haible  <bruno@clisp.org>
36719         doc: Cleanup yet another file produced by texinfo.tex.
36720         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
36722 2011-05-28  Bruno Haible  <bruno@clisp.org>
36724         Finish the conditional dependencies mechanism.
36725         * gnulib-tool: New option --no-conditional-dependencies.
36726         (func_usage): Document it. Don't mark --conditional-dependencies as
36727         experimental.
36728         (cond_dependencies): The possible values can now be true, false, empty.
36729         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
36730         (func_import): Store setting in gnulib-cache.m4 and read it from there.
36731         * doc/gnulib-tool.texi (Conditional dependencies): New section.
36733 2011-05-28  Bruno Haible  <bruno@clisp.org>
36735         doc: Use a recent texinfo.tex.
36736         * doc/Makefile (tex_opts): New variable.
36737         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
36739 2011-05-28  Jim Meyering  <meyering@redhat.com>
36741         intprops.h: adjust comment to match code change
36742         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
36743         only once, it *may* have side effects.  Also fix an unrelated typo.
36744         (_GL_INT_SIGNED): Likewise.
36746 2011-05-26  Simon Josefsson  <simon@josefsson.org>
36748         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
36750 2011-05-26  Bruno Haible  <bruno@clisp.org>
36752         mbsrchr: Avoid collision with system function on Interix.
36753         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
36754         Reported by Markus Duft <mduft@gentoo.org>.
36756 2011-05-15  James Youngman  <jay@gnu.org>
36758         getopt: for ambiguous options, enumerate the possibilities.
36759         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
36760         the ambiguous options when an ambiguous prefix is given. This was
36761         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
36762         glibc change was
36763         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
36765 2011-05-25  Eric Blake  <eblake@redhat.com>
36767         getcwd: work around mingw bug
36768         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
36769         * doc/posix-functions/getcwd.texi (getcwd): Document it.
36770         Reported by Matthias Bolte.
36772 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
36774         test-intprops: disable -Wtype-limits diagnostics
36775         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
36776         diagnostics.  Otherwise, the integer overflow macros generate many
36777         diagnostics.  Reported by Jim Meyering in
36778         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
36780         intprops: shorten, to pacify gcc -Woverlength-strings
36781         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
36782         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
36783         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
36784         likely to run afoul of C compiler limits for string constant lengths.
36785         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
36787 2011-05-24  Eric Blake  <eblake@redhat.com>
36789         docs: document recently fixed glibc printf bug
36790         * doc/posix-functions/fprintf.texi (fprintf): Document it.
36791         * doc/posix-functions/printf.texi (printf): Likewise.
36792         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
36793         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
36795         closein-tests: convert to init.sh
36796         * modules/closein-tests (Files): Add init.sh
36797         * tests/test-closein.sh Use it.
36799         yesno-tests: convert to init.sh
36800         * modules/yesno-tests (Files): Add init.sh.
36801         * tests/test-yesno.sh: Use it.
36803         atexit-tests: ensure reliable exit status
36804         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
36805         Reported by Bruno Haible.
36807 2011-05-24  Bruno Haible  <bruno@clisp.org>
36809         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
36810         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
36811         gl_PREREQ_STRERROR_R invocations from here...
36812         * modules/strerror_r-posix (configure.ac): ... to here.
36814 2011-05-24  Eric Blake  <eblake@redhat.com>
36816         strerror_r: fix missing header
36817         * lib/strerror_r.c: Avoid compiler warning about snprintf.
36819         strerror_r: fix AIX test failures
36820         * lib/strerror_r.c (strerror_r): Convert silent truncation to
36821         ERANGE failure.
36823         strerror_r: fix Solaris test failures
36824         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
36825         failures.
36826         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
36828         strerror_r: enforce POSIX recommendations
36829         * lib/strerror_r.c (safe_copy): New helper method.
36830         (strerror_r): Guarantee a non-empty string.
36831         * tests/test-strerror_r.c (main): Enhance tests to incorporate
36832         recent POSIX rulings and to match our strerror guarantees.
36833         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
36835 2011-05-24  Jim Meyering  <meyering@redhat.com>
36837         test-perror2.c: avoid warning about unused variable
36838         * tests/test-perror2.c (main): Remove declaration of unused "fp".
36840 2011-05-24  Eric Blake  <eblake@redhat.com>
36842         perror: avoid spurious test failure on HP-UX
36843         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
36845         tests: fix logic bug in init.sh
36846         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
36847         shell.
36849 2011-05-24  Jim Meyering  <meyering@redhat.com>
36851         utimensat: do not reference an out-of-scope buffer
36852         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
36853         declared in an inner scope, yet "times" would be dereferenced outside
36854         the scope in which "ts" was valid.
36855         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
36856         of ts[2] "out/up", so that the use of aliased "times" (via
36857         "times = ts;") does not end up referencing an out-of-scope "ts"
36859         opendir-safer.c: don't clobber errno; don't close negative FD
36860         * lib/opendir-safer.c (opendir_safer):
36861         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
36862         file descriptor, and more importantly, don't clobber the
36863         offending errno value with EINVAL.  Before, upon failure
36864         of dup_safer, we would pass the negative file descriptor to
36865         fdopendir, which would clobber errno.
36867 2011-05-23  Bruno Haible  <bruno@clisp.org>
36869         idcache: Fix module description.
36870         * modules/idcache (Include): Set to "idcache.h".
36872 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
36874         gnulib-tool: fix portability problem with MacOS sed
36875         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
36876         before the "}".  Problem reported by Leo in
36877         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
36878         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
36879         sed_extract_condition1, sed_extract_condition2.
36881 2011-05-23  Bruno Haible  <bruno@clisp.org>
36883         hash: Simplify autoconf macro.
36884         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
36886 2011-05-23  Bruno Haible  <bruno@clisp.org>
36888         getugroups: Fix module description.
36889         * modules/getugroups (Include): Set to "getugroups.h".
36891 2011-05-23  Bruno Haible  <bruno@clisp.org>
36893         linkat: Simplify autoconf macro.
36894         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
36896 2011-05-23  Bruno Haible  <bruno@clisp.org>
36897             Eric Blake  <eblake@redhat.com>
36899         linkat, renameat: Update dependencies.
36900         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
36901         * modules/linkat (Depends-on): Likewise. Remove also readlink,
36902         symlinkat.
36904 2011-05-23  Jim Meyering  <meyering@redhat.com>
36906         maint.mk: more tight_scope improvements
36907         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
36908         (_gl_TS_headers): Define only in if-0'd block.
36909         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
36910         sometimes we must *not* use it.  Adjust uses accordingly.
36911         (sc_tight_scope): Use much simpler grep-based test to determine
36912         whether we skip this rule.
36914         maint.mk: generalize/improve the tight-scope rule
36915         * top/maint.mk: Emit a warning when the test is skipped.
36916         (_gl_TS_dir): Add $(srcdir)/ prefix.
36917         (_gl_TS_function_match): Simplify, rather than trying
36918         to enumerate common types.  Otherwise, it would fail to match an
36919         "extern unsigned char const *" declaration in idutils.
36920         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
36921         a way to support use of that type of macro.
36922         (_gl_TS_var_match): Simplify regexp.
36923         (_gl_TS_obj_files): New configurable variable.
36924         (_gl_TS_headers): Likewise.
36926 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
36928         verify: fix bug when gnulib <assert.h> is also included
36929         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
36930         is defined, not if _GL_STATIC_ASSERT_H is not defined.
36931         Perhaps there's a better way, but this fixes the immediate problem.
36932         Problem reported by Bruno Haible in
36933         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
36935 2011-05-22  Bruno Haible  <bruno@clisp.org>
36937         xgetcwd: Simplify autoconf macro.
36938         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
36940 2011-05-22  Bruno Haible  <bruno@clisp.org>
36942         New module 'mktime-internal'.
36943         * modules/mktime-internal: New file.
36944         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
36945         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
36946         mktime_internal as a C macro if libc has __mktime_internal.
36947         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
36948         conditions.
36949         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
36951 2011-05-22  Bruno Haible  <bruno@clisp.org>
36953         timegm: Correct mktime replacement statements.
36954         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
36955         defining mktime as a C macro. This completes a 2009-07-28 commit.
36957 2011-05-22  Bruno Haible  <bruno@clisp.org>
36959         timegm: Simplify autoconf macro.
36960         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
36962 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
36964         clock-time: change to LGPLv2+.
36965         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
36966         BSD-like but we have no mark for that; this is good enough for now.
36968 2011-05-21  Bruno Haible  <bruno@clisp.org>
36970         strerror_r: Fix comments.
36971         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
36973 2011-05-21  Bruno Haible  <bruno@clisp.org>
36975         relocatable-prog-wrapper: Fix possible link error.
36976         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
36977         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
36978         (gl_FUNC_SETENV): ... to here.
36979         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
36980         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
36982 2011-05-21  Bruno Haible  <bruno@clisp.org>
36984         relocatable-prog-wrapper: Assume strerror() exists.
36985         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
36986         m4/strerror.m4.
36987         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
36988         * lib/relocwrapper.c: Remove mention of strerror module.
36989         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
36990         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
36991         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
36992         C macro.
36994 2011-05-21  Bruno Haible  <bruno@clisp.org>
36996         select: Simplify replacement idiom.
36997         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
36998         Win32 platforms.
36999         * lib/sys_select.in.h (select): Simplify accordingly.
37000         * modules/select (Depends-on): Likewise.
37002 2011-05-21  Bruno Haible  <bruno@clisp.org>
37004         mkdir-p: Simplify autoconf macro.
37005         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
37006         gl_FUNC_LCHOWN.
37008 2011-05-21  Eric Blake  <eblake@redhat.com>
37010         strerror_r: avoid clobbering strerror on cygwin
37011         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
37012         fall back instead to sys_errlist.
37013         * modules/strerror (configure.ac): Add witness.
37014         * tests/test-strerror_r.c (main): Enhance test.
37015         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
37016         * tests/test-perror2.c (main): Free memory before exit.
37018 2011-05-21  Bruno Haible  <bruno@clisp.org>
37020         mkdtemp: Use gnulib naming conventions.
37021         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
37022         * modules/mkdtemp (configure.ac): Update.
37024 2011-05-20  Eric Blake  <eblake@redhat.com>
37026         strerror_r: avoid corrupting errno on Solaris
37027         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
37028         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
37030         strerror_r: avoid compiler warning
37031         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
37033         strerror_r: simplify AIX code
37034         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
37036         test-perror: avoid spurious failure on FreeBSD
37037         * modules/perror-tests (Depends-on): Add strerror, now that
37038         strerror_r no longer pulls it in.
37040 2011-05-20  Bruno Haible  <bruno@clisp.org>
37042         strerror_r-posix: Remove unused dependencies.
37043         * modules/strerror_r-posix (Depends-on): Remove strerror.
37044         Reported by Eric Blake.
37046 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
37048         intprops: remove assumption about A|B representation
37049         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
37050         is a valid integer if both A and B are.  Although this is true for
37051         all known practical hosts, the C standard doesn't guarantee it,
37052         and the code need not assume it.  Also, this change may work around
37053         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
37054         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
37056 2011-05-20  Eric Blake  <eblake@redhat.com>
37058         perror: work around FreeBSD bug
37059         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
37060         is broken.  Move AC_LIBOBJ...
37061         * modules/perror (configure.ac): Here.
37062         * doc/posix-functions/perror.texi (perror): Document this.
37063         * tests/test-perror2.c (main): Enhance test.
37065         test-perror: check for strerror interactions
37066         * tests/macros.h (STREQ): Add macro.
37067         * modules/perror-tests (Files): Add second test.
37068         * tests/test-perror2.c (main): New file.
37069         * doc/posix-functions/perror.texi (perror): Document glibc bug.
37071         test-perror: rewrite to use init script
37072         * modules/perror-tests (Files): Add init.sh.
37073         * tests/test-perror.sh: Use temporary directory.
37075 2011-05-20  Jim Meyering  <meyering@redhat.com>
37077         maint: replace misused "a" with "an"
37078         * doc/intprops.texi: "a integer"
37079         * doc/regex.texi: "a explanation"
37080         * lib/alignof.h: "a object"
37081         * lib/argmatch.h: "a explanation"
37082         * lib/argp-help.c: "a option" and "a OPTION_DOC"
37083         * lib/stdint.in.h: "a integer"
37084         * lib/userspec.c: "a owner"
37085         * doc/gnulib.texi: Fix "a idea", and reword.
37087 2011-05-19  Jim Meyering  <meyering@redhat.com>
37089         maint: correct misuse of "a" and "an"
37090         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
37091         * lib/argp-help.c: "an docum...": s/an/a/
37092         * lib/argp-parse.c: "An vector": s/An/A/
37093         * lib/execute.c: "an native": s/an/a/
37094         * lib/spawn-pipe.c: Likewise.
37095         * lib/gc.h: "an Gc_rc": s/an/a/
37096         * lib/unigbrk.in.h: "an grapheme": s/an/a/
37097         * lib/fts.c: "an stat.st_dev": s/an/a/
37099 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
37101         intprops-tests: work around HP-UX 11.23 cc bug with constants
37102         * tests/test-intprops.c (VERIFY): New macro.
37103         (main): Use it, instead of verify, to work around the compiler bug; see
37104         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
37106         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
37107         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
37108         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
37109         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
37110         (_GL_REMAINDER_OVERFLOW): Use it.
37112         intprops-tests: revert unsigned part of previous change
37113         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
37114         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
37115         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
37116         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
37118 2011-05-19  Bruno Haible  <bruno@clisp.org>
37120         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
37121         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
37122         strerror_r() returned without filling the buffer.
37123         Reported by Eric Blake.
37125 2011-05-19  Eric Blake  <eblake@redhat.com>
37127         strerror_r: guarantee unchanged errno
37128         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
37129         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
37130         failure.
37131         * tests/test-strerror_r.c (main): Enhance test.
37133 2011-05-19  Bruno Haible  <bruno@clisp.org>
37135         strerror_r: Reorder #if blocks.
37136         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
37137         for consistency with the previous commit.
37139 2011-05-19  Bruno Haible  <bruno@clisp.org>
37141         perror: Avoid clobbering the strerror buffer when possible.
37142         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
37143         * lib/strerror.c: Include it.
37144         * modules/strerror (Files): Add lib/strerror-impl.h.
37145         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
37146         (my_strerror): New function, defined through lib/strerror-impl.h.
37147         (perror): Use it instead of strerror.
37148         * modules/perror (Files): Add lib/strerror-impl.h.
37149         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
37151 2011-05-19  Eric Blake  <eblake@redhat.com>
37153         strerror_r: fix on newer cygwin
37154         * lib/strerror_r.c (strerror_r): Cygwin now has
37155         __xpg_strerror_r, use it.
37157 2011-05-19  Bruno Haible  <bruno@clisp.org>
37159         strerror_r: Avoid clobbering the strerror buffer when possible.
37160         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
37161         (sys_nerr, sys_errlist): New declarations.
37162         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
37163         HP-UX, native Win32, IRIX, and 32-bit Solaris.
37164         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
37166 2011-05-19  Bruno Haible  <bruno@clisp.org>
37168         strerror_r: Fix test failure on mingw.
37169         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
37170         EXTEND_STRERROR_R.
37171         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
37172         macros from errno.in.h instead.
37174 2011-05-19  Eric Blake  <eblake@redhat.com>
37176         strerror: relax test for Solaris
37177         * tests/test-strerror.c (main): Permit Solaris behavior.
37178         * tests/test-strerror_r.c (main): Likewise.
37180         strerror: enforce POSIX ruling on strerror(0)
37181         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
37182         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
37183         * lib/strerror_r.c (rpl_strerror_r): Work around it.
37184         * doc/posix-functions/strerror.texi (strerror): Document it.
37185         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
37186         * tests/test-strerror.c (main): Strengthen test.
37187         * tests/test-strerror_r.c (main): Likewise.
37189 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
37191         intprop-tests: port to older and more-pedantic compilers
37192         * modules/intprops-tests (Files): Add tests/macros.h.
37193         * tests/test-intprops.c: Include macros.h.
37194         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
37195         it's no longer documented to expand to an integer constant expression.
37196         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
37197         argument is floating point, as it's no longer documented to expand
37198         to an integer constant expression in that case.
37199         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
37200         compiler bugs reported by Bruno Haible.  See
37201         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
37202         (U0, U1): New constants, to work around the same bugs.  Also,
37203         in tests, use e.g., "(unsigned int) 39" rather than "39u".
37205         intprops: work around C compiler bugs
37206         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
37207         bug in Sun C 5.11 2010/08/13 and other compilers; see
37208         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
37210         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
37211         * doc/intprops.texi (Integer Type Determination): Fix
37212         documentation for TYPE_IS_INTEGER: it returns an constant
37213         expression, not an integer constant expression.  Fix doc for
37214         TYPE_SIGNED: it returns an integer constant expression only if its
37215         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
37216         hardly worth documented that way....)
37218 2011-05-18  Bruno Haible  <bruno@clisp.org>
37220         strerror_r: Avoid clobbering the strerror buffer when possible.
37221         * lib/strerror_r.c (strerror_r): Merge the three implementations.
37222         Handle gnulib defined errno values here. When strerror() returns NULL
37223         or an empty string, return EINVAL.
37224         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
37225         gnulib defined errno values here.
37226         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
37228 2011-05-18  Eric Blake  <eblake@redhat.com>
37230         fnmatch: avoid compiler warning
37231         * lib/fnmatch_loop.c (FCT): Use correct type.
37232         Reported by Matthias Bolte.
37234 2011-05-13  Jim Meyering  <meyering@redhat.com>
37236         maint.mk: three new prohibit_<HDR>_without_use rules
37237         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
37238         (sc_prohibit_stdio-safer_without_use): Likewise.
37239         (sc_prohibit_xfreopen_without_use): Likewise.
37241 2011-05-17  Jim Meyering  <meyering@redhat.com>
37243         announce-gen: fail if the NEWS delta is empty
37244         If there's nothing noteworthy in NEWS, then either you forgot
37245         or you shouldn't be releasing.
37246         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
37248 2011-05-17  Pádraig Brady  <P@draigBrady.com>
37250         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
37251         reserved symbols starting with double underscore from the check.
37253 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
37255         intprops: add doc
37256         * doc/intprops.texi: New file, documenting intprops.
37257         * doc/gnulib.texi (Particular Modules): Include it.
37259         verify: add doc to gnulib manual and fix example
37260         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
37261         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
37262         (Compile-time Assertions): Fix example so it can't overflow.
37264 2011-05-17  Jim Meyering  <meyering@redhat.com>
37266         warnings.m4: don't usurp save_CPPFLAGS variable name
37267         * m4/warnings.m4: Prefix local temporary variable name with gl_.
37269         doc: fix typo
37270         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
37272 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
37273             Bruno Haible  <bruno@clisp.org>
37275         doc: Tweak recent change.
37276         * README (Portability guidelines): Tweak new text.
37277         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
37278         Interix 6.1.
37280 2011-05-16  Eric Blake  <eblake@redhat.com>
37282         inttypes: avoid autoconf warning
37283         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
37284         * m4/stdint.m4 (gl_STDINT_H): Likewise.
37286 2011-05-16  Sam Steingold  <sds@gnu.org>
37287         and Eric Blake  <eblake@redhat.com>
37289         vc-list-files: accept multiple directory operands
37290         * build-aux/vc-list-files: Iterate over all remaining operands.
37292 2011-05-16  Bruno Haible  <bruno@clisp.org>
37294         Fix confusion regarding deprecated modules.
37295         * modules/calloc (Status, Notice): Mark module as deprecated, not
37296         obsolete.
37297         * modules/fnmatch-posix (Status, Notice): Likewise.
37298         * modules/getdate (Status, Notice): Likewise.
37299         * modules/getopt (Status, Notice): Likewise.
37300         * modules/malloc (Status, Notice): Likewise.
37301         * modules/pipe (Status, Notice): Likewise.
37302         * modules/realloc (Status, Notice): Likewise.
37303         * modules/rename-dest-slash (Status, Notice): Likewise.
37304         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
37305         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
37306         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
37307         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
37308         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
37310 2011-05-16  Bruno Haible  <bruno@clisp.org>
37312         doc: List the target platforms.
37313         * doc/gnulib-intro.texi (Target Platforms): New section.
37314         * doc/gnulib.texi (Introduction): Update menu.
37315         * README (Portability guidelines): Refer to the new section. Update
37316         statement about oldest supported environment. Remove rationale why
37317         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
37318         unportable C89 function.
37319         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
37320         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
37322 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
37324         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
37326 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
37328         intprops-tests: new module
37329         * modules/intprops-tests, tests/test-intprops.c: New files.
37331         intprops: add safe, portable integer overflow checking
37332         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
37333         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
37334         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
37335         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
37336         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
37337         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
37338         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
37339         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
37340         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
37341         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
37342         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
37344 2011-05-12  James Youngman  <jay@gnu.org>
37346         Add a test for glibc's Bugzilla bug #12378.
37347         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
37348         doesn't allow the literal matching of a lone "[" (which is
37349         required by POSIX).
37350         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
37352 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
37354         Sync glibc change fixing Bugzilla bug #12378.
37355         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
37356         beginning and fall back to matching as normal character if the
37357         string ends before the matching ']' is found.  This is what POSIX
37358         requires.
37360 2011-05-13  Eric Blake  <eblake@redhat.com>
37362         getcwd-lgpl: relax test for FreeBSD
37363         * doc/posix-functions/getcwd.texi (getcwd): Document portability
37364         issue.
37365         * tests/test-getcwd-lgpl.c (main): Relax test.
37366         Reported by Matthias Bolte.
37368 2011-05-11  Eric Blake  <eblake@redhat.com>
37370         test-fflush: silence compiler warning
37371         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
37373 2011-05-11  Bruno Haible  <bruno@clisp.org>
37375         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
37376         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
37377         * modules/canonicalize (Depends-on): Add 'nocrash'.
37378         * modules/canonicalize-lgpl (Depends-on): Likewise.
37379         * doc/posix-functions/realpath.texi: Update platforms list.
37380         Reported by Ryan Schmidt <ryandesign@macports.org>.
37382 2011-05-11  Bruno Haible  <bruno@clisp.org>
37384         group-member: Declare function in <unistd.h>.
37385         * lib/unistd.in.h (group_member): New declaration.
37386         * lib/group-member.h: Remove file.
37387         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
37388         * tests/test-unistd-c++.cc: Check signature of group_member.
37389         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
37390         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
37391         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
37392         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
37393         HAVE_GROUP_MEMBER.
37394         * modules/group-member (Files): Remove lib/group-member.h.
37395         (Depends-on): Add unistd. Specify conditions.
37396         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
37397         (Include): Change to <unistd.h>.
37398         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
37399         HAVE_GROUP_MEMBER.
37400         * NEWS: Mention the change.
37401         * lib/euidaccess.c: Don't include group-member.h.
37403 2011-05-11  Bruno Haible  <bruno@clisp.org>
37405         group-member: Document module.
37406         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
37407         module.
37409 2011-05-11  Bruno Haible  <bruno@clisp.org>
37411         fclose: Fix mistake earlier today.
37412         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
37414 2011-05-11  Eric Blake  <eblake@redhat.com>
37416         fclose: preserve fflush errors
37417         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
37418         Reported by Jim Meyering.
37420         bootstrap: support a prereq of 'rpcgen -' on RHEL5
37421         * build-aux/bootstrap (check_versions): When no specific version
37422         is required, merely check that the app produces an exit status
37423         that indicates its existence.
37425         maint.mk: drop redundant check
37426         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
37427         the same but better.
37429 2011-05-11  Bruno Haible  <bruno@clisp.org>
37431         fclose: Fix possible link error.
37432         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
37433         unregister_shadow_fd. Improve comments.
37434         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
37435         Eric Blake.
37437 2011-05-11  Jim Meyering  <meyering@redhat.com>
37439         maint.mk: improve "can not" detection and generalize rule name
37440         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
37441         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
37442         Use the same technique as in sc_prohibit_doubled_word, so that
37443         we recognize "can not" also when the words are separated by a newline.
37444         Suggested by Eric Blake.
37445         (perl_filename_lineno_text_): Define.  Factored out of...
37446         (prohibit_doubled_word_): ...here.  Use the new definition.
37447         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
37448         (prohibit_undesirable_word_seq_RE_): New overridable variable.
37449         (ignore_undesirable_word_sequence_RE_): New overridable variable.
37451 2011-05-10  Eric Blake  <eblake@redhat.com>
37453         fclose: avoid double close race when possible
37454         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
37455         all but WINDOWS_SOCKETS.
37457 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
37459         openat: correct new comment
37460         * lib/openat-proc.c (openat_proc_name): Correct the comment.
37462 2011-05-10  Jim Meyering  <meyering@redhat.com>
37464         openat: add comments
37465         * lib/openat-proc.c (openat_proc_name): Add comments,
37466         mostly from Eric Blake.
37468 2011-05-09  Eric Blake  <eblake@redhat.com>
37470         openat: reduce syscalls in first probe of /proc
37471         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
37472         be a directory.  Simplify the probe for .. bugs.
37473         * modules/openat (Depends-on): Drop same-inode.
37474         Reported by Bastien ROUCARIES.
37476 2011-05-09  Jim Meyering  <meyering@redhat.com>
37478         maint.mk: change semantics/name of tight_scope variables
37479         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
37480         Rename variables to align with semantics that make them more useful.
37482         maint.mk: tweak new rule's name not to impinge
37483         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
37484         (sc_tight_scope): Use new rule name rather than $@-0.
37486         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
37487         * top/maint.mk (sc_tight_scope): New rule.
37488         (sc_tight_scope-0): New rule, ifdef'd out.
37489         (_gl_TS_dir): Default.
37490         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
37491         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
37493 2011-05-09  Simon Josefsson  <simon@josefsson.org>
37495         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
37496         Haible <bruno@clisp.org>.
37498 2011-05-08  Bruno Haible  <bruno@clisp.org>
37500         Comments.
37501         * m4/isnanf.m4: Add comment.
37502         * m4/isnanl.m4: Likewise.
37504 2011-05-08  Bruno Haible  <bruno@clisp.org>
37506         glob: Remove obsolete macro.
37507         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
37509 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
37511         intprops: Sun C 5.11 supports __typeof__
37512         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
37513         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
37514         which is new.
37515         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
37517         intprops: switch to usual gnulib indenting and naming
37518         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
37519         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
37521         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
37523 2011-05-08  Jim Meyering  <meyering@redhat.com>
37525         maint.mk: suppress "Entering/Leaving directory" diag in announcement
37526         * top/maint.mk (release-prep): Use make's --no-print-directory
37527         option when generating the announcement.  This eliminates the
37528         pesky "make[2]: Entering/Leaving directory" diagnostics in the
37529         generated announcement template.
37531 2011-05-08  Bruno Haible  <bruno@clisp.org>
37533         tzset: Fix gettimeofday wrapper on Solaris 2.6.
37534         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
37535         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
37537 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
37539         ignore-value, verify: Omit include files from lib_SOURCES.
37540         * modules/ignore-value, modules/verify (Makefile.am):
37541         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
37542         that leads Automake to duplicate use of am__objects_... variables
37543         in Makefile.in.  See
37544         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
37546 2011-05-07  Bruno Haible  <bruno@clisp.org>
37548         fclose: Simplify autoconf macro.
37549         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
37550         defined.
37552 2011-05-07  Bruno Haible  <bruno@clisp.org>
37554         canonicalize-lgpl: Fix autoconf macro ordering bug.
37555         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
37556         gl_STDLIB_H_DEFAULTS.
37558 2011-05-06  Eric Blake  <eblake@redhat.com>
37560         maintainer-makefile: make sc_po_check easier to tune
37561         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
37562         to probe for strings, such as an alternate location for gnulib.
37564         fclose: guarantee behavior on seekable stdin
37565         * modules/fclose (Depends-on): Add fflush.
37566         * doc/posix-functions/fclose.texi (fclose): Document this.
37567         * tests/test-fclose.c (main): Make test for this unconditional.
37569 2011-05-06  Bruno Haible  <bruno@clisp.org>
37571         fflush, fpurge: Relicense under LGPLv2+.
37572         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
37573         * modules/fpurge (License): Likewise.
37574         With permission from Eric Blake and Jim Meyering.
37575         Suggested by Eric Blake.
37577 2011-05-06  Karl Berry  <karl@gnu.org>
37579         * MODULES.html.sh (func_all_modules): remove exit.
37581 2011-05-06  Jim Meyering  <meyering@redhat.com>
37583         maint.mk: use info-gnu@ as the default only for a stable release
37584         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
37585         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
37586         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
37587         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
37589 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
37591         assert-h: new module, which supports C1X-style static_assert
37592         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
37593         * lib/verify.h: Revamp so that this can be copied into assert.h,
37594         while retaining the ability to use it standalone as before.
37595         Rename private identifiers so as not to encroach on the
37596         standard C namespace, since this is now used by assert.h.
37597         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
37598         the old verify_true.
37599         (_GL_VERIFY_TRUE): New macro, with much of the contents of
37600         the old verify_true.  Use _GL_VERIFY_TYPE.
37601         (_GL_VERIFY): New macro, with much of the contents of the old verify.
37602         (static_assert): New macro, if _GL_STATIC_ASSERT_H
37603         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
37604         defined when this file is copied into the replacement assert.h.
37605         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
37606         and _Static_assert is not built in.
37607         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
37608         defined, and use the new macros mentioned above.
37609         * doc/posix-headers/assert.texi: Document this.
37611 2011-05-05  Bruno Haible  <bruno@clisp.org>
37613         fclose, fflush: Respect rules for use of AC_LIBOBJ.
37614         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
37615         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
37616         gl_REPLACE_FCLOSE here.
37617         * modules/fflush (Depends-on): Remove fclose.
37618         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
37619         combination with module 'fclose'.
37621 2011-05-05  Bruno Haible  <bruno@clisp.org>
37623         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
37624         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
37625         gl_FUNC_FFLUSH.
37626         (gl_FUNC_FFLUSH): Use it.
37627         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
37628         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
37629         gl_REPLACE_FSEEKO here.
37631 2011-05-05  Bruno Haible  <bruno@clisp.org>
37633         tzset: Relicense under LGPL.
37634         * modules/tzset (License): Change to LGPL.
37635         No agreement needed; it's a no-op.
37637         strtoimax, strtoumax: Relicense under LGPL.
37638         * modules/strtoimax (License): Change to LGPL.
37639         * modules/strtoumax (License): Likewise.
37640         With permission from Jim Meyering, Paul Eggert:
37641         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
37642         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
37644         getgroups: Relicense under LGPL.
37645         * modules/getgroups (License): Change to LGPL.
37646         With permission from Jim Meyering, Paul Eggert, Eric Blake:
37647         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
37648         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
37649         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
37651         nanosleep: Relicense under LGPL.
37652         * modules/nanosleep (License): Change to LGPL.
37653         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
37654         Haible:
37655         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
37656         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
37657         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
37658         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
37660         futimens: Relicense under LGPL.
37661         * modules/futimens (License): Change to LGPL.
37662         With permission from Eric Blake:
37663         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
37665         fflush: Relicense under LGPL.
37666         * modules/fflush (License): Change to LGPL.
37667         With permission from Eric Blake, Bruno Haible, Jim Meyering:
37668         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
37669         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
37670         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
37672         tmpfile: Relicense under LGPL.
37673         * modules/tmpfile (License): Change to LGPL.
37674         With permission from Ben Pfaff:
37675         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
37677         isfinite: Relicense under LGPL.
37678         * modules/isfinite (License): Change to LGPL.
37679         With permission from Ben Pfaff, Bruno Haible:
37680         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
37681         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
37683         acosl..tanl: Relicense under LGPL.
37684         * modules/acosl (License): Change to LGPL.
37685         * modules/asinl (License): Likewise.
37686         * modules/atanl (License): Likewise.
37687         * modules/cosl (License): Likewise.
37688         * modules/expl (License): Likewise.
37689         * modules/logl (License): Likewise.
37690         * modules/sinl (License): Likewise.
37691         * modules/sqrtl (License): Likewise.
37692         * modules/tanl (License): Likewise.
37693         Source code originally from glibc and Paolo Bonzini. Agreements:
37694         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
37695         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
37697 2011-05-05  Bruno Haible  <bruno@clisp.org>
37699         signal: Define sighandler_t.
37700         * lib/signal.in.h (sighandler_t): New type.
37701         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
37702         whether sighandler_t is defined.
37703         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
37704         * modules/signal (Depends-on): Add extensions.
37705         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
37706         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
37707         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
37709 2011-05-05  Eric Blake  <eblake@redhat.com>
37711         maint: remove useless REPLACE_*_H macros
37712         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
37713         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
37714         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
37715         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
37716         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
37717         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
37718         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
37719         * m4/btowc.m4: Update callers.
37720         * m4/dirfd.m4: Likewise.
37721         * m4/duplocale.m4: Likewise.
37722         * m4/fchdir.m4: Likewise.
37723         * m4/fdopendir.m4: Likewise.
37724         * m4/inet_ntop.m4: Likewise.
37725         * m4/inet_pton.m4: Likewise.
37726         * m4/ioctl.m4: Likewise.
37727         * m4/mbrlen.m4: Likewise.
37728         * m4/mbrtowc.m4: Likewise.
37729         * m4/mbsinit.m4: Likewise.
37730         * m4/mbsnrtowcs.m4: Likewise.
37731         * m4/mbsrtowcs.m4: Likewise.
37732         * m4/poll.m4: Likewise.
37733         * m4/setlocale.m4: Likewise.
37734         * m4/wcrtomb.m4: Likewise.
37735         * m4/wcsnrtombs.m4: Likewise.
37736         * m4/wcsrtombs.m4: Likewise.
37737         * m4/wctob.m4: Likewise.
37738         * m4/wcwidth.m4: Likewise.
37739         * modules/posix_spawn: Likewise.
37740         * modules/posix_spawn_file_actions_addclose: Likewise.
37741         * modules/posix_spawn_file_actions_adddup2: Likewise.
37742         * modules/posix_spawn_file_actions_addopen: Likewise.
37743         * modules/posix_spawn_file_actions_destroy: Likewise.
37744         * modules/posix_spawn_file_actions_init: Likewise.
37745         * modules/posix_spawnattr_destroy: Likewise.
37746         * modules/posix_spawnattr_getflags: Likewise.
37747         * modules/posix_spawnattr_getpgroup: Likewise.
37748         * modules/posix_spawnattr_getschedparam: Likewise.
37749         * modules/posix_spawnattr_getschedpolicy: Likewise.
37750         * modules/posix_spawnattr_getsigdefault: Likewise.
37751         * modules/posix_spawnattr_getsigmask: Likewise.
37752         * modules/posix_spawnattr_init: Likewise.
37753         * modules/posix_spawnattr_setflags: Likewise.
37754         * modules/posix_spawnattr_setpgroup: Likewise.
37755         * modules/posix_spawnattr_setschedparam: Likewise.
37756         * modules/posix_spawnattr_setschedpolicy: Likewise.
37757         * modules/posix_spawnattr_setsigdefault: Likewise.
37758         * modules/posix_spawnattr_setsigmask: Likewise.
37759         * modules/posix_spawnp: Likewise.
37761 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
37763         Add option to do-release-commit-and-tag to specify branch.
37764         * build-aux/do-release-commit-and-tag: Add --branch.
37766 2011-05-03  Bruno Haible  <bruno@clisp.org>
37768         Avoid unnecessary compilation units, through conditional dependencies.
37769         * modules/accept (Depends-on): Add conditions to the dependencies.
37770         * modules/acosl (Depends-on): Likewise.
37771         * modules/argz (Depends-on): Likewise.
37772         * modules/asinl (Depends-on): Likewise.
37773         * modules/atanl (Depends-on): Likewise.
37774         * modules/atoll (Depends-on): Likewise.
37775         * modules/bind (Depends-on): Likewise.
37776         * modules/btowc (Depends-on): Likewise.
37777         * modules/canonicalize-lgpl (Depends-on): Likewise.
37778         * modules/ceil (Depends-on): Likewise.
37779         * modules/ceilf (Depends-on): Likewise.
37780         * modules/ceill (Depends-on): Likewise.
37781         * modules/chdir-long (Depends-on): Likewise.
37782         * modules/chown (Depends-on): Likewise.
37783         * modules/close (Depends-on): Likewise.
37784         * modules/connect (Depends-on): Likewise.
37785         * modules/cosl (Depends-on): Likewise.
37786         * modules/dirfd (Depends-on): Likewise.
37787         * modules/dprintf (Depends-on): Likewise.
37788         * modules/dprintf-posix (Depends-on): Likewise.
37789         * modules/error (Depends-on): Likewise.
37790         * modules/euidaccess (Depends-on): Likewise.
37791         * modules/expl (Depends-on): Likewise.
37792         * modules/faccessat (Depends-on): Likewise.
37793         * modules/fchdir (Depends-on): Likewise.
37794         * modules/fclose (Depends-on): Likewise.
37795         * modules/fcntl (Depends-on): Likewise.
37796         * modules/fdopendir (Depends-on): Likewise.
37797         * modules/fflush (Depends-on): Likewise.
37798         * modules/floor (Depends-on): Likewise.
37799         * modules/floorf (Depends-on): Likewise.
37800         * modules/floorl (Depends-on): Likewise.
37801         * modules/fnmatch (Depends-on): Likewise.
37802         * modules/fopen (Depends-on): Likewise.
37803         * modules/fprintf-posix (Depends-on): Likewise.
37804         * modules/frexp (Depends-on): Likewise.
37805         * modules/frexp-nolibm (Depends-on): Likewise.
37806         * modules/frexpl (Depends-on): Likewise.
37807         * modules/frexpl-nolibm (Depends-on): Likewise.
37808         * modules/fseek (Depends-on): Likewise.
37809         * modules/fsusage (Depends-on): Likewise.
37810         * modules/ftell (Depends-on): Likewise.
37811         * modules/ftello (Depends-on): Likewise.
37812         * modules/futimens (Depends-on): Likewise.
37813         * modules/getcwd (Depends-on): Likewise.
37814         * modules/getcwd-lgpl (Depends-on): Likewise.
37815         * modules/getdelim (Depends-on): Likewise.
37816         * modules/getdomainname (Depends-on): Likewise.
37817         * modules/getgroups (Depends-on): Likewise.
37818         * modules/gethostname (Depends-on): Likewise.
37819         * modules/getline (Depends-on): Likewise.
37820         * modules/getlogin_r (Depends-on): Likewise.
37821         * modules/getopt-posix (Depends-on): Likewise.
37822         * modules/getpeername (Depends-on): Likewise.
37823         * modules/getsockname (Depends-on): Likewise.
37824         * modules/getsockopt (Depends-on): Likewise.
37825         * modules/getsubopt (Depends-on): Likewise.
37826         * modules/getusershell (Depends-on): Likewise.
37827         * modules/glob (Depends-on): Likewise.
37828         * modules/grantpt (Depends-on): Likewise.
37829         * modules/iconv_open (Depends-on): Likewise.
37830         * modules/iconv_open-utf (Depends-on): Likewise.
37831         * modules/inet_ntop (Depends-on): Likewise.
37832         * modules/inet_pton (Depends-on): Likewise.
37833         * modules/ioctl (Depends-on): Likewise.
37834         * modules/isapipe (Depends-on): Likewise.
37835         * modules/isfinite (Depends-on): Likewise.
37836         * modules/isinf (Depends-on): Likewise.
37837         * modules/lchown (Depends-on): Likewise.
37838         * modules/ldexpl (Depends-on): Likewise.
37839         * modules/link (Depends-on): Likewise.
37840         * modules/linkat (Depends-on): Likewise.
37841         * modules/listen (Depends-on): Likewise.
37842         * modules/logl (Depends-on): Likewise.
37843         * modules/lstat (Depends-on): Likewise.
37844         * modules/mbrlen (Depends-on): Likewise.
37845         * modules/mbrtowc (Depends-on): Likewise.
37846         * modules/mbsinit (Depends-on): Likewise.
37847         * modules/mbsnrtowcs (Depends-on): Likewise.
37848         * modules/mbsrtowcs (Depends-on): Likewise.
37849         * modules/mbtowc (Depends-on): Likewise.
37850         * modules/memcmp (Depends-on): Likewise.
37851         * modules/mkdir (Depends-on): Likewise.
37852         * modules/mkdtemp (Depends-on): Likewise.
37853         * modules/mkfifo (Depends-on): Likewise.
37854         * modules/mkfifoat (Depends-on): Likewise.
37855         * modules/mknod (Depends-on): Likewise.
37856         * modules/mkostemp (Depends-on): Likewise.
37857         * modules/mkostemps (Depends-on): Likewise.
37858         * modules/mkstemp (Depends-on): Likewise.
37859         * modules/mkstemps (Depends-on): Likewise.
37860         * modules/mktime (Depends-on): Likewise.
37861         * modules/nanosleep (Depends-on): Likewise.
37862         * modules/open (Depends-on): Likewise.
37863         * modules/openat (Depends-on): Likewise.
37864         * modules/perror (Depends-on): Likewise.
37865         * modules/poll (Depends-on): Likewise.
37866         * modules/popen (Depends-on): Likewise.
37867         * modules/posix_spawn (Depends-on): Likewise.
37868         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
37869         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
37870         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
37871         * modules/posix_spawnp (Depends-on): Likewise.
37872         * modules/pread (Depends-on): Likewise.
37873         * modules/printf-posix (Depends-on): Likewise.
37874         * modules/ptsname (Depends-on): Likewise.
37875         * modules/putenv (Depends-on): Likewise.
37876         * modules/pwrite (Depends-on): Likewise.
37877         * modules/readline (Depends-on): Likewise.
37878         * modules/readlink (Depends-on): Likewise.
37879         * modules/readlinkat (Depends-on): Likewise.
37880         * modules/recv (Depends-on): Likewise.
37881         * modules/recvfrom (Depends-on): Likewise.
37882         * modules/regex (Depends-on): Likewise.
37883         * modules/remove (Depends-on): Likewise.
37884         * modules/rename (Depends-on): Likewise.
37885         * modules/renameat (Depends-on): Likewise.
37886         * modules/rmdir (Depends-on): Likewise.
37887         * modules/round (Depends-on): Likewise.
37888         * modules/roundf (Depends-on): Likewise.
37889         * modules/roundl (Depends-on): Likewise.
37890         * modules/rpmatch (Depends-on): Likewise.
37891         * modules/select (Depends-on): Likewise.
37892         * modules/send (Depends-on): Likewise.
37893         * modules/sendto (Depends-on): Likewise.
37894         * modules/setenv (Depends-on): Likewise.
37895         * modules/setlocale (Depends-on): Likewise.
37896         * modules/setsockopt (Depends-on): Likewise.
37897         * modules/shutdown (Depends-on): Likewise.
37898         * modules/sigaction (Depends-on): Likewise.
37899         * modules/signbit (Depends-on): Likewise.
37900         * modules/sigprocmask (Depends-on): Likewise.
37901         * modules/sinl (Depends-on): Likewise.
37902         * modules/sleep (Depends-on): Likewise.
37903         * modules/snprintf (Depends-on): Likewise.
37904         * modules/snprintf-posix (Depends-on): Likewise.
37905         * modules/socket (Depends-on): Likewise.
37906         * modules/sprintf-posix (Depends-on): Likewise.
37907         * modules/sqrtl (Depends-on): Likewise.
37908         * modules/stat (Depends-on): Likewise.
37909         * modules/strchrnul (Depends-on): Likewise.
37910         * modules/strdup-posix (Depends-on): Likewise.
37911         * modules/strerror (Depends-on): Likewise.
37912         * modules/strerror_r-posix (Depends-on): Likewise.
37913         * modules/strndup (Depends-on): Likewise.
37914         * modules/strnlen (Depends-on): Likewise.
37915         * modules/strptime (Depends-on): Likewise.
37916         * modules/strsep (Depends-on): Likewise.
37917         * modules/strsignal (Depends-on): Likewise.
37918         * modules/strstr-simple (Depends-on): Likewise.
37919         * modules/strtod (Depends-on): Likewise.
37920         * modules/strtoimax (Depends-on): Likewise.
37921         * modules/strtok_r (Depends-on): Likewise.
37922         * modules/strtoumax (Depends-on): Likewise.
37923         * modules/symlink (Depends-on): Likewise.
37924         * modules/symlinkat (Depends-on): Likewise.
37925         * modules/tanl (Depends-on): Likewise.
37926         * modules/tcgetsid (Depends-on): Likewise.
37927         * modules/tmpfile (Depends-on): Likewise.
37928         * modules/trunc (Depends-on): Likewise.
37929         * modules/truncf (Depends-on): Likewise.
37930         * modules/truncl (Depends-on): Likewise.
37931         * modules/uname (Depends-on): Likewise.
37932         * modules/unlink (Depends-on): Likewise.
37933         * modules/unlockpt (Depends-on): Likewise.
37934         * modules/unsetenv (Depends-on): Likewise.
37935         * modules/usleep (Depends-on): Likewise.
37936         * modules/utimensat (Depends-on): Likewise.
37937         * modules/vasprintf (Depends-on): Likewise.
37938         * modules/vdprintf (Depends-on): Likewise.
37939         * modules/vdprintf-posix (Depends-on): Likewise.
37940         * modules/vfprintf-posix (Depends-on): Likewise.
37941         * modules/vprintf-posix (Depends-on): Likewise.
37942         * modules/vsnprintf (Depends-on): Likewise.
37943         * modules/vsnprintf-posix (Depends-on): Likewise.
37944         * modules/vsprintf-posix (Depends-on): Likewise.
37945         * modules/wcrtomb (Depends-on): Likewise.
37946         * modules/wcscasecmp (Depends-on): Likewise.
37947         * modules/wcscspn (Depends-on): Likewise.
37948         * modules/wcsdup (Depends-on): Likewise.
37949         * modules/wcsncasecmp (Depends-on): Likewise.
37950         * modules/wcsnrtombs (Depends-on): Likewise.
37951         * modules/wcspbrk (Depends-on): Likewise.
37952         * modules/wcsrtombs (Depends-on): Likewise.
37953         * modules/wcsspn (Depends-on): Likewise.
37954         * modules/wcsstr (Depends-on): Likewise.
37955         * modules/wcstok (Depends-on): Likewise.
37956         * modules/wcswidth (Depends-on): Likewise.
37957         * modules/wctob (Depends-on): Likewise.
37958         * modules/wctomb (Depends-on): Likewise.
37959         * modules/wctype (Depends-on): Likewise.
37960         * modules/wcwidth (Depends-on): Likewise.
37961         * modules/write (Depends-on): Likewise.
37963 2011-05-03  Bruno Haible  <bruno@clisp.org>
37965         Support for conditional dependencies.
37966         * doc/gnulib.texi (Module description): Document the syntax of
37967         conditional dependencies.
37968         * gnulib-tool: New option --conditional-dependencies.
37969         (func_usage): Document it.
37970         (cond_dependencies): New variable.
37971         (func_get_automake_snippet_conditional,
37972         func_get_automake_snippet_unconditional): New functions, extracted from
37973         func_get_automake_snippet.
37974         (func_get_automake_snippet): Use them.
37975         (sed_first_32_chars): New variable.
37976         (func_module_shellfunc_name): New function.
37977         (func_module_shellvar_name): New function.
37978         (func_module_conditional_name): New function.
37979         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
37980         func_cond_module_condition): New functions.
37981         (func_modules_transitive_closure): Add support for conditional
37982         dependencies.
37983         (func_emit_lib_Makefile_am): For a conditional module, enclose the
37984         conditional automake snippet in an automake conditional.
37985         (func_emit_autoconf_snippets): Emit shell functions that contain the
37986         code for conditional modules.
37987         (func_import, func_create_testdir): Update specification.
37989 2011-05-03  Eric Blake  <eblake@redhat.com>
37991         test-getaddrinfo: report error information
37992         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
37994 2011-05-03  Jim Meyering  <meyering@redhat.com>
37996         bootstrap: avoid build failure when $GZIP is set
37997         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
37998         program name.  If defined at all, it is supposed to list gzip options.
37999         Reported by Alan Curry in http://debbugs.gnu.org/8609
38001 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
38003         readme-release: new module with release instructions
38004         * modules/readme-release: New module.
38005         * top/README-release: New file, from coreutils, grep, diffutils.
38006         * MODULES.html.sh (Support for maintaining and releasing): Add it.
38008 2011-05-02  Eric Blake  <eblake@redhat.com>
38010         fflush: also replace fclose when fixing fflush
38011         * modules/fflush (Depends-on): Add fclose.
38012         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
38013         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
38014         memstreams with no backing fd.
38015         * doc/posix-functions/fclose.texi (fclose): Document the use of
38016         fflush module to fix the bug.
38017         * tests/test-fclose.c (main): Relax test when fclose is used in
38018         isolation.
38020         fclose: add some tests
38021         * modules/fclose-tests: New test module.
38022         * tests/test-fclose.c: New file.
38023         * doc/posix-functions/fclose.texi (fclose): Document the bug.
38025         fclose: reduced dependencies
38026         * modules/fclose (Depends-on): Switch from fflush/fseeko to
38027         simpler lseek.
38028         * lib/fclose.c (rpl_fclose): Likewise.
38029         Reported by Simon Josefsson.
38031         exit: drop remaining clients
38032         * modules/argmatch (Depends-on): Replace exit with stdlib.
38033         * modules/copy-file (Depends-on): Likewise.
38034         * modules/execute (Depends-on): Likewise.
38035         * modules/exitfail (Depends-on): Likewise.
38036         * modules/obstack (Depends-on): Likewise.
38037         * modules/pagealign_alloc (Depends-on): Likewise.
38038         * modules/pipe-filter-gi (Depends-on): Likewise.
38039         * modules/pipe-filter-ii (Depends-on): Likewise.
38040         * modules/savewd (Depends-on): Likewise.
38041         * modules/spawn-pipe (Depends-on): Likewise.
38042         * modules/wait-process (Depends-on): Likewise.
38043         * modules/xsetenv (Depends-on): Likewise.
38044         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
38045         * modules/git-merge-changelog (Depends-on): Likewise.
38046         * modules/long-options (Depends-on): Likewise.
38047         * modules/pt_chown (Depends-on): Likewise.
38048         * modules/sysexits (Depends-on): Likewise.
38050         freading: relax license from LGPLv3+ to LGPLv2+
38051         * modules/freading (License): Relax LGPL version.
38053 2011-05-02  Bruno Haible  <bruno@clisp.org>
38055         fchdir: Remove unused dependencies.
38056         * modules/fchdir (Depends-on): Remove include_next.
38058 2011-05-02  Bruno Haible  <bruno@clisp.org>
38060         gnulib-tool: Refactor.
38061         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
38062         from func_emit_autoconf_snippets.
38063         (func_emit_autoconf_snippets): Use it.
38065 2011-05-02  Simon Josefsson  <simon@josefsson.org>
38067         * NEWS: Document removal of 'exit'.
38068         * modules/exit: Remove file.
38070 2011-05-01  Bruno Haible  <bruno@clisp.org>
38072         Update DEPENDENCIES.
38073         * DEPENDENCIES (gettext): Recommend the newest release.
38074         Reported by Simon Josefsson.
38076 2011-05-01  Bruno Haible  <bruno@clisp.org>
38078         gnulib-tool: Reduce code duplication.
38079         * gnulib-tool (func_emit_autoconf_snippets): New function.
38080         (func_import, func_create_testdir): Use it.
38082 2011-04-30  Eric Blake  <eblake@redhat.com>
38084         fclose: don't fail on non-seekable input stream
38085         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
38086         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
38087         since fflush is allowed to fail in that case.
38089 2011-04-30  Bruno Haible  <bruno@clisp.org>
38091         dup3: cleanup
38092         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
38094 2011-04-30  Bruno Haible  <bruno@clisp.org>
38096         netdb: Make it work in C++ mode.
38097         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
38098         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
38099         module.
38100         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
38101         gl_MODULE_INDICATOR_FOR_TESTS.
38102         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
38103         * modules/netdb-c++-tests: New file.
38104         * tests/test-netdb-c++.cc: New file.
38106 2011-04-30  Bruno Haible  <bruno@clisp.org>
38108         New modules 'vfscanf', 'vscanf'.
38109         * modules/vfscanf: New file.
38110         * modules/vscanf: New file.
38111         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
38112         here.
38113         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
38114         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
38116 2011-04-30  Bruno Haible  <bruno@clisp.org>
38118         passfd: Add comments.
38119         * lib/passfd.c: Add comments about platforms.
38121 2011-04-30  Bruno Haible  <bruno@clisp.org>
38123         sys_uio: Make <sys/uio.h> self-contained.
38124         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
38125         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
38127 2011-04-30  Bruno Haible  <bruno@clisp.org>
38129         sys_socket: Ensure 'struct iovec' definition.
38130         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
38131         <sys/socket.h>.
38132         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
38134 2011-04-30  Bruno Haible  <bruno@clisp.org>
38136         sys_uio: Protect definition of 'struct iovec'.
38137         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
38138         it as a C struct.
38140 2011-04-30  Bruno Haible  <bruno@clisp.org>
38142         manywarnings: fix indentation
38143         * m4/manywarnings.m4: Indent by 2 spaces consistently.
38145 2011-04-30  Pádraig Brady  <P@draigBrady.com>
38147         manywarnings: add -Wno-missing-field-initializers if needed.
38148         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
38149         option if it's needed to allow initialization with { 0, }
38151 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
38153         announce-gen: cosmetic improvement
38154         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
38156 2011-04-29  Jim Meyering  <meyering@redhat.com>
38158         vc-list-files: indent with spaces, not TABs
38159         * build-aux/vc-list-files: Convert leading TABs to spaces,
38160         to match the style of most other files in gnulib.
38162         announce-gen: indent with spaces, not TABs
38163         * build-aux/announce-gen: Convert all TABs to spaces, to match
38164         the style of most other files in gnulib.
38166 2011-04-29  Eric Blake  <eblake@redhat.com>
38168         quotearg: avoid uninitialized variable use
38169         * lib/quotearg.c (quoting_options_from_style): Initialize
38170         remaining fields, and ensure that custom styles are only used via
38171         quoting_options rather than quoting_style.
38173 2011-04-29  Jim Meyering  <meyering@redhat.com>
38175         maint.mk: remove unused VC-tag variable
38176         * top/maint.mk (VC-tag): Remove unused variable.
38178 2011-04-29  Bruno Haible  <bruno@clisp.org>
38180         netdb: fix gai_strerror replacements
38181         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
38182         * modules/netdb: Substitute it.
38184 2011-04-29  Jim Meyering  <meyering@redhat.com>
38186         test-getcwd.c: avoid new set-but-not-used warning
38187         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
38188         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
38189         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
38190         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
38192         test-hash.c: avoid a new shadowing warning
38193         * tests/test-hash.c (main): Don't shadow "dup".
38195 2011-04-28  Eric Blake  <eblake@redhat.com>
38197         getaddrinfo: fix gai_strerror signature
38198         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
38199         and work around mingw with UNICODE defined.
38200         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
38201         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
38202         * modules/netdb (Makefile.am): Substitute it.
38203         * lib/netdb.in.h (gai_strerror): Declare replacement.
38204         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
38205         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
38206         the fix.
38208         getsockopt: avoid compiler warning
38209         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
38210         Reported by Matthias Bolte.
38212         tests: drop unused link dependency
38213         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
38214         * modules/dirent-safer-tests (Makefile.am): Likewise.
38215         * modules/fdopendir-tests (Makefile.am): Likewise.
38216         * modules/mkfifoat-tests (Makefile.am): Likewise.
38217         * modules/openat-safer-tests (Makefile.am): Likewise.
38218         * modules/openat-tests (Makefile.am): Likewise.
38219         * modules/readlinkat-tests (Makefile.am): Likewise.
38220         * modules/symlinkat-tests (Makefile.am): Likewise.
38221         * modules/linkat-tests (Makefile.am): Likewise.
38222         (Depends-on): Switch to filenamecat-lgpl.
38223         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
38224         LIBINTL.
38225         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
38226         * tests/test-linkat.c (main): Don't require xalloc.
38228         hash, mgetgroups: drop xalloc dependency
38229         * lib/hash.c (includes): Adjust includes.
38230         * lib/mgetgroups.c (includes): Likewise.
38231         (xgetgroups): Move...
38232         * lib/xgetgroups.c: ...to new file.
38233         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
38234         * modules/xgetgroups: New file, split from...
38235         * modules/mgetgroups: ...here.
38236         (Depends-on): Add xalloc-oversized.
38237         * modules/hash (Depends-on): Likewise.
38238         * modules/hash-tests (Depends-on): Drop xalloc.
38239         (test_hash_LDADD): Drop unused library.
38240         * tests/test-hash.c (main): Break xalloc dependency.
38241         (includes): Drop unused include.
38243         xalloc-oversized: new module
38244         * modules/xalloc-oversized: New module.
38245         * modules/xalloc (Depends-on): Add it.
38246         * lib/xalloc.h (xalloc_oversized): Move...
38247         * lib/xalloc-oversized.h: ...into new file.
38249         utimecmp: drop dependency on xmalloc
38250         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
38251         due to memory pressure.
38252         * modules/utimecmp (Depends-on): Drop xalloc.
38254 2011-04-27  Eric Blake  <eblake@redhat.com>
38256         getcwd: fix mingw bugs
38257         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
38258         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
38259         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
38261 2011-04-27  Bruno Haible  <bruno@clisp.org>
38263         mkstemps: Ensure declaration on MacOS X 10.5.
38264         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
38265         * doc/glibc-functions/mkstemps.texi: Document header file problem on
38266         MacOS X.
38268 2011-04-27  Bruno Haible  <bruno@clisp.org>
38270         mkstemp: More documentation.
38271         * doc/posix-functions/mkstemp.texi: Document header file problem on
38272         MacOS X.
38274 2011-04-27  Bruno Haible  <bruno@clisp.org>
38276         mkstemp: Tweak configure message when cross-compiling.
38277         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
38278         result as a guess.
38280 2011-04-27  Bruno Haible  <bruno@clisp.org>
38282         clean-temp: Clarify what it does.
38283         * lib/clean-temp.h: Add more comments.
38284         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
38285         module.
38286         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
38287         * doc/glibc-functions/mkstemps.texi: Likewise.
38288         * doc/glibc-functions/mkostemps.texi: Likewise.
38290 2011-04-27  Eric Blake  <eblake@redhat.com>
38292         fchdir: avoid extra chdir and fix test
38293         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
38294         getcwd-lgpl.
38295         * lib/fchdir.c (get_name): Any absolute name will do; it does not
38296         have to be canonical.
38297         (canonicalize_file_name): Drop unused macro.
38298         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
38300         filenamecat-lgpl: fix licence
38301         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
38302         when it was first created.
38304         linkat, renameat: add missing dependency
38305         * modules/linkat (Depends-on): Require getcwd-lgpl.
38306         * modules/renameat (Depends-on): Likewise.
38308         tests: reduce dependencies
38309         * tests/test-linkat.c (main): Use lighter-weight getcwd.
38310         * tests/test-renameat.c (main): Likewise.
38311         * modules/linkat-tests (Depends-on): Relax dependency.
38312         * modules/renameat-tests (Depends-on): Likewise.
38313         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
38314         dependency explicit.
38316         save-cwd: reduce default dependency
38317         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
38318         * lib/save-cwd.c: Update comments.
38319         * NEWS: Document the semantic change.
38321         getcwd: enhance tests
38322         * tests/test-getcwd-lgpl.c: New file, taken from...
38323         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
38324         repeat long path stress tests from m4 probe.
38325         * modules/getcwd-lgpl-tests: New module.
38326         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
38327         * m4/getcwd-abort-bug.m4: Update comment.
38328         * m4/getcwd-path-max.m4: Likewise.
38330         getcwd-lgpl: new module
38331         * modules/getcwd-lgpl: New module.
38332         * lib/getcwd-lgpl.c: New file.
38333         * doc/posix-functions/getcwd.texi (getcwd): Document it.
38334         * MODULES.html.sh (lacking POSIX:2008): Likewise.
38335         * modules/getcwd (configure.ac): Set C witness.
38336         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
38338         getcwd: tweak comments
38339         * m4/getcwd-abort-bug.m4: Fix comments.
38340         * m4/getcwd-path-max.m4: Likewise.
38341         * m4/getcwd.m4: Likewise.
38343 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
38344         and Eric Blake  <eblake@redhat.com>
38346         mkstemp: replace if system version uses wrong permissions
38347         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
38348         read/write mode bits set in file created by mkstemp.
38349         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
38351 2011-04-27  Eric Blake  <eblake@redhat.com>
38353         passfd: avoid compiler warning
38354         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
38355         Reported by Laine Stump.
38357 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
38359         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
38360         required by the NetBSD (and perhaps other 4.4BSD derived) join.
38362 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
38363         and Eric Blake  <eblake@redhat.com>
38365         mkstemp: mention clean-temp module
38366         * lib/mkstemp.c: Add comment.
38367         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
38369 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
38371         inttypes: also provide default values for 32-bit tests
38372         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
38373         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
38375 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
38377         strtoumax: remove dependency on strtoimax
38378         This is like the strtoull change of yesterday.
38379         * modules/strtoumax (Files): Add lib/strtoimax.c.
38380         (Depends-on): Remove strtoimax and add verify.
38382         inttypes-incomplete: new module
38383         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
38384         all but the PRI* and SCN* parts of gl_INTTYPES_H.
38385         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
38386         of gl_INTTYPES_H.
38387         (gl_INTTYPES_H): Rewrite in terms of these new macros.
38388         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
38389         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
38390         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
38391         * modules/strtoumax, modules/xstrtol (Depends-on):
38392         Depend on inttypes-incomplete, not inttypes.
38393         * modules/inttypes-incomplete: New module, containing the contents
38394         of the old modules/inttypes module, except that the Files: section
38395         omits m4/inttypes-pri.m4, and the configure.ac section invokes
38396         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
38397         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
38398         (Depends-on): Depend only on inttypes-incomplete.
38399         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
38401         inttypes: omit now-redundant strtoimax and strtoumax work
38402         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
38403         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
38405         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
38406         This supports apps that need pointers to strtoimax and strtoumax,
38407         and ports to HP-UX 11.00 64.bit, which has macros that expand to
38408         nonexistent functions.  See
38409         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
38410         et seq.
38411         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
38412         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
38413         a macro.
38414         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
38416 2011-04-25  Simon Josefsson  <simon@josefsson.org>
38418         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
38420 2011-04-25  Bruno Haible  <bruno@clisp.org>
38422         strtol, strtoul: Mark modules as obsolete.
38423         * modules/strtol (Status, Notice): New sections.
38424         * modules/strtoul (Status, Notice): New sections.
38426 2011-04-25  Bruno Haible  <bruno@clisp.org>
38428         strtod: Remove check for strtod, unless supporting old platforms.
38429         * modules/strtod-obsolete: New file.
38430         * m4/strtod-obsolete.m4: New file.
38431         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
38432         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
38433         * modules/strtod (Depends-on): Add strtod-obsolete.
38434         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
38436 2011-04-25  Bruno Haible  <bruno@clisp.org>
38438         strcase: Make module obsolete.
38439         * modules/strcase (Status, Notice): New sections.
38441 2011-04-25  Bruno Haible  <bruno@clisp.org>
38443         dup2: Remove check for dup2, unless supporting old obsolete platforms.
38444         * modules/dup2-obsolete: New file.
38445         * m4/dup2-obsolete.m4: New file.
38446         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
38447         gl_FUNC_DUP2_OBSOLETE is not also defined.
38448         * modules/dup2 (Depends-on): Add dup2-obsolete.
38449         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
38451 2011-04-25  Bruno Haible  <bruno@clisp.org>
38453         strnlen: Avoid memchr related link error on old obsolete platforms.
38454         * modules/memchr-obsolete: New file.
38455         * m4/memchr-obsolete.m4: New file.
38456         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
38457         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
38458         * modules/memchr (Depends-on): Add memchr-obsolete.
38459         * modules/strnlen (Depends-on): Likewise.
38460         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
38462 2011-04-25  Jim Meyering  <meyering@redhat.com>
38464         maint.mk: makefile_at_at_check extend and clean up
38465         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
38466         in addition to */Makefile.am.
38467         Exempt legitimate uses of @VAR@ notation, e.g.,
38468         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
38469         Remove obsolete coreutils-specific comment.
38470         Prompted by discussion here:
38471         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
38473 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
38475         strtoul: remove dependency on strtol
38476         This is so that 'configure' need not check for strtol merely because
38477         the application needs strtoul.
38478         * modules/strtoul (Files): Add lib/strtol.c.
38479         (Depends-on): Remove strtol.
38481         strtoull: remove dependency on strtoul
38482         This is like the strtoll change.
38483         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
38484         (Depends-on): Remove strtoul.
38486         strtoll: remove dependency on strtol
38487         This is so that 'configure' need not check for strtol merely because
38488         the application needs strtoll.
38489         * modules/strtoll (Files): Add lib/strtol.c.
38490         (Depends-on): Remove strtol.
38492 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
38494         inttypes: Move some configure check to module 'imaxdiv'.
38495         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
38496         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
38497         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
38499 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
38501         inttypes: Move some configure check to module 'imaxabs'.
38502         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
38503         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
38504         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
38506 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
38508         inttypes: Remove configure tests that are not needed since 2009-12-31.
38509         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
38510         gl_cv_header_working_inttypes_h.
38512 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
38514         * modules/strnlen (Depends-on): Remove memchr.
38515         The strnlen implementation doesn't need the memchr module's fixes; see
38516         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
38518         strtol: remove dependency on wchar
38519         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
38520         * modules/strtol (Depends-on): Remove wchar.
38522 2011-04-21  Eric Blake  <eblake@redhat.com>
38524         passfd: fix test regression on Linux
38525         * modules/passfd-tests (configure.ac): Correct socketpair check.
38527         passfd: speed up configure and drop unused code
38528         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
38529         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
38530         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
38531         Instead of probing at configure for unix_scm_rights_bsd44_way,
38532         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
38533         check to a struct member probe.
38534         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
38535         (sendfd, recvfd): Update preprocessor checks.
38536         * modules/passfd (Files): Reflect rename, and drop unused file.
38537         (Depends-on): Drop unused dependency.
38539         passfd: allow compilation on mingw
38540         * modules/sys_socket (Depends-on): Add sys_uio.
38541         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
38542         iovec and a minimal struct msghdr.
38543         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
38544         * tests/test-sys_socket.c (main): Enhance test.
38545         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
38546         guaranteed to provide what we need.
38547         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
38548         * modules/passfd-tests (Depends-on): Add sys_wait.
38549         * tests/test-passfd.c (main): Skip test on mingw, for now.
38550         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
38551         partial 'struct msghdr' implementation.
38553         sys_uio: new module
38554         * modules/sys_uio: New module.
38555         * modules/sys_uio-tests: Likewise.
38556         * lib/sys_uio.in.h: New file.
38557         * m4/sys_uio_h.m4: Likewise.
38558         * tests/test-sys_uio.c: Likewise.
38559         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
38560         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
38562 2011-04-20  Jim Meyering  <meyering@redhat.com>
38564         useless-if-before-free: avoid false-positive
38565         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
38566         disjunct so that it too requires a terminating ";".  Without that,
38567         this script would identify as useless one statement from gcc that
38568         was not:
38569           if (aligned_ptr)
38570             free (((void **) aligned_ptr) [-1]);
38572 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
38574         doc: update users.txt.
38575         * users.txt: Add barcode.
38577 2011-04-19  Bruno Haible  <bruno@clisp.org>
38579         ioctl: Remove link dependency on native Windows.
38580         * lib/fd-hook.h: Renamed from lib/close-hook.h.
38581         (gl_close_fn, gl_ioctl_fn): New types.
38582         (struct fd_hook): Renamed from struct close_hook. Change type of
38583         private_close_fn field. Add private_ioctl_fn field.
38584         (close_hook_fn): Add parameter for primary close method.
38585         (execute_close_hooks, execute_all_close_hooks): Likewise.
38586         (ioctl_hook_fn): New type.
38587         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
38588         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
38589         argument.
38590         (unregister_fd_hook): Renamed from unregister_close_hook.
38591         * lib/fd-hook.c: Renamed from lib/close-hook.c.
38592         Don't include <unistd.h>.
38593         (close): Remove undef.
38594         (anchor): Update.
38595         (execute_close_hooks): Add argument for primary close method.
38596         (execute_all_close_hooks): Likewise.
38597         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
38598         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
38599         argument. Allow each argument to be NULL.
38600         (unregister_fd_hook): Renamed from unregister_close_hook.
38601         * lib/close.c (rpl_close): Pass 'close' function pointer to
38602         execute_all_close_hooks.
38603         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
38604         (primary_ioctl): New function.
38605         (ioctl): Don't call ioctlsocket here. Instead, call
38606         execute_all_ioctl_hooks.
38607         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
38608         close method.
38609         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
38610         (fd_sockets_hook): Renamed from close_sockets_hook.
38611         (gl_sockets_startup, gl_sockets_cleanup): Update.
38612         * modules/fd-hook: Renamed from modules/close-hook. Update.
38613         * modules/close (Depends-on): Add fd-hook, remove close-hook.
38614         * modules/sockets (Depends-on): Likewise.
38615         * modules/ioctl (Depends-on): Add fd-hook.
38616         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
38617         GNULIB_SOCKET.
38619 2011-04-19  Bruno Haible  <bruno@clisp.org>
38621         Move the support of O_NONBLOCK in open() to the 'open' module.
38622         * modules/nonblocking (Depends-on): Remove 'open'.
38623         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
38624         gl_cv_have_open_O_NONBLOCK.
38625         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
38626         O_NONBLOCK support.
38627         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
38629 2011-04-17  Bruno Haible  <bruno@clisp.org>
38631         pipe2: Simplify code.
38632         * lib/pipe2.c (pipe2): Reduce code duplication.
38634 2011-04-17  Bruno Haible  <bruno@clisp.org>
38636         nonblocking: Add comment.
38637         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
38639 2011-04-17  Bruno Haible  <bruno@clisp.org>
38641         nonblocking: Add tests for sockets.
38642         * tests/test-nonblocking-socket.sh: New file.
38643         * tests/test-nonblocking-socket-main.c: New file.
38644         * tests/test-nonblocking-socket-child.c: New file.
38645         * tests/test-nonblocking-socket.h: New file.
38646         * tests/socket-server.h: New file.
38647         * tests/socket-client.h: New file.
38648         * modules/nonblocking-socket-tests: New file.
38649         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
38651 2011-04-17  Bruno Haible  <bruno@clisp.org>
38653         nonblocking: Add tests for pipes.
38654         * tests/test-nonblocking-pipe.sh: New file.
38655         * tests/test-nonblocking-pipe-main.c: New file.
38656         * tests/test-nonblocking-pipe-child.c: New file.
38657         * tests/test-nonblocking-pipe.h: New file.
38658         * tests/test-nonblocking-writer.h: New file.
38659         * tests/test-nonblocking-reader.h: New file.
38660         * tests/test-nonblocking-misc.h: New file.
38661         * modules/nonblocking-pipe-tests: New file.
38662         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
38664 2011-04-16  Bruno Haible  <bruno@clisp.org>
38666         gettext: Clarify the needed programmer actions.
38667         * modules/gettext (Notice): New field.
38668         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
38670 2011-04-16  Bruno Haible  <bruno@clisp.org>
38672         strchrnul: Tweak last commit.
38673         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
38674         bug.
38675         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
38676         as in _GL_FUNCDECL_SYS.
38677         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
38678         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
38680 2011-04-15  Eric Blake  <eblake@redhat.com>
38682         strchrnul: work around cygwin bug
38683         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
38684         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
38685         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
38686         * modules/string (Makefile.am): Substitute it.
38687         * lib/string.in.h (strchrnul): Use it.
38689 2011-04-15  Bruno Haible  <bruno@clisp.org>
38691         Don't require lib/stdio-write.c when only module 'stdio' is used.
38692         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
38693         invocation.
38694         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
38696 2011-04-14  Bruno Haible  <bruno@clisp.org>
38698         Support non-blocking pipe I/O in read() on native Windows.
38699         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
38700         (read): New declaration.
38701         * lib/read.c: New file.
38702         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
38703         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
38704         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
38705         vscanf): New declarations.
38706         * lib/stdio-read.c: New file.
38707         * m4/read.m4: New file.
38708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
38709         REPLACE_READ.
38710         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
38711         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
38712         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
38713         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
38714         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
38715         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
38716         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
38717         * modules/read: New file.
38718         * modules/nonblocking (Files): Add lib/stdio-read.c.
38719         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
38720         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
38721         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
38722         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
38723         * modules/pread (Depends-on): Add read.
38724         * modules/safe-read (Depends-on): Likewise.
38725         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
38726         gets, scanf, vfscanf, vscanf): Verify signatures.
38727         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
38728         problem with non-blocking pipes.
38729         * doc/posix-functions/fgetc.texi: Likewise.
38730         * doc/posix-functions/fgets.texi: Likewise.
38731         * doc/posix-functions/fread.texi: Likewise.
38732         * doc/posix-functions/fscanf.texi: Likewise.
38733         * doc/posix-functions/getc.texi: Likewise.
38734         * doc/posix-functions/getchar.texi: Likewise.
38735         * doc/posix-functions/gets.texi: Likewise.
38736         * doc/posix-functions/scanf.texi: Likewise.
38737         * doc/posix-functions/vfscanf.texi: Likewise.
38738         * doc/posix-functions/vscanf.texi: Likewise.
38740 2011-04-14  Bruno Haible  <bruno@clisp.org>
38742         Support non-blocking pipe I/O in write() on native Windows.
38743         * lib/write.c (rpl_write): Split a write request that failed merely
38744         because the byte count was larger than the pipe buffer's size.
38745         * doc/posix-functions/write.texi: Mention the problem with large byte
38746         counts.
38748 2011-04-14  Bruno Haible  <bruno@clisp.org>
38750         wchar: Ensure that wchar_t gets defined on uClibc.
38751         * lib/wchar.in.h: On uClibc, include <stddef.h>.
38752         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
38754 2011-04-13  Bruno Haible  <bruno@clisp.org>
38756         safe-write, full-read: Avoid unnecessary compilation units.
38757         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
38758         (Depends-on): Remove safe-read. Add ssize_t.
38759         * modules/full-read (Files): Add lib/full-write.c.
38760         (Depends-on): Add full-write.
38762 2011-04-13  Bruno Haible  <bruno@clisp.org>
38764         Support non-blocking pipe I/O and SIGPIPE in pwrite().
38765         * modules/pwrite (Depends-on): Add 'write'.
38767 2011-04-13  Bruno Haible  <bruno@clisp.org>
38769         Support non-blocking pipe I/O in write() on native Windows.
38770         * lib/unistd.in.h (write): Enable replacement also if
38771         GNULIB_UNISTD_H_NONBLOCKING is 1.
38772         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
38773         (rpl_write): When failing to write on a non-blocking pipe, change
38774         errno from ENOSPC to EAGAIN.
38775         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
38776         putchar, puts, vfprintf, vprintf): Enable replacement also if
38777         GNULIB_STDIO_H_NONBLOCKING is 1.
38778         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
38779         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
38780         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
38781         CALL_WITH_SIGPIPE_EMULATION.
38782         (CALL_WITH_SIGPIPE_EMULATION): Use them.
38783         * m4/nonblocking.m4: New file.
38784         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
38785         for non-blocking I/O support.
38786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38787         GNULIB_UNISTD_H_NONBLOCKING.
38788         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
38789         required for non-blocking I/O support.
38790         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
38791         * modules/nonblocking (Files): Add m4/nonblocking.m4,
38792         lib/stdio-write.c, m4/asm-underscore.m4.
38793         (Depends-on): Add stdio, unistd.
38794         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
38795         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
38796         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
38797         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
38798         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
38799         problem with non-blocking pipes.
38800         * doc/posix-functions/fputc.texi: Likewise.
38801         * doc/posix-functions/fputs.texi: Likewise.
38802         * doc/posix-functions/fwrite.texi: Likewise.
38803         * doc/posix-functions/printf.texi: Likewise.
38804         * doc/posix-functions/putc.texi: Likewise.
38805         * doc/posix-functions/putchar.texi: Likewise.
38806         * doc/posix-functions/puts.texi: Likewise.
38807         * doc/posix-functions/vfprintf.texi: Likewise.
38808         * doc/posix-functions/vprintf.texi: Likewise.
38809         * doc/posix-functions/write.texi: Likewise.
38811 2011-04-10  Jim Meyering  <meyering@redhat.com>
38813         maint.mk: prohibit doubled words
38814         Detect them also when they're separated by a newline.
38815         There are 3 ways to customize it:
38816           - disable the test on a per file basis, as usual with rules using
38817             $(VC_LIST_EXCEPT)
38818           - replace the default doubled-word-selecting regexp (affects all files)
38819           - ignore a particular file-vs-doubled-word match
38820         I nearly used that last one to ignore the "is is" match in
38821         coreutils' NEWS file, since the text was "ls -is is ..."
38822         To do that, I would have added this line to cfg.mk:
38823           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
38824         but it would have ignored any "is is" match in NEWS.
38825         Low probability, but still...
38826         Instead, I changed the text, slightly:
38827           -  ls -is is now consistent with ls -lis in ignoring values returned
38828           +  "ls -is" is now consistent with ls -lis in ignoring values returned
38829         * top/maint.mk (prohibit_double_word_RE_): Provide default.
38830         (prohibit_doubled_word_): Define.
38831         (sc_prohibit_doubled_word): New rule.
38832         (sc_prohibit_the_the): Remove.  Subsumed by the above.
38834 2011-04-10  Jim Meyering  <meyering@redhat.com>
38836         maint: fix doubled-word typo in comment
38837         * m4/gethostname.m4: s/is is/it is/
38838         * m4/getdomainname.m4: Likewise.
38840 2011-04-10  Jim Meyering  <meyering@redhat.com>
38842         maint: remove doubled word: s/it it/it/
38843         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
38845 2011-04-10  Jim Meyering  <meyering@redhat.com>
38847         maint.mk: remove useless semicolon and backslash
38848         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
38849         semicolon and backslash.
38851 2011-04-10  Bruno Haible  <bruno@clisp.org>
38853         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
38854         * modules/stdint-tests (Depends-on): Add wchar.
38856 2011-04-10  Jim Meyering  <meyering@redhat.com>
38858         maint: remove doubled words in comments, e.g., s/a a/a/
38859         * lib/strptime.c (day_of_the_week): s/the the/the/
38860         * tests/test-chown.h (test_chown): s/a a/a/
38862         test-chown.h: correct a cast
38863         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
38864         when the destination is a stat.st_gid.
38866 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
38868         getaddrinfo: Fix test for sa_len member.
38869         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
38870         include <sys/types.h> before <sys/socket.h>.
38872 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
38874         maint: change "can not" to "cannot"
38875         * doc/posix-functions/iconv.texi (iconv): This one crossed line
38876         boundaries.
38878 2011-04-09  Jim Meyering  <meyering@redhat.com>
38880         maint: change "a a" to "a"
38881         * tests/test-lchown.h (test_lchown): s/a a/a/
38883         maint.mk: prohibit \<the the\>
38884         * top/maint.mk (sc_prohibit_the_the): New rule.
38886         maint: fix "the the" in comment
38887         * lib/count-one-bits.h: s/the the/the/
38889         maint: change "can not" to "cannot"
38890         But do not change the occurrences in maintain.texi or in
38891         build-aux/po/Makefile.in.in, which I presume comes from gettext.
38892         * doc/gnulib-tool.texi: s/can not/cannot/
38893         * doc/posix-functions/accept.texi (accept): Likewise.
38894         * doc/posix-functions/socket.texi (socket): Likewise.
38895         * lib/mbrtowc.c: Likewise.
38897         maint.mk: prohibit use of "can not"
38898         * top/maint.mk (sc_prohibit_can_not): New rule.
38899         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
38901 2011-04-09  Bruno Haible  <bruno@clisp.org>
38903         careadlinkat: Guard against misuse of careadlinkatcwd.
38904         * lib/careadlinkat.c: Include <stdlib.h>.
38905         (careadlinkatcwd): Check that the fd argument is as expected.
38907 2011-04-09  Bruno Haible  <bruno@clisp.org>
38909         careadlinkat: Use common coding style.
38910         * lib/careadlinkat.c: Move gnulib includes after system includes.
38912 2011-04-09  Bruno Haible  <bruno@clisp.org>
38914         careadlinkat: Clarify specification.
38915         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
38916         (careadlinkatcwd): Add comment.
38917         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
38919 2011-04-09  Bruno Haible  <bruno@clisp.org>
38921         areadlinkat: Avoid link error on many platforms.
38922         * modules/areadlinkat (Depends-on): Add areadlink.
38924 2011-04-09  Bruno Haible  <bruno@clisp.org>
38926         allocator, careadlinkat: Fix double-inclusion guard.
38927         * lib/allocator.h: Fix double-inclusion guard.
38928         * lib/careadlinkat.h: Likewise.
38930 2011-04-09  Bruno Haible  <bruno@clisp.org>
38932         relocatable-prog-wrapper: Update after module 'areadlink' changed.
38933         * lib/relocwrapper.c: Update dependencies hierarchy.
38934         * build-aux/install-reloc: Update list of files to be compiled.
38935         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
38936         lib/allocator.[hc].
38938 2011-04-08  Eric Blake  <eblake@redhat.com>
38940         strftime: silence gnulib-tool warning
38941         * modules/strftime-tests (Depends-on): Drop automatic dependency.
38943 2011-04-08  Bruno Haible  <bruno@clisp.org>
38945         verify: Fix syntax error with GCC 4.6 in C++ mode.
38946         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
38947         (HAVE_STATIC_ASSERT): New macro.
38948         (verify_true, verify): Use 'static_assert' if it is supported and
38949         '_Static_assert' is not supported.
38951 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
38953         allocator: New module.
38954         * modules/allocator, lib/allocator.c: New files.
38955         * lib/allocator.h (stdlib_allocator): New decl.
38956         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
38957         Remove.  Do not include <stdlib.h>.
38958         (careadlinkat): Use stdlib_allocator instead of rolling our own.
38959         * modules/careadlinkat (Files): Remove lib/allocator.h.
38960         (Depends-on): Add allocator.
38962         stdlib: let modules use system malloc, realloc
38963         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
38964         if !_GL_USE_STDLIB_ALLOC.
38965         (malloc, realloc): Limit this change to a smaller scope.
38967         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
38968         (malloc, realloc): Don't #undef; no longer needed.
38969         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
38970         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
38971         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
38972         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
38973         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
38974         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
38975         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
38976         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
38978         careadlinkat: rename members to avoid problem
38979         * lib/allocator.h (struct allocator): Rename members from
38980         malloc/realloc to allocate/reallocate, to avoid problems if malloc
38981         and realloc are #define'd.  Reported by Eric Blake in
38982         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
38983         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
38985 2011-04-08  Eric Blake  <eblake@redhat.com>
38987         nonblocking: reduce dependency
38988         * tests/test-nonblocking.c: Only test sockets when in use.
38989         * modules/nonblocking-tests (Depends-on): Drop socket.
38990         (Makefile.am): Link even if sockets are not present.
38991         * modules/pipe2-tests (Makefile.am): Likewise.
38992         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
38994         pipe2: fix O_NONBLOCK support on mingw
38995         * modules/pipe2 (Depends-on): Add nonblocking.
38996         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
38997         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
38998         * tests/test-nonblocking.c (main): Likewise.
38999         * modules/pipe2-tests (Makefile.am): Avoid link failure.
39001         fcntl-h: fix O_ACCMODE on cygwin
39002         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
39003         * lib/fcntl.in.h (O_ACCMODE): Fix it.
39005         pipe-filter: drop O_NONBLOCK workarounds
39006         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
39007         * modules/pipe-filter-ii (Depends-on): Likewise.
39008         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
39010         nonblocking: provide O_NONBLOCK for mingw
39011         * modules/nonblocking (Depends-on): Add open.
39012         (configure.ac): Set new witness macro.
39013         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
39014         * modules/fcntl-h (Makefile.am): Substitute it.
39015         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
39016         nonblocking module is in use.
39017         * lib/nonblocking.c: Adjust portability test.
39018         * lib/open.c (open): Don't let native open see gnulib flag.
39019         * tests/test-fcntl-h.c (main): Enhance test.
39020         * tests/test-open.h (test_open): Likewise.
39021         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
39023         careadlinkat: fix compilation error on mingw
39024         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
39025         within struct allocator.
39027 2011-04-06  Eric Blake  <eblake@redhat.com>
39029         binary-io: relicense under LGPLv2+
39030         * modules/binary-io (License): Relax to LGPLv2+.
39031         Requested for libvirt, and required by pipe2.
39033 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
39035         verify: use _Static_assert if available
39036         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
39037         (verify_true, verify): Use it if available.  This generates better
39038         diagnostics with GCC 4.6.0 and later.
39040 2011-04-05  Bruno Haible  <bruno@clisp.org>
39042         Remove leftover generated .h files after config.status changed.
39044         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
39045         GL_GENERATE_ALLOCA_H.
39046         * modules/alloca-opt (Makefile.am): Remove alloca.h if
39047         GL_GENERATE_ALLOCA_H evaluates to false.
39049         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
39050         GL_GENERATE_ARGZ_H.
39051         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
39052         evaluates to false.
39054         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
39055         GL_GENERATE_BYTESWAP_H.
39056         * modules/byteswap (Makefile.am): Remove byteswap.h if
39057         GL_GENERATE_BYTESWAP_H evaluates to false.
39059         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
39060         GL_GENERATE_ERRNO_H.
39061         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
39062         evaluates to false.
39064         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
39065         GL_GENERATE_FLOAT_H.
39066         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
39067         evaluates to false.
39069         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
39070         GL_GENERATE_FNMATCH_H.
39071         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
39072         GL_GENERATE_FNMATCH_H evaluates to false.
39074         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
39075         GL_GENERATE_GLOB_H.
39076         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
39077         evaluates to false.
39079         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
39080         automake conditional GL_GENERATE_ICONV_H.
39081         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
39082         evaluates to false.
39084         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
39085         GL_GENERATE_NETINET_IN_H.
39086         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
39087         GL_GENERATE_NETINET_IN_H evaluates to false.
39089         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
39090         conditional GL_GENERATE_PTHREAD_H.
39091         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
39092         * modules/pthread (Makefile.am): Remove pthread.h if
39093         GL_GENERATE_PTHREAD_H evaluates to false.
39095         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
39096         GL_GENERATE_SCHED_H.
39097         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
39098         evaluates to false.
39100         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
39101         conditional GL_GENERATE_SELINUX_CONTEXT_H.
39102         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
39103         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
39105         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
39106         GL_GENERATE_STDARG_H.
39107         * modules/stdarg (Makefile.am): Remove stdarg.h if
39108         GL_GENERATE_STDARG_H evaluates to false.
39110         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
39111         GL_GENERATE_STDBOOL_H.
39112         * modules/stdbool (Makefile.am): Remove stdbool.h if
39113         GL_GENERATE_STDBOOL_H evaluates to false.
39115         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
39116         conditional GL_GENERATE_STDDEF_H.
39117         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
39118         * modules/stddef (Makefile.am): Remove stddef.h if
39119         GL_GENERATE_STDDEF_H evaluates to false.
39121         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
39122         GL_GENERATE_STDINT_H.
39123         * modules/stdint (Makefile.am): Remove stdint.h if
39124         GL_GENERATE_STDINT_H evaluates to false.
39126         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
39127         GL_GENERATE_SYSEXITS_H.
39128         * modules/sysexits (Makefile.am): Remove sysexits.h if
39129         GL_GENERATE_SYSEXITS_H evaluates to false.
39131         Reported by Karl Berry and Ralf Wildenhues.
39133 2011-04-05  Bruno Haible  <bruno@clisp.org>
39135         Ensure to rebuild generated .h files when config.status has changed.
39136         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
39137         config.status.
39138         * modules/ctype (Makefile.am): Likewise.
39139         * modules/dirent (Makefile.am): Likewise.
39140         * modules/errno (Makefile.am): Likewise.
39141         * modules/fcntl-h (Makefile.am): Likewise.
39142         * modules/float (Makefile.am): Likewise.
39143         * modules/getopt-posix (Makefile.am): Likewise.
39144         * modules/glob (Makefile.am): Likewise.
39145         * modules/iconv-h (Makefile.am): Likewise.
39146         * modules/inttypes (Makefile.am): Likewise.
39147         * modules/langinfo (Makefile.am): Likewise.
39148         * modules/locale (Makefile.am): Likewise.
39149         * modules/math (Makefile.am): Likewise.
39150         * modules/netdb (Makefile.am): Likewise.
39151         * modules/netinet_in (Makefile.am): Likewise.
39152         * modules/poll-h (Makefile.am): Likewise.
39153         * modules/pthread (Makefile.am): Likewise.
39154         * modules/pty (Makefile.am): Likewise.
39155         * modules/sched (Makefile.am): Likewise.
39156         * modules/search (Makefile.am): Likewise.
39157         * modules/selinux-h (Makefile.am): Likewise.
39158         * modules/signal (Makefile.am): Likewise.
39159         * modules/spawn (Makefile.am): Likewise.
39160         * modules/stdarg (Makefile.am): Likewise.
39161         * modules/stdbool (Makefile.am): Likewise.
39162         * modules/stddef (Makefile.am): Likewise.
39163         * modules/stdint (Makefile.am): Likewise.
39164         * modules/stdio (Makefile.am): Likewise.
39165         * modules/stdlib (Makefile.am): Likewise.
39166         * modules/string (Makefile.am): Likewise.
39167         * modules/strings (Makefile.am): Likewise.
39168         * modules/sys_file (Makefile.am): Likewise.
39169         * modules/sys_ioctl (Makefile.am): Likewise.
39170         * modules/sys_select (Makefile.am): Likewise.
39171         * modules/sys_socket (Makefile.am): Likewise.
39172         * modules/sys_stat (Makefile.am): Likewise.
39173         * modules/sys_time (Makefile.am): Likewise.
39174         * modules/sys_times (Makefile.am): Likewise.
39175         * modules/sys_utsname (Makefile.am): Likewise.
39176         * modules/sys_wait (Makefile.am): Likewise.
39177         * modules/sysexits (Makefile.am): Likewise.
39178         * modules/termios (Makefile.am): Likewise.
39179         * modules/time (Makefile.am): Likewise.
39180         * modules/unistd (Makefile.am): Likewise.
39181         * modules/wchar (Makefile.am): Likewise.
39182         * modules/wctype-h (Makefile.am): Likewise.
39183         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
39185 2011-04-05  Bruno Haible  <bruno@clisp.org>
39187         pipe2: Relicense under LGPLv2+.
39188         * modules/pipe2 (License): Change to LGPLv2+.
39189         Requested by Eric Blake, for libvirt.
39191 2011-04-05  Bruce Korb  <bkorb@gnu.org>
39193         bootstrap: compute gnulib_extra_files after updating build_aux
39194         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
39195         change build_aux or also supply gnulib_extra_files.  Handle correctly.
39197 2011-04-05  Eric Blake  <eblake@redhat.com>
39199         bootstrap: preserve git whitelist item sorting
39200         * build-aux/bootstrap (sort_patterns): New function.
39201         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
39203 2011-04-05  Simon Josefsson  <simon@josefsson.org>
39205         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
39206         sc_space_tab check.
39208 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
39210         areadlink, areadlinkat: rewrite in terms of careadlinkat
39211         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
39212         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
39213         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
39214         (malloc, realloc): Remove #undefs.
39215         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
39216         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
39217         readlink, ssize_t, stdint, unistd.
39218         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
39219         areadlink, stdint.
39221         careadlinkat: new module
39222         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
39223         * modules/careadlinkat: New files, written by me with
39224         a review and feedback from Ben Pfaff in
39225         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
39227 2011-04-01  Bruno Haible  <bruno@clisp.org>
39229         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
39230         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
39231         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
39232         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
39233         Reported by Bruce Korb <bruce.korb@gmail.com>.
39235 2011-04-01  Bruno Haible  <bruno@clisp.org>
39237         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
39238         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
39239         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
39240         * modules/wcpcpy (Depends-on): Add extensions.
39241         * modules/wcpncpy (Depends-on): Likewise.
39242         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
39243         systems.
39244         * doc/posix-functions/wcpncpy.texi: Likewise.
39245         * doc/posix-functions/wcwidth.texi: Likewise.
39247 2011-03-31  Eric Blake  <eblake@redhat.com>
39249         nonblocking: fix mingw test failures
39250         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
39251         non-blocking flag on regular file.
39252         (get_nonblocking_flag): Set errno on invalid fd.
39253         * tests/test-nonblocking.c (main): Avoid test failure on
39254         directories if fchdir is not active.
39255         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
39257 2011-03-31  Bruno Haible  <bruno@clisp.org>
39259         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
39260         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
39261         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
39262         Reported by Simon Josefsson <simon@josefsson.org>.
39264 2011-03-31  Bruno Haible  <bruno@clisp.org>
39265         and Eric Blake  <eblake@redhat.com>
39267         nonblocking: new module
39268         * modules/nonblocking: New module.
39269         * modules/nonblocking-tests: Likewise.
39270         * lib/nonblocking.h: New file.
39271         * lib/nonblocking.c: Likewise.
39272         * tests/test-nonblocking.c: New test.
39273         * lib/ioctl.c (ioctl) [mingw]: Update comment.
39275 2011-03-30  Bruno Haible  <bruno@clisp.org>
39277         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
39278         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
39279         instead of 'printf' format for GCC >= 4.4.
39280         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
39281         (fprintf, printf, vfprintf, vprintf): Declare with
39282         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
39283         the system's vfprintf() function.
39284         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
39286 2011-03-30  Eric Blake  <eblake@redhat.com>
39288         passfd: fix scoping bug
39289         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
39290         before sendmsg/recvmsg.
39292         passfd: standardize coding conventions
39293         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
39294         can be learned at compile time.
39295         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
39296         ifdefs.
39297         (sendfd, recvfd): Follow gnulib code conventions.
39299         passfd: fix incorrect sendmsg arguments
39300         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
39301         incorrect msg_controllen value.
39302         * modules/passfd-tests (Depends-on): Check for alarm.
39303         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
39304         Reported by Bastien ROUCARIES.
39306 2011-03-30  Bruno Haible  <bruno@clisp.org>
39308         c-strcasestr: Relicense under LGPLv2+.
39309         * modules/c-strcasestr (License): Change to LGPLv2+.
39310         Requested by Eric Blake, for libvirt.
39312 2011-03-30  Simon Josefsson  <simon@josefsson.org>
39314         * users.txt: Add libidn2.  Fix libtasn1 link.
39316 2011-03-30  Jim Meyering  <meyering@redhat.com>
39318         tests: readlink* ("",... fails with EINVAL on newer kernels
39319         readlink and readlinkat have typically failed with ENOENT for
39320         the invalid, empty file name,  "".  However, with the advent
39321         of linux-2.6.39, they fail with EINVAL.
39322         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
39323         when operating on the empty file name.
39324         * tests/test-readlink.h (test_readlink): Likewise.
39326 2011-03-29  Bruno Haible  <bruno@clisp.org>
39328         Relicense some modules under LGPLv2+, for libidn2.
39329         * modules/array-mergesort (License): Change to LGPLv2+.
39330         * modules/c-strcaseeq (License): Likewise.
39331         * modules/striconveh (License): Likewise.
39332         * modules/striconveha (License): Likewise.
39333         * modules/uniconv/base (License): Likewise.
39334         * modules/uniconv/u8-conv-from-enc (License): Likewise.
39335         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
39336         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
39337         * modules/unictype/base (License): Likewise.
39338         * modules/unictype/bidiclass-of (License): Likewise.
39339         * modules/unictype/category-M (License): Likewise.
39340         * modules/unictype/category-none (License): Likewise.
39341         * modules/unictype/category-of (License): Likewise.
39342         * modules/unictype/category-test (License): Likewise.
39343         * modules/unictype/category-test-withtable (License): Likewise.
39344         * modules/unictype/combining-class (License): Likewise.
39345         * modules/unictype/joiningtype-of (License): Likewise.
39346         * modules/unictype/scripts (License): Likewise.
39347         * modules/uninorm/base (License): Likewise.
39348         * modules/uninorm/canonical-decomposition (License): Likewise.
39349         * modules/uninorm/composition (License): Likewise.
39350         * modules/uninorm/decompose-internal (License): Likewise.
39351         * modules/uninorm/decomposition-table (License): Likewise.
39352         * modules/uninorm/nfc (License): Likewise.
39353         * modules/uninorm/nfd (License): Likewise.
39354         * modules/uninorm/u32-normalize (License): Likewise.
39355         * modules/unistr/base (License): Likewise.
39356         * modules/unistr/u32-cpy (License): Likewise.
39357         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
39358         * modules/unistr/u32-to-u8 (License): Likewise.
39359         * modules/unistr/u32-uctomb (License): Likewise.
39360         * modules/unistr/u8-check (License): Likewise.
39361         * modules/unistr/u8-mblen (License): Likewise.
39362         * modules/unistr/u8-mbtouc (License): Likewise.
39363         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
39364         * modules/unistr/u8-mbtoucr (License): Likewise.
39365         * modules/unistr/u8-prev (License): Likewise.
39366         * modules/unistr/u8-strlen (License): Likewise.
39367         * modules/unistr/u8-to-u32 (License): Likewise.
39368         * modules/unistr/u8-uctomb (License): Likewise.
39369         * modules/unitypes (License): Likewise.
39370         Requested by Simon Josefsson.
39372 2011-03-29  Simon Josefsson  <simon@josefsson.org>
39374         lib-symbol-visibility: Add a notice.
39375         * modules/lib-symbol-visibility (Notice): New field.
39377 2011-03-29  Bruno Haible  <bruno@clisp.org>
39379         getaddrinfo: Doc fix.
39380         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
39381         section "fixed in Gnulib".
39383 2011-03-28  Simon Josefsson  <simon@josefsson.org>
39385         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
39386         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
39388 2011-03-26  Bruno Haible  <bruno@clisp.org>
39390         unictype/property-byname: Reduce the number of load-time relocations.
39391         * lib/unictype/pr_byname.c: Include <stdlib.h>.
39392         (UC_PROPERTY_INDEX_*): New enumeration values.
39393         (uc_property_byname): Convert an index from the lookup table to an
39394         uc_property_t.
39395         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
39396         values.
39398 2011-03-26  Bruno Haible  <bruno@clisp.org>
39400         unictype/property-byname: Allow omitted word separators and aliases.
39401         * lib/unictype/pr_byname.gperf: Add property names without word
39402         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
39403         for 'space'.
39405 2011-03-26  Bruno Haible  <bruno@clisp.org>
39407         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
39408         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
39409         also hyphens to space.
39410         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
39411         without spaces.
39412         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
39414 2011-03-26  Bruno Haible  <bruno@clisp.org>
39416         unictype/joiningtype-byname: Recognize long names as well.
39417         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
39418         a long name.
39419         * lib/unictype/joiningtype_byname.c: Include <string.h>,
39420         unictype/joiningtype_byname.h.
39421         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
39422         * lib/unictype/joiningtype_byname.gperf: New file.
39423         * modules/unictype/joiningtype-byname (Files): Add
39424         lib/unictype/joiningtype_byname.gperf.
39425         (Depends-on): Add gperf.
39426         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
39427         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
39428         long names.
39430         Tests for module 'unictype/joiningtype-longname'.
39431         * modules/unictype/joiningtype-longname-tests: New file.
39432         * tests/unictype/test-joiningtype_longname.c: New file.
39434         New module 'unictype/joiningtype-longname'.
39435         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
39436         * lib/unictype/joiningtype_longname.c: New file.
39437         * modules/unictype/joiningtype-longname: New file.
39438         * modules/unictype/joiningtype-all (Depends-on): Add
39439         unictype/joiningtype-longname.
39441 2011-03-26  Bruno Haible  <bruno@clisp.org>
39443         unictype/bidiclass-byname: Recognize long names as well.
39444         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
39445         name.
39446         * lib/unictype/bidi_byname.c: Include <string.h>,
39447         unictype/bidi_byname.h.
39448         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
39449         * lib/unictype/bidi_byname.gperf: New file.
39450         * modules/unictype/bidiclass-byname (Files): Add
39451         lib/unictype/bidi_byname.gperf.
39452         (Depends-on): Add gperf.
39453         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
39454         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
39455         long names.
39457         Tests for module 'unictype/bidiclass-longname'.
39458         * modules/unictype/bidiclass-longname-tests: New file.
39459         * tests/unictype/test-bidi_longname.c: New file.
39461         New module 'unictype/bidiclass-longname'.
39462         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
39463         * lib/unictype/bidi_longname.c: New file.
39464         * modules/unictype/bidiclass-longname: New file.
39465         * modules/unictype/bidiclass-all (Depends-on): Add
39466         unictype/bidiclass-longname.
39468 2011-03-26  Bruno Haible  <bruno@clisp.org>
39470         unictype/bidi*: Rename modules.
39471         * modules/unictype/bidiclass-all: Renamed from
39472         modules/unictype/bidicategory-all.
39473         * modules/unictype/bidiclass-name: Renamed from
39474         modules/unictype/bidiclass-name.
39475         (Description): Update.
39476         * modules/unictype/bidiclass-name-tests: Renamed from
39477         modules/unictype/bidicategory-name-tests.
39478         * modules/unictype/bidiclass-byname: Renamed from
39479         modules/unictype/bidicategory-byname.
39480         (Description): Update.
39481         * modules/unictype/bidiclass-byname-tests: Renamed from
39482         modules/unictype/bidicategory-byname-tests.
39483         * modules/unictype/bidiclass-of: Renamed from
39484         modules/unictype/bidicategory-of.
39485         (Description): Update.
39486         * modules/unictype/bidiclass-of-tests: Renamed from
39487         modules/unictype/bidicategory-of-tests.
39488         * modules/unictype/bidiclass-test: Renamed from
39489         modules/unictype/bidicategory-test.
39490         (Description): Update.
39491         * modules/unictype/bidiclass-test-tests: Renamed from
39492         modules/unictype/bidicategory-test-tests.
39493         * modules/unictype/bidicategory-all: New file, a simple redirection.
39494         * modules/unictype/bidicategory-name: Likewise.
39495         * modules/unictype/bidicategory-byname: Likewise.
39496         * modules/unictype/bidicategory-of: Likewise.
39497         * modules/unictype/bidicategory-test: Likewise.
39498         * modules/unictype/property-bidi-* (Dependencies): Update.
39499         * lib/unictype/bidi_*.c: Update comment.
39501 2011-03-26  Bruno Haible  <bruno@clisp.org>
39503         unictype/bidi*: Rename functions, part 2.
39504         * modules/unictype/bidicategory-name (configure.ac): Update required
39505         libunistring version.
39506         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
39508 2011-03-25  Bruno Haible  <bruno@clisp.org>
39510         New module 'unictype/combining-class-all'.
39511         * modules/unictype/combining-class-all: New file.
39513         Tests for module 'unictype/combining-class-byname'.
39514         * modules/unictype/combining-class-byname-tests: New file.
39515         * tests/unictype/test-combiningclass_byname.c: New file.
39517         New module 'unictype/combining-class-byname'.
39518         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
39519         * lib/unictype/combiningclass_byname.c: New file.
39520         * lib/unictype/combiningclass_byname.gperf: New file.
39521         * modules/unictype/combining-class-byname: New file.
39523         Tests for module 'unictype/combining-class-longname'.
39524         * modules/unictype/combining-class-longname-tests: New file.
39525         * tests/unictype/test-combiningclass_longname.c: New file.
39527         New module 'unictype/combining-class-longname'.
39528         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
39529         * lib/unictype/combiningclass_longname.c: New file.
39530         * modules/unictype/combining-class-longname: New file.
39532         Tests for module 'unictype/combining-class-name'.
39533         * modules/unictype/combining-class-name-tests: New file.
39534         * tests/unictype/test-combiningclass_name.c: New file.
39536         New module 'unictype/combining-class-name'.
39537         * lib/unictype.in.h (uc_combining_class_name): New declaration.
39538         * lib/unictype/combiningclass_name.c: New file.
39539         * modules/unictype/combining-class-name: New file.
39541 2011-03-25  Bruno Haible  <bruno@clisp.org>
39543         unictype/combining-class: Rename source files.
39544         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
39545         of unictype/combining.h.
39546         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
39547         Update.
39548         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
39549         * modules/unictype/combining-class (Description): Fix.
39550         (Files, Makefile.am): Update.
39551         * tests/unictype/test-combiningclass.c: Renamed from
39552         tests/unictype/test-combining.c.
39553         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
39555 2011-03-25  Bruno Haible  <bruno@clisp.org>
39557         unictype: Update list of canonical combining classes.
39558         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
39560 2011-03-25  Bruno Haible  <bruno@clisp.org>
39562         unictype/category-byname: Recognize long names as well.
39563         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
39564         a long name.
39565         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
39566         unictype/categ_byname.h.
39567         (UC_CATEGORY_INDEX_*): New enumeration values.
39568         (uc_general_category_byname): Use uc_general_category_lookup and
39569         convert from index to value.
39570         * lib/unictype/categ_byname.gperf: New file.
39571         * modules/unictype/category-byname (Files): Add
39572         lib/unictype/categ_byname.gperf.
39573         (Depends-on): Add gperf.
39574         (Makefile.am): Add rule for generating unictype/categ_byname.h.
39575         * tests/unictype/test-categ_byname.c (main): Test the recognition of
39576         long names.
39578         Tests for module 'unictype/category-longname'.
39579         * modules/unictype/category-longname-tests: New file.
39580         * tests/unictype/test-categ_longname.c: New file.
39582         New module 'unictype/category-longname'.
39583         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
39584         * lib/unictype/categ_longname.c: New file.
39585         * modules/unictype/category-longname: New file.
39586         * modules/unictype/category-all (Depends-on): Add it.
39588 2011-03-25  Bruno Haible  <bruno@clisp.org>
39590         Tests for module 'unictype/category-LC'.
39591         * modules/unictype/category-LC-tests: New file.
39592         * tests/unictype/test-categ_LC.c: New file, automatically generated.
39594         New module 'unictype/category-LC'.
39595         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
39596         (UC_CATEGORY_LC): New declaration.
39597         (UC_CASED_LETTER): New macro.
39598         * lib/gen-uni-tables.c (is_category_LC): New function.
39599         (output_categories): Also handle category LC.
39600         (UC_CATEGORY_MASK_LC): New enumeration value.
39601         (general_category_byname): Also handle category LC.
39602         * lib/unictype/categ_LC.c: New file.
39603         * lib/unictype/categ_LC.h: New file, automatically generated.
39604         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
39605         category LC.
39606         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
39607         * modules/unictype/category-LC: New file.
39608         * modules/unictype/category-byname (Depends-on): Add
39609         unictype/category-LC.
39610         * modules/unictype/category-all (Depends-on): Likewise.
39612 2011-03-25  Eric Blake  <eblake@redhat.com>
39614         xmalloc: revert yesterday's regression
39615         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
39616         realloc's underlying behavior (allowing allocation of zero-size
39617         objects, especially if malloc-gnu is also in use).
39619 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
39621         maint.mk: add missing version to VC-tag
39622         * top/maint.mk: git tag was missing actual tag name; add it.
39624         valgrind: do leak checking, and exit with code 1 on error (not 0)
39625         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
39626         to VALGRIND.
39628 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
39630         posix-modules: say what it does.
39631         * posix-modules: Add a line to the --help output saying what it does.
39633 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
39635         xmalloc: Do not leak if underlying realloc is C99 compatible.
39636         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
39637         This avoids a leak on C99-based systems.  See
39638         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
39640 2011-03-24  Eric Blake  <eblake@redhat.com>
39642         realloc: document portability problem
39643         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
39644         passing 0 size to realloc.
39646 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
39648         doc: update users.txt
39649         * users.txt: Add cvsps, tmpwatch
39651 2011-03-23  Matt Rice  <ratmice@gmail.com>
39653         doc: update users.txt
39654         * users.txt: Add gdb.
39656 2011-03-23  Jim Meyering  <meyering@redhat.com>
39658         doc: update users.txt
39659         Looking through matches up to the following URL (there are still
39660         several more pages), I found several projects that use gnulib:
39661         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
39662         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
39663         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
39665 2011-03-22  Bruno Haible  <bruno@clisp.org>
39667         unictype/bidi*: Rename functions.
39668         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
39669         uc_bidi_class, uc_is_bidi_class): New declarations.
39670         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
39671         uc_bidi_category_byname.
39672         (uc_bidi_category_byname): New function.
39673         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
39674         u_bidi_category_name.
39675         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
39676         (uc_bidi_category_name): New function.
39677         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
39678         uc_bidi_category.
39679         (uc_bidi_category): New function.
39680         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
39681         uc_is_bidi_category. Invoke uc_bidi_class.
39682         (uc_is_bidi_category): New function.
39683         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
39684         instead of uc_bidi_category_byname.
39685         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
39686         instead of uc_bidi_category_name.
39687         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
39688         uc_bidi_category.
39689         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
39690         instead of uc_is_bidi_category.
39692 2011-03-21  Bruno Haible  <bruno@clisp.org>
39694         New module 'unictype/joininggroup-all'.
39695         * modules/unictype/joininggroup-all: New file.
39697         Tests for module 'unictype/joininggroup-of'.
39698         * modules/unictype/joininggroup-of-tests: New file.
39699         * tests/unictype/test-joininggroup_of.c: New file.
39700         * tests/unictype/test-joininggroup_of.h: New file, automatically
39701         generated by gen-uni-tables.
39703         New module 'unictype/joininggroup-of'.
39704         * modules/unictype/joininggroup-of: New file.
39705         * lib/unictype/joininggroup_of.c: New file.
39706         * lib/unictype/joininggroup_of.h: New file, automatically generated by
39707         gen-uni-tables.
39709         Tests for module 'unictype/joininggroup-byname'.
39710         * modules/unictype/joininggroup-byname-tests: New file.
39711         * tests/unictype/test-joininggroup_byname.c: New file.
39713         New module 'unictype/joininggroup-byname'.
39714         * modules/unictype/joininggroup-byname: New file.
39715         * lib/unictype/joininggroup_byname.c: New file.
39716         * lib/unictype/joininggroup_byname.gperf: New file.
39718         Tests for module 'unictype/joininggroup-name'.
39719         * modules/unictype/joininggroup-name-tests: New file.
39720         * tests/unictype/test-joininggroup_name.c: New file.
39722         New module 'unictype/joininggroup-name'.
39723         * modules/unictype/joininggroup-name: New file.
39724         * lib/unictype/joininggroup_name.c: New file.
39725         * lib/unictype/joininggroup_name.h: New file.
39727         New module 'unictype/joiningtype-all'.
39728         * modules/unictype/joiningtype-all: New file.
39730         Tests for module 'unictype/joiningtype-of'.
39731         * modules/unictype/joiningtype-of-tests: New file.
39732         * tests/unictype/test-joiningtype_of.c: New file.
39733         * tests/unictype/test-joiningtype_of.h: New file, automatically
39734         generated by gen-uni-tables.
39736         New module 'unictype/joiningtype-of'.
39737         * modules/unictype/joiningtype-of: New file.
39738         * lib/unictype/joiningtype_of.c: New file.
39739         * lib/unictype/joiningtype_of.h: New file, automatically generated by
39740         gen-uni-tables.
39742         Tests for module 'unictype/joiningtype-byname'.
39743         * modules/unictype/joiningtype-byname-tests: New file.
39744         * tests/unictype/test-joiningtype_byname.c: New file.
39746         New module 'unictype/joiningtype-byname'.
39747         * modules/unictype/joiningtype-byname: New file.
39748         * lib/unictype/joiningtype_byname.c: New file.
39750         Tests for module 'unictype/joiningtype-name'.
39751         * modules/unictype/joiningtype-name-tests: New file.
39752         * tests/unictype/test-joiningtype_name.c: New file.
39754         New module 'unictype/joiningtype-name'.
39755         * modules/unictype/joiningtype-name: New file.
39756         * lib/unictype/joiningtype_name.c: New file.
39758         unictype: Add support for Arabic shaping properties.
39759         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
39760         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
39761         declarations.
39762         (UC_JOINING_GROUP_*): New enumeration values.
39763         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
39764         declarations.
39765         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
39766         (unicode_joining_type): New variable.
39767         (UC_JOINING_GROUP_*): New enumeration values.
39768         (unicode_joining_group): New variable.
39769         (fill_arabicshaping, joining_type_as_c_identifier,
39770         output_joining_type_test, output_joining_type,
39771         joining_group_as_c_identifier, output_joining_group_test,
39772         output_joining_group): New functions.
39773         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
39774         fill_arabicshaping and output_joining_type_test, output_joining_type,
39775         output_joining_group_test, output_joining_group.
39776         Reported by Simon Josefsson.
39778 2011-03-21  Jim Meyering  <meyering@redhat.com>
39780         strftime: fix a bug in yesterday's change
39781         * lib/strftime.c (add): Accommodate width's initial value of -1.
39782         Otherwise, nstrftime would copy uninitialized data into
39783         the result buffer.
39785 2011-03-21  Jim Meyering  <meyering@redhat.com>
39787         tests: add strftime-tests module
39788         * tests/test-strftime.c: New file.
39789         * modules/strftime-tests: New module.
39791 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
39793         strftime: don't assume a byte count fits in 'int'
39794         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
39795         found this problem by static analysis, using gcc -Wstrict-overflow
39796         (GCC 4.5.2, x86-64).  This reported an optimization that depended
39797         on an integer overflow having undefined behavior, but it turns out
39798         that the argument is a size, which might not fit in 'int' anyway,
39800 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
39802         stdio: don't require ignore_value around fwrite
39804         This patch works around libc bug 11959
39805         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
39806         Without this patch, applications must often write
39807         ignore_value (fwrite (...)) even though the ignore_value is
39808         not helpful here.  It's common to write many objects, using
39809         fwrite/printf/etc., and then use ferror to detect output error.
39811         I considered making this patch optional, but decided against it,
39812         because libc is obviously being inconsistent here: there is no
39813         reason libc should insist that user code must inspect fwrite
39814         return's value without also insisting that it inspect printf's,
39815         putchar's, etc.  If user code wants to have a strict style where
39816         all these functions' values are checked (so that ferror need not
39817         be checked), we could add support for that style in a new gnulib
39818         module, but in the meantime it's better to be consistent and to
39819         support common usage.
39821         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
39822         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
39823         that we are compiling in checking mode, and if not C++, and
39824         if not already wrapping fwrite for some other reason.
39825         (fwrite): #define to rpl_fwrite if the latter is defined.
39827 2011-03-20  Bruno Haible  <bruno@clisp.org>
39829         verror: Fix compilation error introduced on 2011-02-13.
39830         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
39831         instead of __attribute__.
39832         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
39834 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
39835             Bruno Haible  <bruno@clisp.org>
39837         socklen: do not depend on sys_socket
39838         While trying to modify Emacs to use gnulib's socklen module,
39839         I discovered a circular dependency: socklen depends on sys_socket
39840         and vice versa.  Emacs can use socklen, but it does not need
39841         sys_socket because it has its own substitute for sys/socket.h.
39842         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
39843         gl_TYPE_SOCKLEN_T.
39844         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
39845         gl_PREREQ_SYS_H_SOCKET.
39846         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
39847         gl_PREREQ_SYS_H_SOCKET.
39848         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
39849         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
39850         * modules/socklen (Depends-on): Do not depend on sys_socket.
39851         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
39853 2011-03-20  Jim Meyering  <meyering@redhat.com>
39855         maint.mk: sort file names *after* new transformation
39856         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
39857         prefix would have led to an unwarranted failure in GNU parted.
39858         Sort after that transformation.
39860 2011-03-19  Jim Meyering  <meyering@redhat.com>
39862         maint.mk: fix po-file syntax-check rule
39863         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
39864         Patch by Bruno Haible.
39866 2011-03-19  Bruno Haible  <bruno@clisp.org>
39868         socklen: Update comment.
39869         * m4/socklen.m4: Update comment about platforms.
39871 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39872             Bruno Haible  <bruno@clisp.org>
39874         inet_ntop, inet_pton: Simplify.
39875         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
39876         documented to provide socklen_t and we already depend on sys_socket.
39877         * modules/inet_pton (Depends-on): Likewise.
39878         * lib/arpa_inet.in.h: Adjust comment.
39880 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
39881             Bruno Haible  <bruno@clisp.org>
39883         netdb: Simplify.
39884         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
39885         documented to provide socklen_t and we already depend on sys_socket.
39886         * lib/netdb.in.h: Adjust comment.
39888 2011-03-19  Bruno Haible  <bruno@clisp.org>
39890         sys_socket, netdb: Document problem with socklen_t.
39891         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
39892         platforms.
39893         * doc/posix-headers/netdb.texi: Likewise.
39895 2011-03-18  Eric Blake  <eblake@redhat.com>
39897         maint.mk: let po check work in VPATH build
39898         * top/maint.mk (po_file): Allow cfg.mk override.
39899         (sc_po_check): Allow VPATH use.
39900         Reported by Jiri Denemark.
39902 2011-03-16  Jim Meyering  <meyering@redhat.com>
39904         maint.mk: allow fine-grained syntax-check exclusion via Make variables
39905         Before, you would have had to create one .x-sc_ file per rule in order
39906         to exempt offending files.  Now, you may instead use a Make variable --
39907         usually defined in cfg.mk -- whose name identifies the affected rule.
39908         * top/maint.mk (_sc_excl): Define.
39909         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
39910         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
39912 2011-03-13  Bruno Haible  <bruno@clisp.org>
39914         ignore-value tests: Avoid warnings.
39915         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
39916         empty for gcc < 3.4.
39918 2011-03-13  Bruno Haible  <bruno@clisp.org>
39920         passfd: Fix link error on Solaris.
39921         * modules/passfd (Description): Correct.
39922         (Depends-on): Add socketlib.
39923         (Link): New section.
39924         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
39926 2011-03-13  Bruno Haible  <bruno@clisp.org>
39928         passfd: Fix link error on AIX 5.2.
39929         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
39931 2011-03-13  Bruno Haible  <bruno@clisp.org>
39933         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
39934         * lib/sys_socket.in.h: Include <stddef.h>.
39935         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
39936         CMSG_FIRSTHDR. Remove unused variable.
39938 2011-03-13  Bruno Haible  <bruno@clisp.org>
39940         passfd: Fix compilation error on OpenBSD.
39941         * lib/passfd.c: Include <sys/uio.h>.
39943 2011-03-13  Bruno Haible  <bruno@clisp.org>
39945         passfd test: Fix warnings.
39946         * tests/test-passfd.c: Include <sys/wait.h>.
39947         (main): Fix typo.
39949 2011-03-13  Bruno Haible  <bruno@clisp.org>
39951         passfd module, part 4, tweaks.
39952         * tests/test-passfd.c: Reorder includes.
39953         (main): Fix perror and printf calls.
39955 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
39957         passfd module, part 4.
39958         * modules/passfd-tests: New file.
39959         * tests/test-passfd.c: New file.
39961 2011-03-13  Jim Meyering  <meyering@redhat.com>
39963         Makefile: rely on GNU make; derive syntax-check rule names
39964         Rather than requiring that each sc_ rule be listed as a dependent
39965         of "check", use features of GNU make to derive the list.
39966         * Makefile (syntax-check-rules): Define.
39967         (check): Depend on the new variable, not the hard-coded list.
39969 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
39970             Bruno Haible  <bruno@clisp.org>
39972         passfd module, part 3.
39973         * lib/passfd.h (recvfd): Add a flags argument.
39974         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
39975         (recvfd): Add a flags argument.
39976         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
39977         exists.
39978         * modules/passfd (Depends-on): Add cloexec.
39979         Suggested by Eric Blake.
39981 2011-03-13  Bruno Haible  <bruno@clisp.org>
39983         passfd module, part 2, tweaks.
39984         * modules/passfd (Files): Reorder.
39985         (Depends-on): Remove errno.
39986         (Include): Remove <sys/socket.h>, <sys/un.h>.
39987         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
39988         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
39989         specification header. Include <sys/socket.h> always. Don't include
39990         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
39991         (sendfd): Clarify that it sets errno when it fails.
39992         (recvfd): Fix specification.
39994 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
39996         passfd module, part 2.
39997         * modules/passfd: New file.
39998         * lib/passfd.h: New file.
39999         * lib/passfd.c: New file.
40001 2011-03-12  Bruno Haible  <bruno@clisp.org>
40003         wcswidth, mbswidth: Avoid integer overflow.
40004         * lib/wcswidth.c: Include <limits.h>.
40005         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
40006         * lib/mbswidth.c: Include <limits.h>.
40007         (mbsnwidth): Avoid 'int' overflow.
40008         Reported by Jim Meyering.
40010 2011-03-12  Bruno Haible  <bruno@clisp.org>
40012         futimens, utimensat: Avoid endless recursion on Solaris 10.
40013         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
40014         Solaris.
40015         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
40016         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
40018 2011-03-11  Jim Meyering  <meyering@redhat.com>
40020         maint.mk: relax a regexp to accommodate other formatting styles
40021         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
40022         between "ngettext" and the following "(".
40024 2011-03-11  Pádraig Brady  <P@draigBrady.com>
40026         maint.mk: suppress a false positive warning
40027         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
40028         diagnostics are marked with ngettext.
40030 2011-03-10  Eric Blake  <eblake@redhat.com>
40032         wchar: add explicit dependencies, for Tru64
40033         * modules/mbmemcasecoll (Depends-on): Add wchar.
40034         * modules/mbtowc (Depends-on): Likewise.
40035         * modules/vasnprintf (Depends-on): Likewise.
40036         * modules/unistdio/u-printf-args (Depends-on): Likewise.
40037         * modules/wctomb (Depends-on): Likewise.
40038         Reported by Peter O'Gorman.
40040 2011-03-08  Bruno Haible  <bruno@clisp.org>
40042         passfd module, part 1, tweaks.
40043         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
40044         Improve indentation. Improve AC_MSG_CHECKING messages.
40045         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
40046         gl_SOCKET_FAMILIES.
40048 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
40050         passfd module, part 1.
40051         * m4/afunix.m4: New file.
40052         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
40053         sockets.
40055 2011-03-08  Bruno Haible  <bruno@clisp.org>
40057         regex-quote: New API.
40058         * lib/regex-quote.h: Include <stdbool.h>.
40059         (struct regex_quote_spec): New type.
40060         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
40061         New declarations.
40062         (regex_quote_length, regex_quote_copy, regex_quote): Take a
40063         'const struct regex_quote_spec *' argument.
40064         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
40065         (pcre_special): New constant.
40066         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
40067         New functions.
40068         (regex_quote_length, regex_quote_copy, regex_quote): Take a
40069         'const struct regex_quote_spec *' argument.
40070         * modules/regex-quote (Depends-on): Add stdbool.
40071         * tests/test-regex-quote.c (check): Update for new API. Add test for
40072         anchored results.
40073         * NEWS: Mention the API change.
40074         Reported by Reuben Thomas and Eric Blake.
40076 2011-03-06  Bruno Haible  <bruno@clisp.org>
40078         regex-quote: Fix creation of POSIX extended regular expressions.
40079         * lib/regex-quote.c (ere_special): Add grouping and alternation
40080         operators.
40082 2011-03-05  Bruno Haible  <bruno@clisp.org>
40084         doc: Improve doc regarding autopoint vs. gnulib.
40085         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
40086         disable autopoint while running autoreconf.
40087         Suggested by Ralf Wildenhues.
40089 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40091         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
40092         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
40094 2011-03-03  Bruce Korb  <bkorb@gnu.org>
40096         parse-duration: remove xalloc.h dependency
40097         * lib/parse-duration.c (parse_period): handle NULL return from
40098         strdup instead of calling xstrdup().
40099         * modules/parse-duration: remove "xalloc" dependency
40101 2011-03-03  Matthew Booth  <mbooth@redhat.com>
40103         bootstrap: honor m4_base when running aclocal
40104         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
40106 2011-03-02  Jim Meyering  <meyering@redhat.com>
40108         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
40109         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
40110         on request from Matt Booth.
40112 2011-03-01  Eric Blake  <eblake@redhat.com>
40114         test-link: work on Hurd
40115         * tests/test-link.h (test_link): Hurd rejects linking directories
40116         with EISDIR instead of the POSIX-mandated EPERM.
40118 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
40120         stdio: simplify by moving files to printf-posix, sigpipe
40121         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
40122         since this symbol is needed only if printf is replaced.
40123         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
40124         Require gl_ASM_SYMBOL_PREFIX.
40125         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
40126         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
40127         (Depends-on): Add 'raise'.
40128         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
40129         * modules/stdio (Files): Remove lib/stdio-write.c,
40130         m4/asm-underscore.m4.
40131         (Depends-on): Remove 'raise'.
40133         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
40134         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
40135         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
40136         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
40138 2011-02-28  Bruno Haible  <bruno@clisp.org>
40140         localcharset: Assume ANSI C behaviour of free().
40141         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
40142         calling free().
40143         Suggested by Simon Josefsson <simon@josefsson.org>.
40145 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
40146             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
40147             Bruno Haible  <bruno@clisp.org>  (tiny change)
40149         On Cygwin, use /proc file system instead of win32 API.
40150         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
40151         Win32 file names.
40152         (DllMain): Simplify by removing Cygwin specific code.
40153         (find_shared_library_fullname): Use Linux specific implementation also
40154         for Cygwin.
40155         (get_shared_library_fullname): Update accordingly.
40156         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
40157         Win32 file names.
40158         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
40159         Cygwin specific code.
40161 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
40162             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
40164         Fix OpenMP flag detection for various Fortran compilers.
40165         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
40166         OpenMP-conditional compilation construct, to force compile
40167         failure with missing OpenMP flag.
40168         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
40170 2011-02-25  Eric Blake  <eblake@redhat.com>
40172         strstr: expand test coverage
40173         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
40174         compilation.
40175         * tests/test-memmem.c (main): Duplicate tests.
40176         * tests/test-strcasestr.c (main): Likewise.
40177         * tests/test-c-strcasestr.c (main): Likewise.
40179 2011-02-25  Jim Meyering  <meyering@redhat.com>
40181         maint.mk: detect missing-NL-at-EOF, too
40182         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
40183         it also detects when a file lacks a newline at EOF.
40184         (require_exactly_one_NL_at_EOF_): Renamed from
40185         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
40186         since people may well have .x-sc_... file names tied to the
40187         existing name.  Suggested by Eric Blake.
40189 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
40191         dirname: move m4/dos.m4 functionality into lib/dosname.h
40193         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
40194         extracts symbols from it, puts them into config.h; but it's much
40195         easier to use the symbols directly.  filename.h already does this,
40196         but it disagrees with dos.m4 in some respects.  This patch
40197         introduces a different include file dosname.h that packages up
40198         dos.m4, and then later we can work on merging filename.h and
40199         dosname.h.  Applications that need only the easy-to-configure
40200         symbols should consider including dosname.h rather than dirname.h.
40201         * NEWS: Mention incompatible changes.
40202         * m4/dos.m4: Remove.
40203         * lib/dosname.h, modules/dosname: New files.
40204         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
40205         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
40206         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
40207         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
40208         Include dosname.h, not dirname.h.
40209         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
40210         Include dosname.h, for definitions of symbols like ISSLASH
40211         that used to be in config.h.
40212         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
40213         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
40214         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
40215         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
40216         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
40217         * modules/rmdir (Files): Likewise.
40218         * modules/stat (Files): Likewise.
40219         * modules/unlink (Files): Likewise.
40220         * modules/dirname-lgpl (Depends-on): Add dosname.
40221         * modules/lstat (Depends-on): Likewise.
40222         * modules/openat (Depends-on): Likewise.
40223         * modules/rmdir (Depends-on): Likewise.
40224         * modules/savewd (Depends-on): Likewise.
40225         * modules/stat (Depends-on): Likewise.
40226         * modules/unlink (Depends-on): Likewise.
40227         * modules/openat (Depends-on): Remove dirname-lgpl.
40228         * modules/savewd (Depends-on): Likewise.
40229         * tests/test-dirname.c: Do not use removed symbols like
40230         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
40231         the remaining symbols, e.g., ISSLASH ('\\').
40233 2011-02-25  Eric Blake  <eblake@redhat.com>
40235         strstr: revert patches that introduced bug and pessimization
40236         * lib/str-two-way.h: Add another reference.
40237         (two_way_short_needle, two_way_long_needle): Revert changes from
40238         2011-02-24; they pessimize search speed.
40239         (critical_factorization): Partially revert changes from
40240         2010-06-22; they violate the requirement that the left half of the
40241         needle be smaller than the period of the needle.
40243 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
40245         filenamecat: remove unnecessary dependency on dirname-lgpl
40246         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
40247         is no direct dependency, just an indirect one via filenamecat-lgpl.
40249         remove: remove unnecessary use of m4/dos.m4
40250         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
40251         * modules/remove (FILES): Remove m4/dos.m4.
40253         * lib/openat-proc.c: Don't include dirname.h; not needed.
40255         backupfile: remove unnecessary use of m4/dos.m4
40256         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
40257         of its symbols are used by the backupfile code.  backupfile.c does
40258         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
40259         for the rare case of programs that want all their backup file
40260         names to live within 8+3 limits, and dos.m4 doesn't address that.
40261         * modules/backupfile (Files): Remove m4/dos.m4.
40263 2011-02-24  Jim Meyering  <meyering@redhat.com>
40265         strstr: fix a bug whereby strstr would mistakenly return NULL
40266         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
40267         in period calculation.
40268         (two_way_long_needle): Likewise.
40269         The original problem was reported by Mike Stump in
40270         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
40271         Ralf Wildenhues provided the short needle and haystack.
40272         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
40273         Add a more involved test to trigger the bug in two_way_long_needle.
40275 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
40277         gnulib-tool: remove use of bold display in help screen
40278         * gnulib-tool (func_usage): Do not use bold display anymore in the
40279         help screen.  That was just meant to be a temporary emphasis for a
40280         backward-incompatible change.
40282 2011-02-23  Bruno Haible  <bruno@clisp.org>
40284         Fix misindentation of preprocessor directives.
40285         * lib/argp-namefrob.h: Reindent preprocessor directives.
40286         * lib/getopt_int.h (struct _getopt_data): Likewise.
40287         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
40288         * lib/vasnprintf.c (decode_long_double): Likewise.
40289         * tests/test-argmatch.c: Insert blank lines, for clarity.
40290         * tests/test-exclude.c: Likewise.
40292 2011-02-22  Bruno Haible  <bruno@clisp.org>
40294         ioctl: Fix for MacOS X in 64-bit mode.
40295         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
40296         value.
40297         Suggested by Eric Blake.
40298         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
40300 2011-02-22  Jim Meyering  <meyering@redhat.com>
40302         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
40303         * Makefile (sc_cpp_indent_check): Don't limit the check to files
40304         in lib/.
40306 2011-02-22  Eric Blake  <eblake@redhat.com>
40308         maint: avoid any CDPATH issue
40309         * Makefile (sc_cpp_indent_check): Anchor cd argument.
40311         maint: adjust cpp indentation for my modules, as well
40312         * Makefile (sc_cpp_indent_check): Add my name.
40313         * lib/fbufmode.c: Filter through cppi.
40314         * lib/fpurge.c: Likewise.
40315         * lib/freadable.c: Likewise.
40316         * lib/freading.c: Likewise.
40317         * lib/fwritable.c: Likewise.
40318         * lib/fwriting.c: Likewise.
40319         * lib/sigaction.c: Likewise.
40321 2011-02-22  Jim Meyering  <meyering@redhat.com>
40323         maint: adjust cpp indentation to reflect nesting depth
40324         I.e., in a block of code that begins with an unnested "#if",
40325         put one space between the "#" in column 1 and following token.
40326         For example,
40327         -#include <sys/vfs.h>
40328         +# include <sys/vfs.h>
40329         Do this only in .c files that are part of a module I maintain.
40330         * lib/linkat.c: Filter through cppi.
40331         * lib/nanosleep.c: Likewise.
40332         * lib/openat.c: Likewise.
40333         * lib/openat-die.c: Likewise.
40334         * lib/dup3.c: Likewise.
40335         * lib/fchownat.c: Likewise.
40336         * lib/flock.c: Likewise.
40337         * lib/fsync.c: Likewise.
40338         * lib/fts.c: Likewise.
40339         * lib/getpass.c: Likewise.
40340         * lib/gettimeofday.c: Likewise.
40341         * lib/userspec.c: Likewise.
40342         * Makefile (sc_cpp_indent_check): New rule, to check this.
40344 2011-02-22  Bruno Haible  <bruno@clisp.org>
40346         New module 'wctomb'.
40347         * lib/stdlib.in.h (wctomb): New declaration.
40348         * lib/wctomb.c: New file.
40349         * lib/wctomb-impl.h: New file.
40350         * m4/wctomb.m4: New file.
40351         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
40352         REPLACE_WCTOMB.
40353         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
40354         REPLACE_WCTOMB.
40355         * modules/wctomb: New file.
40356         * tests/test-stdlib-c++.cc: Test signature of wctomb.
40357         * doc/posix-functions/wctomb.texi: Mention the new module.
40358         * modules/wctob (Depends-on): Add wctomb.
40360 2011-02-22  Bruno Haible  <bruno@clisp.org>
40362         New module 'mbtowc'.
40363         * lib/stdlib.in.h (mbtowc): New declaration.
40364         * lib/mbtowc.c: New file.
40365         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
40366         * m4/mbtowc.m4: New file.
40367         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
40368         REPLACE_MBTOWC.
40369         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
40370         REPLACE_MBTOWC.
40371         * modules/mbtowc: New file.
40372         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
40373         * doc/posix-functions/mbtowc.texi: Mention the new module.
40374         * modules/btowc (Depends-on): Add mbtowc.
40376 2011-02-22  Bruno Haible  <bruno@clisp.org>
40378         wcrtomb: Add more tests for native Windows platforms.
40379         * tests/test-wcrtomb-w32-1.sh: New file.
40380         * tests/test-wcrtomb-w32-2.sh: New file.
40381         * tests/test-wcrtomb-w32-3.sh: New file.
40382         * tests/test-wcrtomb-w32-4.sh: New file.
40383         * tests/test-wcrtomb-w32-5.sh: New file.
40384         * tests/test-wcrtomb-w32.c: New file.
40385         * modules/wcrtomb-tests (Files): Add them.
40386         (Makefile.am): Arrange to run these tests.
40387         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
40388         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
40390 2011-02-20  Bruno Haible  <bruno@clisp.org>
40392         wcrtomb: Enhance test.
40393         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
40395 2011-02-20  Bruno Haible  <bruno@clisp.org>
40397         mbrtowc: Tiny optimization.
40398         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
40400 2011-02-20  Jim Meyering  <meyering@redhat.com>
40402         test-exclude.c: remove unmatched #endif
40403         * tests/test-exclude.c: Remove stray #endif, left over from
40404         the change of a week ago.
40406 2011-02-19  Jim Meyering  <meyering@redhat.com>
40408         git-version-gen: skip "-dirty" check when appropriate
40409         * build-aux/git-version-gen: Don't run any git commands when the
40410         version string comes from .tarball-version.  Prior to this, we
40411         would run git update-index --refresh even from a just-unpacked
40412         tarball directory, and that could affect a .git/ directory in a
40413         parent of the build directory.  Reported by Mike Frysinger.
40415 2011-02-19  Bruno Haible  <bruno@clisp.org>
40417         unictype/property-byname: Reduce the size of the 'data' segment.
40418         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
40420 2011-02-19  Bruno Haible  <bruno@clisp.org>
40422         unictype/scripts: Reduce the size of the 'data' segment.
40423         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
40424         '%pic'.
40425         * lib/unictype/scripts_byname.gperf: Regenerated.
40427 2011-02-19  Bruno Haible  <bruno@clisp.org>
40429         stdint: Update documentation.
40430         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
40432 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
40434         stdint: omit redundant check for wchar.h
40435         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
40436         always tests whether wchar.h exists, so remove the now-redundant test.
40438 2011-02-18  Bruno Haible  <bruno@clisp.org>
40440         stdint: Cut dependency to module 'wchar'.
40441         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
40442         include the necessary prerequisites.
40443         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
40444         * modules/stdint (Depends-on): Remove wchar.
40445         (Makefile.am): Substitute HAVE_WCHAR_H.
40446         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
40448 2011-02-18  Eric Blake  <eblake@redhat.com>
40450         longlong: skip, rather than fail, on cross-compilation
40451         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
40452         when cross-compiling; regression from 2011-02-16.
40454 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
40456         * NEWS: Mention 2011-02-08 change to stdlib.
40458 2011-02-17  Bruno Haible  <bruno@clisp.org>
40460         getloadavg: Add comments about platforms.
40461         * m4/getloadavg.m4: Add comment.
40462         * lib/getloadavg.c: Likewise.
40464 2011-02-17  Bruno Haible  <bruno@clisp.org>
40466         getloadavg: Fix link error on Solaris 2.6.
40467         * modules/getloadavg (Link): New section.
40468         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
40469         linking test-getloadavg.
40470         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
40471         getloadavg.
40473 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
40475         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
40476         It was 'int', but this doesn't match the IRIX 6.5 manual.
40477         Suggested by Bruno Haible in
40478         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
40480 2011-02-17  Bruno Haible  <bruno@clisp.org>
40482         havelib: Fix comments.
40483         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
40484         change.
40486 2011-02-17  Bruno Haible  <bruno@clisp.org>
40488         havelib: Update config.rpath.
40489         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
40491 2011-02-17  Bruno Haible  <bruno@clisp.org>
40493         getloadavg test: Add some plausibility checks.
40494         * tests/test-getloadavg.c (check_avg): Print a warning when the value
40495         is improbable.
40497 2011-02-16  Eric Blake  <eblake@redhat.com>
40499         maintainer-makefile: make syntax-check a no-op from tarballs
40500         * top/maint.mk (no-vc-detected): New rule.
40501         (local-checks-available): Use it to avoid hanging if someone tries
40502         'make syntax-check' from a tarball.  Also append to any non-syntax
40503         checks already defined in cfg.mk.
40505 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
40507         longlong: tune, particularly for common case of c99
40509         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
40510         or running anything if c99, or if unsigned long long int does not
40511         work.  In either case, we know the answer without further tests.
40512         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
40513         it at most once, and use its results for both long long int and
40514         unsigned long long int.  This is more likely to be efficient in
40515         the common case where the program wants to check for both long
40516         long int and unsigned long long int.
40517         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
40518         since the answer is already known.
40520 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
40522         getloadavg: set errno
40523         * lib/getloadavg.c: Set errno when returning -1.  If no other
40524         error number looks appropriate, set it to ENOSYS if the getloadavg
40525         looks like it can't possibly ever work, ENOTSUP otherwise.
40526         Suggested by Bruno Haible in
40527         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
40529         getloadavg: trim unused parts and speed up 'configure'
40530         * NEWS: Document this.
40531         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
40532         always compiled if getloadavg is absent.
40533         Move test code to ...
40534         * tests/test-getloadavg.c: New file, containing previous
40535         contents of test from lib/getloadavg.c.  It also contains
40536         suggestions by Bruno Haible in
40537         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
40538         * modules/getloadavg-tests: New file.
40539         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
40540         Do tests in the same order as they're needed for getloadavg.c.
40541         Omit setgid-related tests that generate symbols KMEM_GROUP,
40542         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
40543         Do only the tests that are needed to see whether the system has
40544         getloadavg, moving the other tests into ...
40545         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
40546         NLIST_NAME_UNION; nobody should be using it.  Do not define
40547         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
40548         relevant, as the user of this module shouldn't care how getloadavg
40549         is implemented.
40551         getloadavg: omit unused var
40552         * lib/getloadavg.c (getloadavg): Omit unused local variable.
40554 2011-02-15  Jim Meyering  <meyering@redhat.com>
40556         doc: update users.txt
40557         * users.txt: Update iwhd's URL.
40559 2011-02-13  Bruno Haible  <bruno@clisp.org>
40561         Consistent macro naming for macros that use GCC __attribute__.
40562         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
40563         _ATTRIBUTE_NONNULL_.
40564         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
40565         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
40566         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
40567         ATTRIBUTE_DEPRECATED.
40568         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
40569         ATTRIBUTE_NORETURN.
40570         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
40571         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
40572         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
40573         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
40574         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
40575         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
40576         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
40577         ATTRIBUTE_SENTINEL.
40578         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
40579         ATTRIBUTE_RETURN_CHECK.
40580         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
40581         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
40582         ATTRIBUTE_NORETURN.
40583         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
40584         Reported by Paul Eggert.
40586 2011-02-13  Bruno Haible  <bruno@clisp.org>
40588         Don't interfere with a program's definition of __attribute__.
40589         * lib/argp.h (__attribute__): Remove definition.
40590         (_GL_ATTRIBUTE_FORMAT): New macro.
40591         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
40592         * lib/argp-fmtstream.h (__attribute__): Remove definition.
40593         (_GL_ATTRIBUTE_FORMAT): New macro.
40594         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
40595         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
40596         GCC 3 or newer.
40597         * lib/error.h (__attribute__): Remove definition.
40598         (_GL_ATTRIBUTE_FORMAT): New macro.
40599         (error, error_at_line): Use it.
40600         * lib/hash.h (__attribute__): Remove definition.
40601         (ATTRIBUTE_WUR): Update definition. Define always.
40602         * lib/openat.h (__attribute__): Remove definition.
40603         (ATTRIBUTE_NORETURN): Update definition. Define always.
40604         * lib/sigpipe-die.h (__attribute__): Remove definition.
40605         (ATTRIBUTE_NORETURN): Update definition. Define always.
40606         * lib/vasnprintf.h (__attribute__): Remove definition.
40607         (_GL_ATTRIBUTE_FORMAT): New macro.
40608         (asnprintf, vasnprintf): Use it.
40609         * lib/xalloc.h (__attribute__): Remove definition.
40610         (ATTRIBUTE_NORETURN): Update definition. Define always.
40611         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
40612         * lib/xmemdup0.h (__attribute__): Remove definition.
40613         (ATTRIBUTE_NORETURN): Update definition. Define always.
40614         * lib/xprintf.h (__attribute__): Remove definition.
40615         (_GL_ATTRIBUTE_FORMAT): New macro.
40616         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
40617         * lib/xstrtol.h (__attribute__): Remove definition.
40618         (ATTRIBUTE_NORETURN): Update definition. Define always.
40619         * lib/xvasprintf.h (__attribute__): Remove definition.
40620         (_GL_ATTRIBUTE_FORMAT): New macro.
40621         (xasprintf, xvasprintf): Use it.
40622         * tests/test-argmatch.c (__attribute__): Remove definition.
40623         (ATTRIBUTE_NORETURN): Update definition. Define always.
40624         * tests/test-exclude.c (__attribute__): Remove definition.
40625         (ATTRIBUTE_NORETURN): Update definition. Define always.
40626         Reported by Paul Eggert.
40628 2011-02-13  Bruno Haible  <bruno@clisp.org>
40630         mbrtowc: Add more tests for native Windows platforms.
40631         * tests/test-mbrtowc-w32-1.sh: New file.
40632         * tests/test-mbrtowc-w32-2.sh: New file.
40633         * tests/test-mbrtowc-w32-3.sh: New file.
40634         * tests/test-mbrtowc-w32-4.sh: New file.
40635         * tests/test-mbrtowc-w32-5.sh: New file.
40636         * tests/test-mbrtowc-w32.c: New file.
40637         * modules/mbrtowc-tests (Files): Add them.
40638         (Makefile.am): Arrange to run these tests.
40639         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
40640         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
40642 2011-02-13  Bruno Haible  <bruno@clisp.org>
40644         mbrtowc: Work around native Windows bug.
40645         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
40646         guess when no suitable locale for testing was found.
40647         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
40649 2011-02-13  Bruno Haible  <bruno@clisp.org>
40651         mbsinit: Work around mingw bug.
40652         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
40653         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
40654         Windows.
40655         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
40657 2011-02-13  Bruno Haible  <bruno@clisp.org>
40659         mbsinit: Don't crash for a NULL argument.
40660         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
40661         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
40663 2011-02-13  Bruno Haible  <bruno@clisp.org>
40665         Don't interfere with a program's definition of __attribute__.
40666         * lib/stdio.in.h (__attribute__): Remove definition.
40667         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
40668         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
40669         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
40670         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
40671         * lib/string.in.h (__attribute__): Remove definition.
40672         Reported by Paul Eggert.
40674 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
40676         stdlib: don't get in the way of non-GCC __attribute__
40677         See thread starting at
40678         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
40679         Revert previous stdlib change, installing the following instead:
40680         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
40681         to get in the way of a non-GCC compiler that supports __attribute__.
40682         (_GL_ATTRIBUTE_RETURN): New macro.
40683         (_Exit): Use it instead of __attribute__.
40685 2011-02-12  Bruno Haible  <bruno@clisp.org>
40687         quotearg test: Avoid test failure on mingw.
40688         * tests/test-quotearg.sh: Convert the locale identifier from native
40689         Windows syntax to Unix syntax.
40691 2011-02-12  Bruno Haible  <bruno@clisp.org>
40693         setlocale: Prefer gnulib's override over libintl's override.
40694         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
40695         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
40696         GNULIB_defined_setlocale is set.
40698 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
40700         stdlib: support non-GCC __attribute__
40702         Fix a serious and tricky problem encountered when attempting to
40703         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
40704         5.5, but it crashed due to memory corruption on Solaris 10 with
40705         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
40706         bits that are otherwise zero.  This tagging is optional inside
40707         Emacs but is preferred and is used when __attribute__ ((__aligned
40708         (8))) works, as it does with both recent-enough GCC and with Sun C
40709         5.11.  However, Sun C 5.11 is not GCC and does not #define
40710         __GNUC__ and __GNUC_MINOR__.
40712         When I added the getloadavg module to Emacs, it brought in
40713         stdlib.in.h, which contained this fragment:
40715            #ifndef __attribute__
40716            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
40717            #  define __attribute__(Spec)   /* empty */
40718            # endif
40719            #endif
40721         When files that include <stdlib.h> were compiled with Sun C 5.11,
40722         the above code disabled __attribute__ ((__aligned (8))), which
40723         caused variables to not be properly aligned, which eventually led
40724         to the pointer corruption mentioned above.  (This was a bit hard
40725         to diagnose, unfortunately.)
40727         Several "#define __attribute__(X) /* empty */" code snippets need
40728         to be eradicated from Gnulib to work with non-GCC compilers that
40729         support __attribute__.  The Autoconf way to do this is to test for
40730         each kind of attribute that we want support for, and selectively
40731         enable that in source code.
40733         Fix this problem just for stdlib.h, by adding a test for the
40734         __noreturn__ attribute, and change stdlib.in.h to use that test
40735         when needed.  This technique can be easily generalized to the
40736         other *.in.h files and attributes, and a similar technique can be
40737         used for *.h and *.c files.  This patch is enough to solve the
40738         problem for Emacs + getloadavg, and I thought I'd publish it for
40739         feedback before undertaking further, similar fixes in other
40740         modules.
40742         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
40743         because it's not needed for stdlib.h.  It merely substitutes the
40744         value directly into stdlib.h.  We may well need to #define it, or
40745         similar symbols, for other modules, but it's nice to also have an
40746         option to not #define it for applications like Emacs that do not
40747         need it.
40749         * lib/stdlib.in.h (__attribute__): Do not #define.
40750         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
40751         be defined only if the _Exit module is also used.
40752         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
40753         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
40754         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
40755         platforms.
40756         * modules/_Exit (Files): Add m4/attribute.m4.
40757         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
40758         * m4/attribute.m4: New file.
40760 2011-02-12  Bruno Haible  <bruno@clisp.org>
40762         wcsrtombs: Work around bug on native Windows.
40763         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
40764         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
40765         instead of len.
40766         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
40768 2011-02-12  Bruno Haible  <bruno@clisp.org>
40770         mbsrtowcs: Work around bug on native Windows.
40771         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
40772         against mingw bug.
40773         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
40775 2011-02-12  Bruno Haible  <bruno@clisp.org>
40777         Avoid setlocale bugs in tests.
40778         * modules/btowc (Dependencies): Add setlocale.
40779         * modules/c-strcase (Dependencies): Likewise.
40780         * modules/mbmemcasecmp (Dependencies): Likewise.
40781         * modules/mbmemcasecoll (Dependencies): Likewise.
40782         * modules/mbrtowc (Dependencies): Likewise.
40783         * modules/mbscasecmp (Dependencies): Likewise.
40784         * modules/mbscasestr (Dependencies): Likewise.
40785         * modules/mbschr (Dependencies): Likewise.
40786         * modules/mbscspn (Dependencies): Likewise.
40787         * modules/mbsinit (Dependencies): Likewise.
40788         * modules/mbsncasecmp (Dependencies): Likewise.
40789         * modules/mbsnrtowcs (Dependencies): Likewise.
40790         * modules/mbspbrk (Dependencies): Likewise.
40791         * modules/mbspcasecmp (Dependencies): Likewise.
40792         * modules/mbsrchr (Dependencies): Likewise.
40793         * modules/mbsrtowcs (Dependencies): Likewise.
40794         * modules/mbsspn (Dependencies): Likewise.
40795         * modules/mbsstr (Dependencies): Likewise.
40796         * modules/nl_langinfo (Dependencies): Likewise.
40797         * modules/quotearg (Dependencies): Likewise.
40798         * modules/unicase/locale-language (Dependencies): Likewise.
40799         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
40800         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
40801         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
40802         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
40803         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
40804         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
40805         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
40806         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
40807         * modules/vasnprintf-posix (Dependencies): Likewise.
40808         * modules/wcrtomb (Dependencies): Likewise.
40809         * modules/wcsnrtombs (Dependencies): Likewise.
40810         * modules/wcsrtombs (Dependencies): Likewise.
40812 2011-02-12  Bruno Haible  <bruno@clisp.org>
40814         setlocale: Workaround native Windows bug.
40815         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
40816         succeeds but sets LC_CTYPE to "C", report a failure.
40817         * tests/test-setlocale2.sh: New file.
40818         * tests/test-setlocale2.c: New file.
40819         * modules/setlocale-tests (Files): Add the new files.
40820         (Makefile.am): Enable test-setlocale2.sh test.
40821         * doc/posix-functions/setlocale.texi: Mention workaround.
40823 2011-02-11  Bruno Haible  <bruno@clisp.org>
40825         Tests for module 'setlocale'.
40826         * modules/setlocale-tests: New file.
40827         * tests/test-setlocale1.sh: New file.
40828         * tests/test-setlocale1.c: New file.
40830         New module 'setlocale'.
40831         * lib/locale.in.h (setlocale): New declaration.
40832         * lib/setlocale.c: New file, based on
40833         gettext/gettext-runtime/intl/setlocale.c.
40834         * m4/setlocale.m4: New file.
40835         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
40836         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
40837         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
40838         REPLACE_SETLOCALE.
40839         * modules/setlocale: New file.
40840         * tests/test-locale-c++.cc: Test the declaration of setlocale.
40841         * doc/posix-functions/setlocale.texi: Mention the new module.
40843 2011-02-11  Bruno Haible  <bruno@clisp.org>
40845         Prepare for locale dependent tests on mingw.
40846         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
40847         because it has the wrong locale encoding.
40848         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
40849         French_France.1252 instead of "fr".
40850         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
40851         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
40852         because it has the wrong locale encoding.
40853         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
40854         native Windows, try Turkish_Turkey.65001.
40855         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
40856         Chinese_China.54936.
40858         Prepare for locale dependent tests on mingw.
40859         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
40860         differently.
40861         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
40862         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
40863         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
40864         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
40866 2011-02-11  Eric Blake  <eblake@redhat.com>
40868         strptime: avoid compiler warnings
40869         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
40870         compiler warnings about dead code.
40871         Reported by Daniel P. Berrange.
40873 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
40875         doc: update users.txt
40876         * users.txt: Add rcs.
40878 2011-02-10  John W. Eaton  <jwe@gnu.org>
40880         doc: update users.txt
40881         * users.txt: Add octave.
40883 2011-02-10  Jim Meyering  <meyering@redhat.com>
40885         doc: update users.txt
40886         * users.txt: Add iwhd.
40888 2011-02-09  Bruno Haible  <bruno@clisp.org>
40890         gnulib-tool: Make copyright notice adjustment more robust.
40891         * gnulib-tool (func_import): In sed_transform_main_lib_file,
40892         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
40893         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
40894         License".
40895         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
40897 2011-02-06  Bruno Haible  <bruno@clisp.org>
40899         New module 'towctrans'.
40900         * modules/towctrans: New file.
40901         * lib/wctype.in.h (towctrans): New declaration.
40902         * lib/towctrans.c: New file.
40903         * lib/towctrans-impl.h: New file.
40904         * m4/towctrans.m4: New file.
40905         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
40906         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
40907         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
40908         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
40909         * doc/posix-functions/towctrans.texi: Mention the new module.
40911 2011-02-06  Bruno Haible  <bruno@clisp.org>
40913         New module 'wctrans'.
40914         * modules/wctrans: New file.
40915         * lib/wctype.in.h (wctrans): New declaration.
40916         * lib/wctrans.c: New file.
40917         * lib/wctrans-impl.h: New file.
40918         * m4/wctrans.m4: New file.
40919         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
40920         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
40921         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
40922         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
40923         * doc/posix-functions/wctrans.texi: Mention the new module.
40925 2011-02-06  Bruno Haible  <bruno@clisp.org>
40927         New module 'iswctype'.
40928         * modules/iswctype: New file.
40929         * lib/wctype.in.h (iswctype): New declaration.
40930         * lib/iswctype.c: New file.
40931         * lib/iswctype-impl.h: New file.
40932         * m4/iswctype.m4: New file.
40933         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
40934         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
40935         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
40936         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
40937         * doc/posix-functions/iswctype.texi: Mention the new module and the
40938         HP-UX 11.00 problem.
40940 2011-02-06  Bruno Haible  <bruno@clisp.org>
40942         New module 'wctype'.
40943         * modules/wctype: Change to represent the wctype() substitute.
40944         * lib/wctype.in.h (wctype): New declaration.
40945         * lib/wctype.c: New file.
40946         * lib/wctype-impl.h: New file.
40947         * m4/wctype.m4: New file.
40948         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
40949         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
40950         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
40951         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
40952         * doc/posix-functions/wctype.texi: Mention the new module and the
40953         HP-UX 11.00 problem.
40955 2011-02-06  Bruno Haible  <bruno@clisp.org>
40957         wctype-h: Ensure wctype_t and wctrans_t are defined.
40958         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
40959         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
40960         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
40961         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
40962         HAVE_WCTRANS_T.
40963         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
40965 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
40967         flock: fix license typo
40969         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
40970         omitted.
40972 2011-02-08  Bruno Haible  <bruno@clisp.org>
40974         Split large sed scripts, for HP-UX sed.
40975         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
40976         to avoid HP-UX limit of 99 commands, in the near future.
40977         * modules/stdlib (Makefile.am): Likewise.
40978         * modules/unistd (Makefile.am): Likewise.
40979         * modules/wchar (Makefile.am): Likewise.
40980         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40981         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
40982         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
40984 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
40985             Bruno Haible  <bruno@clisp.org>
40987         stdlib: improve random_r modularization
40988         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
40989         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
40990         you also need the random_r module to get this material right.
40991         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
40992         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
40993         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
40995 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
40997         stdlib: don't depend on stdint
40998         * lib/stdlib.in.h: Don't include <stdint.h> merely because
40999         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
41000         be independent of whether stdint.h is needed.
41001         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
41002         here, instead of ...
41003         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
41004         struct random_data should be using the random_r module, not just
41005         the stdlib module (which wouldn't make sense: what package needs
41006         just struct random_data without also needing random_r?).
41007         * modules/stdlib (Depends-on): Remove stdint.
41009         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
41010         See the thread rooted at
41011         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
41012         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
41013         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
41014         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
41015         __VMS)); previously it was always included (via fcntl--.h).
41016         (getloadavg): Do not use c_strtod.  Instead, approximate it by
41017         hand; this is good enough for load averages.  Also, do not use
41018         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
41019         flags directly if available and don't bother otherwise.  (Packages
41020         that need the extra reliability should use the modules that define
41021         these flags on older platforms that lack them.)
41022         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
41023         fcntl-safer.
41025 2011-02-08  Jim Meyering  <meyering@redhat.com>
41027         di-set.h, ino-map.h: add multiple-inclusion guard
41028         Technically, the guard is required only for ino-map.h, due to its
41029         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
41030         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
41031         * lib/ino-map.h: Likewise.
41033 2011-02-06  Bruno Haible  <bruno@clisp.org>
41035         iswblank: Ensure declaration on glibc systems.
41036         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
41037         * modules/iswblank (Dependencies): Add 'extensions'.
41038         * doc/posix-functions/iswblank.texi: Document the glibc problem.
41040 2011-02-06  Bruno Haible  <bruno@clisp.org>
41042         New module 'iswblank'.
41043         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
41044         * modules/iswblank: New file.
41045         * modules/wctype-h (Files): Remove lib/iswblank.c.
41046         (Makefile.am): Substitute GNULIB_ISWBLANK.
41047         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
41048         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
41049         (gl_WCTYPE_H_DEFAULTS): New macro.
41050         (gl_WCTYPE_H): Require it. Remove iswblank related code.
41051         * modules/iswblank-tests: New file.
41052         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
41053         * tests/test-wctype-h.c (main): Remove iswblank tests.
41054         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
41055         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
41056         of 'wctype-h'.
41057         * NEWS: Mention the change.
41058         * modules/mbchar (Depends-on): Add iswblank.
41060 2011-02-08  Bruno Haible  <bruno@clisp.org>
41062         di-set tests: Refactor.
41063         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
41064         unnecessary includes.
41065         (ASSERT): Remove macro.
41066         (main): Make C90 compliant by avoiding variable declaration after
41067         statement.
41068         * modules/di-set-tests (Files): Add tests/macros.h.
41070 2011-02-08  Bruno Haible  <bruno@clisp.org>
41072         ino-map tests: Refactor.
41073         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
41074         unnecessary includes.
41075         (ASSERT): Remove macro.
41076         (main): Make C90 compliant by avoiding variable declaration after
41077         statement.
41078         * modules/ino-map-tests (Files): Add tests/macros.h.
41080 2011-02-08  Jim Meyering  <meyering@redhat.com>
41082         di-set: add "const" to a cast
41083         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
41084         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
41086 2011-02-06  Bruno Haible  <bruno@clisp.org>
41088         Rename module 'wctype' to 'wctype-h'.
41089         * modules/wctype-h: Renamed from modules/wctype.
41090         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
41091         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
41092         (Files, Depends-on, Makefile.am): Update.
41093         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
41094         (Files, Makefile.am): Update.
41095         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
41096         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
41097         * doc/posix-headers/wctype.texi: Update.
41098         * doc/posix-functions/iswalnum.texi: Update.
41099         * doc/posix-functions/iswalpha.texi: Update.
41100         * doc/posix-functions/iswblank.texi: Update.
41101         * doc/posix-functions/iswcntrl.texi: Update.
41102         * doc/posix-functions/iswdigit.texi: Update.
41103         * doc/posix-functions/iswgraph.texi: Update.
41104         * doc/posix-functions/iswlower.texi: Update.
41105         * doc/posix-functions/iswprint.texi: Update.
41106         * doc/posix-functions/iswpunct.texi: Update.
41107         * doc/posix-functions/iswspace.texi: Update.
41108         * doc/posix-functions/iswupper.texi: Update.
41109         * doc/posix-functions/iswxdigit.texi: Update.
41110         * doc/posix-functions/towlower.texi: Update.
41111         * doc/posix-functions/towupper.texi: Update.
41112         * NEWS: Mention the change.
41113         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
41114         * modules/mbchar (Dependencies): Likewise.
41115         * modules/mbswidth (Dependencies): Likewise.
41116         * modules/quotearg (Dependencies): Likewise.
41117         * modules/regex (Dependencies): Likewise.
41118         * modules/wcscasecmp (Dependencies): Likewise.
41119         * modules/wcsncasecmp (Dependencies): Likewise.
41120         * modules/wcwidth (Dependencies): Likewise.
41122 2011-02-06  Bruno Haible  <bruno@clisp.org>
41124         New module 'wcswidth'.
41125         * modules/wcswidth: New file.
41126         * lib/wchar.in.h (wcswidth): New declaration.
41127         * lib/wcswidth.c: New file.
41128         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
41129         * m4/wcswidth.m4: New file.
41130         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
41131         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
41132         REPLACE_WCSWIDTH.
41133         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
41134         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
41135         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
41136         * doc/posix-functions/wcswidth.texi: Mention the new module.
41138 2011-02-06  Bruno Haible  <bruno@clisp.org>
41140         New module 'wcstok'.
41141         * modules/wcstok: New file.
41142         * lib/wchar.in.h (wcstok): New declaration.
41143         * lib/wcstok.c: New file.
41144         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
41145         * m4/wcstok.m4: New file.
41146         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
41147         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
41148         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
41149         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
41150         * doc/posix-functions/wcstok.texi: Mention the new module.
41152 2011-02-06  Bruno Haible  <bruno@clisp.org>
41154         New module 'wcsstr'.
41155         * modules/wcsstr: New file.
41156         * lib/wchar.in.h (wcsstr): New declaration.
41157         * lib/wcsstr.c: New file.
41158         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
41159         * m4/wcsstr.m4: New file.
41160         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
41161         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
41162         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
41163         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
41164         * doc/posix-functions/wcsstr.texi: Mention the new module.
41166 2011-02-06  Bruno Haible  <bruno@clisp.org>
41168         New module 'wcspbrk'.
41169         * modules/wcspbrk: New file.
41170         * lib/wchar.in.h (wcspbrk): New declaration.
41171         * lib/wcspbrk.c: New file.
41172         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
41173         * m4/wcspbrk.m4: New file.
41174         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
41175         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
41176         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
41177         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
41178         * doc/posix-functions/wcspbrk.texi: Mention the new module.
41180 2011-02-06  Bruno Haible  <bruno@clisp.org>
41182         New module 'wcsspn'.
41183         * modules/wcsspn: New file.
41184         * lib/wchar.in.h (wcsspn): New declaration.
41185         * lib/wcsspn.c: New file.
41186         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
41187         * m4/wcsspn.m4: New file.
41188         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
41189         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
41190         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
41191         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
41192         * doc/posix-functions/wcsspn.texi: Mention the new module.
41194 2011-02-06  Bruno Haible  <bruno@clisp.org>
41196         New module 'wcscspn'.
41197         * modules/wcscspn: New file.
41198         * lib/wchar.in.h (wcscspn): New declaration.
41199         * lib/wcscspn.c: New file.
41200         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
41201         * m4/wcscspn.m4: New file.
41202         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
41203         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
41204         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
41205         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
41206         * doc/posix-functions/wcscspn.texi: Mention the new module.
41208 2011-02-06  Bruno Haible  <bruno@clisp.org>
41210         New module 'wcsrchr'.
41211         * modules/wcsrchr: New file.
41212         * lib/wchar.in.h (wcsrchr): New declaration.
41213         * lib/wcsrchr.c: New file.
41214         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
41215         * m4/wcsrchr.m4: New file.
41216         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
41217         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
41218         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
41219         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
41220         * doc/posix-functions/wcsrchr.texi: Mention the new module.
41222 2011-02-06  Bruno Haible  <bruno@clisp.org>
41224         New module 'wcschr'.
41225         * modules/wcschr: New file.
41226         * lib/wchar.in.h (wcschr): New declaration.
41227         * lib/wcschr.c: New file.
41228         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
41229         * m4/wcschr.m4: New file.
41230         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
41231         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
41232         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
41233         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
41234         * doc/posix-functions/wcschr.texi: Mention the new module.
41236 2011-02-06  Bruno Haible  <bruno@clisp.org>
41238         New module 'wcsdup'.
41239         * modules/wcsdup: New file.
41240         * lib/wchar.in.h (wcsdup): New declaration.
41241         * lib/wcsdup.c: New file.
41242         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
41243         * m4/wcsdup.m4: New file.
41244         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
41245         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
41246         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
41247         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
41248         * doc/posix-functions/wcsdup.texi: Mention the new module.
41250 2011-02-06  Bruno Haible  <bruno@clisp.org>
41252         New module 'wcsxfrm'.
41253         * modules/wcsxfrm: New file.
41254         * lib/wchar.in.h (wcsxfrm): New declaration.
41255         * lib/wcsxfrm.c: New file.
41256         * lib/wcsxfrm-impl.h: New file.
41257         * m4/wcsxfrm.m4: New file.
41258         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
41259         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
41260         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
41261         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
41262         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
41264 2011-02-06  Bruno Haible  <bruno@clisp.org>
41266         New module 'wcscoll'.
41267         * modules/wcscoll: New file.
41268         * lib/wchar.in.h (wcscoll): New declaration.
41269         * lib/wcscoll.c: New file.
41270         * lib/wcscoll-impl.h: New file.
41271         * m4/wcscoll.m4: New file.
41272         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
41273         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
41274         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
41275         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
41276         * doc/posix-functions/wcscoll.texi: Mention the new module.
41278 2011-02-06  Bruno Haible  <bruno@clisp.org>
41280         New module 'wcsncasecmp'.
41281         * modules/wcsncasecmp: New file.
41282         * lib/wchar.in.h (wcsncasecmp): New declaration.
41283         * lib/wcsncasecmp.c: New file.
41284         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
41285         * m4/wcsncasecmp.m4: New file.
41286         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
41287         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
41288         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
41289         HAVE_WCSNCASECMP.
41290         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
41291         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
41293 2011-02-06  Bruno Haible  <bruno@clisp.org>
41295         New module 'wcscasecmp'.
41296         * modules/wcscasecmp: New file.
41297         * lib/wchar.in.h (wcscasecmp): New declaration.
41298         * lib/wcscasecmp.c: New file.
41299         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
41300         * m4/wcscasecmp.m4: New file.
41301         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
41302         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
41303         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
41304         HAVE_WCSCASECMP.
41305         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
41306         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
41308 2011-02-05  Bruno Haible  <bruno@clisp.org>
41310         New module 'wcsncmp'.
41311         * modules/wcsncmp: New file.
41312         * lib/wchar.in.h (wcsncmp): New declaration.
41313         * lib/wcsncmp.c: New file.
41314         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
41315         * m4/wcsncmp.m4: New file.
41316         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
41317         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
41318         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
41319         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
41320         * doc/posix-functions/wcsncmp.texi: Mention the new module.
41322 2011-02-05  Bruno Haible  <bruno@clisp.org>
41324         New module 'wcscmp'.
41325         * modules/wcscmp: New file.
41326         * lib/wchar.in.h (wcscmp): New declaration.
41327         * lib/wcscmp.c: New file.
41328         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
41329         * m4/wcscmp.m4: New file.
41330         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
41331         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
41332         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
41333         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
41334         * doc/posix-functions/wcscmp.texi: Mention the new module.
41336 2011-02-05  Bruno Haible  <bruno@clisp.org>
41338         New module 'wcsncat'.
41339         * modules/wcsncat: New file.
41340         * lib/wchar.in.h (wcsncat): New declaration.
41341         * lib/wcsncat.c: New file.
41342         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
41343         * m4/wcsncat.m4: New file.
41344         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
41345         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
41346         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
41347         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
41348         * doc/posix-functions/wcsncat.texi: Mention the new module.
41350 2011-02-05  Bruno Haible  <bruno@clisp.org>
41352         New module 'wcscat'.
41353         * modules/wcscat: New file.
41354         * lib/wchar.in.h (wcscat): New declaration.
41355         * lib/wcscat.c: New file.
41356         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
41357         * m4/wcscat.m4: New file.
41358         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
41359         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
41360         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
41361         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
41362         * doc/posix-functions/wcscat.texi: Mention the new module.
41364 2011-02-05  Bruno Haible  <bruno@clisp.org>
41366         New module 'wcpncpy'.
41367         * modules/wcpncpy: New file.
41368         * lib/wchar.in.h (wcpncpy): New declaration.
41369         * lib/wcpncpy.c: New file.
41370         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
41371         * m4/wcpncpy.m4: New file.
41372         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
41373         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
41374         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
41375         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
41376         * doc/posix-functions/wcpncpy.texi: Mention the new module.
41378 2011-02-05  Bruno Haible  <bruno@clisp.org>
41380         New module 'wcsncpy'.
41381         * modules/wcsncpy: New file.
41382         * lib/wchar.in.h (wcsncpy): New declaration.
41383         * lib/wcsncpy.c: New file.
41384         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
41385         * m4/wcsncpy.m4: New file.
41386         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
41387         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
41388         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
41389         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
41390         * doc/posix-functions/wcsncpy.texi: Mention the new module.
41392 2011-02-05  Bruno Haible  <bruno@clisp.org>
41394         New module 'wcpcpy'.
41395         * modules/wcpcpy: New file.
41396         * lib/wchar.in.h (wcpcpy): New declaration.
41397         * lib/wcpcpy.c: New file.
41398         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
41399         * m4/wcpcpy.m4: New file.
41400         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
41401         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
41402         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
41403         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
41404         * doc/posix-functions/wcpcpy.texi: Mention the new module.
41406 2011-02-05  Bruno Haible  <bruno@clisp.org>
41408         New module 'wcscpy'.
41409         * modules/wcscpy: New file.
41410         * lib/wchar.in.h (wcscpy): New declaration.
41411         * lib/wcscpy.c: New file.
41412         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
41413         * m4/wcscpy.m4: New file.
41414         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
41415         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
41416         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
41417         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
41418         * doc/posix-functions/wcscpy.texi: Mention the new module.
41420 2011-02-05  Bruno Haible  <bruno@clisp.org>
41422         New module 'wcsnlen'.
41423         * modules/wcsnlen: New file.
41424         * lib/wchar.in.h (wcsnlen): New declaration.
41425         * lib/wcsnlen.c: New file.
41426         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
41427         * m4/wcsnlen.m4: New file.
41428         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
41429         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
41430         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
41431         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
41432         * doc/posix-functions/wcsnlen.texi: Mention the new module.
41434 2011-02-05  Bruno Haible  <bruno@clisp.org>
41436         New module 'wcslen'.
41437         * modules/wcslen: New file.
41438         * lib/wchar.in.h (wcslen): New declaration.
41439         * lib/wcslen.c: New file.
41440         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
41441         * m4/wcslen.m4: New file.
41442         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
41443         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
41444         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
41445         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
41446         * doc/posix-functions/wcslen.texi: Mention the new module.
41448 2011-02-05  Bruno Haible  <bruno@clisp.org>
41450         New module 'wmemset'.
41451         * modules/wmemset: New file.
41452         * lib/wchar.in.h (wmemset): New declaration.
41453         * lib/wmemset.c: New file.
41454         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
41455         * m4/wmemset.m4: New file.
41456         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
41457         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
41458         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
41459         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
41460         * doc/posix-functions/wmemset.texi: Mention the new module.
41462 2011-02-05  Bruno Haible  <bruno@clisp.org>
41464         New module 'wmemmove'.
41465         * modules/wmemmove: New file.
41466         * lib/wchar.in.h (wmemmove): New declaration.
41467         * lib/wmemmove.c: New file.
41468         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
41469         * m4/wmemmove.m4: New file.
41470         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
41471         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
41472         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
41473         HAVE_WMEMMOVE.
41474         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
41475         * doc/posix-functions/wmemmove.texi: Mention the new module.
41477 2011-02-05  Bruno Haible  <bruno@clisp.org>
41479         New module 'wmemcpy'.
41480         * modules/wmemcpy: New file.
41481         * lib/wchar.in.h (wmemcpy): New declaration.
41482         * lib/wmemcpy.c: New file.
41483         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
41484         * m4/wmemcpy.m4: New file.
41485         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
41486         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
41487         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
41488         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
41489         * doc/posix-functions/wmemcpy.texi: Mention the new module.
41491 2011-02-05  Bruno Haible  <bruno@clisp.org>
41493         New module 'wmemcmp'.
41494         * modules/wmemcmp: New file.
41495         * lib/wchar.in.h (wmemcmp): New declaration.
41496         * lib/wmemcmp.c: New file.
41497         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
41498         * m4/wmemcmp.m4: New file.
41499         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
41500         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
41501         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
41502         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
41503         * doc/posix-functions/wmemcmp.texi: Mention the new module.
41505 2011-02-07  Jim Meyering  <meyering@redhat.com>
41507         di-set, ino-map: new modules, from coreutils
41508         * lib/di-set.c: New file.
41509         * lib/di-set.h: Likewise.
41510         * lib/ino-map.c: Likewise.
41511         * lib/ino-map.h: Likewise.
41512         * modules/di-set: Likewise.
41513         * modules/di-set-tests: Likewise.
41514         * modules/ino-map: Likewise.
41515         * modules/ino-map-tests: Likewise.
41516         * tests/test-di-set.c: Likewise.
41517         * tests/test-ino-map.c: Likewise.
41519 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
41521         getloadavg: merge minor changes from Emacs
41523         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
41524         (getloadavg): Use memset, not bzero.
41526         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
41527         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
41528         clash (bug#86).
41530 2010-11-14  Bruno Haible  <bruno@clisp.org>
41532         Allow multiple gnulib generated replacements to coexist.
41533         * lib/getopt.in.h (struct option): Avoid identical redefinition.
41534         * lib/inttypes.in.h (imaxdiv_t): Likewise.
41535         * lib/langinfo.in.h (nl_item): Likewise.
41536         * lib/math.in.h (_NaN, NAN): Likewise.
41537         * lib/netdb.in.h (struct addrinfo): Likewise.
41538         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
41539         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
41540         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
41541         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
41542         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
41543         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
41544         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
41545         pthread_mutexattr_init, pthread_mutexattr_settype,
41546         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
41547         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
41548         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
41549         pthread_spin_trylock, pthread_spin_unlock): Likewise.
41550         * lib/sched.in.h (struct sched_param): Likewise.
41551         * lib/se-selinux.in.h (security_class_t, security_context_t,
41552         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
41553         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
41554         lsetfilecon, fsetfilecon, security_check_context,
41555         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
41556         Likewise.
41557         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
41558         Likewise.
41559         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
41560         _gl_function_taking_int_returning_void_t, union sigval,
41561         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
41562         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
41563         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
41564         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
41565         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
41566         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
41567         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
41568         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
41569         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
41570         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
41571         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
41572         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
41573         socklen_t, rpl_fd_isset): Likewise.
41574         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
41575         * lib/sys_time.in.h (struct timeval): Likewise.
41576         * lib/sys_times.in.h (struct tms): Likewise.
41577         * lib/sys_utsname.in.h (struct utsname):
41578         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
41579         * lib/unistd.in.h (getpagesize): Likewise.
41580         * lib/wchar.in.h (mbstate_t): Likewise.
41581         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
41582         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
41583         towlower, towupper): Likewise.
41584         Reported by Sam Steingold <sds@gnu.org>.
41586 2011-02-05  Eric Blake  <eblake@redhat.com>
41588         unsetenv: work around Haiku issues
41589         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
41590         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
41592 2010-12-30  Bruce Korb  <bkorb@gnu.org>
41594         libposix: avoid calling error() within libposix
41595         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
41596         is defined.
41598 2011-02-05  Eric Blake  <eblake@redhat.com>
41600         strerror_r-posix: port to cygwin
41601         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
41602         implementation.
41603         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
41604         * tests/test-strerror_r.c (main): Fix test.
41605         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
41606         issue.
41608 2011-02-05  Bruno Haible  <bruno@clisp.org>
41610         New module 'wmemchr'.
41611         * modules/wmemchr: New file.
41612         * lib/wchar.in.h (wmemchr): New declaration.
41613         * lib/wmemchr.c: New file.
41614         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
41615         * m4/wmemchr.m4: New file.
41616         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
41617         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
41618         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
41619         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
41620         * doc/posix-functions/wmemchr.texi: Mention the new module.
41622 2011-02-04  Eric Blake  <eblake@redhat.com>
41624         fdopendir: detect FreeBSD bug
41625         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
41626         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
41628 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
41630         stdbool: do not define HAVE_STDBOOL_H
41631         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
41632         AC_HEADER_STDBOOL.  All uses changed.  Do not define
41633         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
41634         imported from the latest Autoconf git.  It was motivated by Emacs,
41635         which uses gnulib but does not need HAVE_STDBOOL_H.
41637 2011-02-04  Bruno Haible  <bruno@clisp.org>
41639         wcsnrtombs: Prepare for new module wwcsnrtombs.
41640         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
41641         * lib/wcsnrtombs.c: Include it.
41642         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
41644         wcsrtombs: Prepare for new module wwcsrtombs.
41645         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
41646         * lib/wcsrtombs.c: Include it.
41647         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
41649         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
41650         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
41651         * lib/mbsnrtowcs.c: Include it.
41652         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
41654         mbsrtowcs: Prepare for new module mbsrtowwcs.
41655         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
41656         * lib/mbsrtowcs.c: Include it.
41657         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
41659 2011-02-04  Bruno Haible  <bruno@clisp.org>
41661         vasnprintf: Reduce use of malloc for small format strings.
41662         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
41663         (arguments): Add room for the first 7 arguments.
41664         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
41665         (char_directives, u8_directives, u16_directives, u32_directives): Add
41666         room for the first 7 directives.
41667         * lib/printf-parse.c: Include <string.h>.
41668         (PRINTF_PARSE): Change memory handling code so that it uses the first
41669         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
41670         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
41671         Reported by Pádraig Brady <P@draigbrady.com>.
41673 2011-01-31  Eric Blake  <eblake@redhat.com>
41675         dup2: work around Haiku bug
41676         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
41677         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
41678         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41679         * tests/test-dup2.c (main): Enhance test.
41681 2011-01-31  Simon Josefsson  <simon@josefsson.org>
41683         doc: off_t is not available in eglibc 2.11.2 stdio.h.
41684         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
41685         declared by eglibc 2.11.2.
41686         * lib/stdio.in.h: Likewise.
41688 2011-01-31  Eric Blake  <eblake@redhat.com>
41690         ignore-value: add missing test dependency
41691         * tests/test-ignore-value.c: Revert previous change; stdio.h
41692         provides off_t.
41693         * modules/ignore-value-tests (Depends-on): Add missing dependency.
41695 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
41697         mktime: clarify long_int width checking
41698         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
41699         the top level, to make it clearer that the assumption about
41700         long_int width is being checked.  See
41701         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
41703 2011-01-30  Simon Josefsson  <simon@josefsson.org>
41705         ignore-value: Fix self-test.
41706         * tests/test-ignore-value.c: Include sys/types.h for off_t.
41708 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
41710         TYPE_MAXIMUM: avoid theoretically undefined behavior
41711         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
41712         negative number, which the C Standard says has undefined behavior.
41713         In practice this is not a problem, but might as well do it by the book.
41714         Reported by Rich Felker and Eric Blake; see
41715         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
41716         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
41717         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
41718         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41719         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
41720         * m4/stdint.m4 (gl_STDINT_H): Likewise.
41721         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
41723         mktime: #undef mktime before #defining it
41724         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
41726         mktime: systematically normalize tm_isdst comparisons
41727         * lib/mktime.c (isdst_differ): New function.
41728         (__mktime_internal): Use it systematically for all isdst comparisons.
41729         This completes the fix for libc BZ #6723, and removes the need for
41730         normalizing tm_isdst.  See
41731         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
41732         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
41734         mktime: fix some integer overflow issues and sidestep the rest
41736         This was prompted by a bug report by Benjamin Lindner for MinGW
41737         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
41738         His bug is due to signed integer overflow (0 - INT_MIN), and I
41739         I scanned through mktime.c looking for other integer overflow
41740         problems, fixing all the bugs I found.
41742         Although the C Standard says the resulting code is still not safe
41743         in the presence of integer overflow, in practice it should be good
41744         enough for all real-world two's-complement implementations, except
41745         for debugging environments that deliberately trap on integer
41746         overflow (e.g., gcc -ftrapv).
41748         * lib/mktime.c (WRAPV): New macro.
41749         (SHR): Also check that long_int and time_t shift right in the
41750         usual way, before using the fast-but-unportable method.
41751         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
41752         used.  The code already assumed two's complement, so there's
41753         no need to test for alternatives.  All uses removed.
41754         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
41755         the C standard.  Problem reported by Rich Felker in
41756         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
41757         (twos_complement_arithmetic): Also check long_int and time_t.
41758         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
41759         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
41760         (__mktime_internal): Avoid integer overflow with unary subtraction
41761         in two instances where -1 - X is an adequate replacement for -X,
41762         since the calculations are approximate.
41764 2011-01-29  Eric Blake  <eblake@redhat.com>
41766         mktime: avoid infinite loop
41767         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
41768         type; behavior is still undefined but portable to all known targets.
41769         Reported by Rich Felker.
41771 2011-01-29  Simon Josefsson  <simon@josefsson.org>
41773         rename, unlink, same-inode: Relicense.
41774         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
41775         * modules/unlink (License): Likewise.
41776         * modules/same-inode (License): Likewise.
41778 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
41780         mktime: avoid problems on NetBSD 5 / i386
41781         * lib/mktime.c (long_int): New type.  This works around a problem
41782         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
41783         but time_t is 64 bits, and where I expect the existing code is
41784         wrong in some cases.
41785         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
41786         (ydhms_diff): Bring back the compile-time check for wide-enough
41787         year and yday.
41789         mktime: fix misspelling in comment
41790         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
41791         This merges all recent glibc changes of importance.
41793 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41795         move-if-change: cope with concurrent mv of identical file.
41796         * build-aux/move-if-change (CMPPROG): Accept environment
41797         variable as an override for `cmp'.
41798         (usage): Document CMPPROG.
41799         Adjust comparison to drop stdout.  Cope with failure of mv if
41800         the target file exists and is identical to the source, for
41801         parallel builds.
41802         Report from H.J. Lu against binutils in PR binutils/12283.
41804 2011-01-28  Bruce Korb  <bkorb@gnu.org>
41806         * users.txt: Mention sharutils.
41808 2011-01-28  Simon Josefsson  <simon@josefsson.org>
41810         * users.txt: Mention OATH Toolkit.
41812 2011-01-27  Bruno Haible  <bruno@clisp.org>
41814         Prepare for supporting FreeBSD 10.
41815         * build-aux/config.libpath: Remove handling of freebsd1*.
41817 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
41819         Prepare for supporting FreeBSD 10.
41820         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
41821         match FreeBSD 10.0.
41823 2011-01-27  Bruno Haible  <bruno@clisp.org>
41825         vma-iter, get-rusage-as: Add OpenBSD support.
41826         * modules/vma-iter (configure.ac): Test for mquery.
41827         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
41828         * lib/vma-iter.c: Include <sys/mman.h>.
41829         (vma_iterate): Add an implementation based on mquery().
41830         * lib/resource-ext.h (get_rusage_as): Update comments.
41831         * lib/get-rusage-as.c: Likewise.
41832         * lib/get-rusage-data.c: Likewise.
41834 2011-01-26  Karl Berry  <karl@gnu.org>
41836         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
41837         variables to make it easier to override the makeinfo program used.
41839 2011-01-26  Eric Blake  <eblake@redhat.com>
41841         fcntl: work around Haiku F_DUPFD bugs
41842         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
41843         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
41844         cloexec bit on duplication.
41845         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
41847 2011-01-26  Bruno Haible  <bruno@clisp.org>
41849         Enable memory leak tests on AIX.
41850         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
41851         * tests/test-fprintf-posix3.c (main): Likewise.
41853 2011-01-26  Bruno Haible  <bruno@clisp.org>
41855         Tests for module 'get-rusage-data'.
41856         * modules/get-rusage-data-tests: New file.
41857         * tests/test-get-rusage-data.c: New file.
41859         New module 'get-rusage-data'.
41860         * lib/resource-ext.h (get_rusage_data): New declaration.
41861         * lib/get-rusage-data.c: New file.
41862         * modules/get-rusage-data: New file.
41864 2011-01-25  Bruno Haible  <bruno@clisp.org>
41866         get-rusage-as: Allow for easier testing.
41867         * lib/resource-ext.h (get_rusage_as): Add comment.
41868         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
41869         (main): New function for interactive testing.
41871 2011-01-25  Bruno Haible  <bruno@clisp.org>
41873         vma-iter: Treat Haiku like BeOS.
41874         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
41875         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
41877 2011-01-25  Eric Blake  <eblake@redhat.com>
41879         c-stack: fix regression on cygwin when libsigsegv is present
41880         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
41882 2011-01-24  Bruno Haible  <bruno@clisp.org>
41884         vma-iter: Avoid empty intervals.
41885         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
41886         on an empty interval.
41888 2011-01-24  Jim Meyering  <meyering@redhat.com>
41890         u64: remove unnecessary #include
41891         * lib/u64.h: Don't include <stddef.h>.  It was not used.
41893 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
41895         Allow the user to avoid the HAVE_RAW_DECL_* macros.
41896         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
41898 2011-01-23  Bruno Haible  <bruno@clisp.org>
41900         New module 'vma-iter'.
41901         * lib/vma-iter.h: New file.
41902         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
41903         * modules/vma-iter: New file.
41904         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
41905         for get_rusage_as_via_iterator.
41906         (vma_iterate_callback): New function.
41907         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
41908         * modules/get-rusage-as (Depends-on): Add vma-iter.
41910 2011-01-23  Bruno Haible  <bruno@clisp.org>
41912         uninorm: Tweak includes.
41913         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
41914         Reported by Jim Meyering.
41916 2011-01-23  Bruno Haible  <bruno@clisp.org>
41918         get-rusage-as: Improve on NetBSD.
41919         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
41920         /proc, like on FreeBSD.
41922 2011-01-23  Jim Meyering  <meyering@redhat.com>
41924         xreadlink.h: remove unnecessary #include
41925         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
41927         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
41928         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
41930 2011-01-23  Bruno Haible  <bruno@clisp.org>
41932         get-rusage-as: Fix bug.
41933         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
41934         original limit when aborting the first loop.
41936 2011-01-23  Bruno Haible  <bruno@clisp.org>
41938         wctype: Ensure valid C syntax.
41939         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
41940         unconditionally, instead of gl_NEXT_HEADERS conditionally.
41942 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
41944         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
41945         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
41946         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
41947         as they are needed only for configure's test case.
41948         This removes two unnecessary symbols from config.h.
41950         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
41951         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
41952         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
41953         AC_CHECK_HEADERS_ONCE on a header that we also invoke
41954         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
41955         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
41956         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
41957         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
41958         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
41959         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
41960         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
41961         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41962         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
41963         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
41964         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
41965         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
41966         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
41967         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
41969 2011-01-21  Eric Blake  <eblake@redhat.com>
41971         maintainer-makefile: work with older git for submodule check
41972         * top/maint.mk (public-submodule-commit): Rewrite to avoid
41973         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
41974         Reported by Matthias Bolte.
41976         bootstrap: minor portability fixes
41977         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
41978         (usage): Omit leading capital and trailing . on help phrases, per
41979         GNU Coding Standards.
41980         (check_versions, top level): Prefix messages with script name.
41982 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
41984         bootstrap: support --no-git option
41985         * build-aux/bootstrap: Add --no-git option, to be used when
41986         --gnulib-srcdir points to the exact desired checkout.
41988 2011-01-21  Eric Blake  <eblake@redhat.com>
41990         strerror_r-posix: work with glibc 2.13
41991         * lib/strerror_r.c (strerror_r): Fix return type.
41993 2011-01-21  Pádraig Brady  <P@draigBrady.com>
41994             Bruno Haible  <bruno@clisp.org>
41996         uN_strstr: New unit tests.
41997         * modules/unistr/u8-strstr-tests: New file.
41998         * modules/unistr/u16-strstr-tests: New file.
41999         * modules/unistr/u32-strstr-tests: New file.
42000         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
42001         * tests/unistr/test-u8-strstr.c: New file.
42002         * tests/unistr/test-u16-strstr.c: New file.
42003         * tests/unistr/test-u32-strstr.c: New file.
42005 2011-01-21  Pádraig Brady  <P@draigBrady.com>
42006             Bruno Haible  <bruno@clisp.org>
42008         Make uN_strstr functions O(n) worst-case.
42009         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
42010         16-bit and 32-bit unit cases, use the unibyte algorithm from
42011         lib/mbsstr.c.
42012         * lib/unistr/u8-strstr.c: Include <string.h>.
42013         (UNIT_IS_UINT8_T): New macro.
42014         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
42015         (U_STRLEN, U_STRNLEN): New macros.
42016         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
42017         (U_STRLEN, U_STRNLEN): New macros.
42018         * modules/unistr/u8-strstr (Depends-on): Add strstr.
42019         (configure.ac): Update required libunistring version.
42020         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
42021         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
42022         malloca.
42023         (configure.ac): Update required libunistring version.
42024         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
42025         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
42026         malloca.
42027         (configure.ac): Update required libunistring version.
42029 2011-01-21  Pádraig Brady  <P@draigBrady.com>
42030             Bruno Haible  <bruno@clisp.org>
42032         Prepare for faster uN_strstr functions.
42033         * lib/str-kmp.h: Support definable UNITs.
42034         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
42035         needle_len argument.
42036         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
42037         * lib/mbscasestr.c (mbscasestr): Likewise.
42039 2011-01-21  Pádraig Brady  <P@draigBrady.com>
42041         malloca-tests: make faster by unsetting MALLOC_PERTURB_
42042         * tests/test-malloca.c (main): Unset the environment variable
42043         to greatly speed up the test.
42044         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
42045         * modules/malloca-tests: Depend on unsetenv.
42047 2011-01-21  Pádraig Brady  <P@draigBrady.com>
42049         ignore-value: remove stdint dependency
42050         * lib/ignore-value.h: Remove <stdint.h>
42051         * modules/ignore-value: Remove stdint dependency.
42053 2011-01-21  Jim Meyering  <meyering@redhat.com>
42055         maint.mk: adjust variable name to be consistent with other gl_ vars
42056         * top/maint.mk (gl_public_submodule_commit): Rename the variable
42057         to be lower case.
42059 2011-01-20  Jim Meyering  <meyering@redhat.com>
42061         maint.mk: make "check" depend on public-submodule-commit by default
42062         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
42064 2011-01-20  Bruno Haible  <bruno@clisp.org>
42066         mbfile, mbiter: Complete change from 2008-12-21.
42067         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
42068         * m4/mbiter.m4 (gl_MBITER): Likewise.
42070 2011-01-20  Jim Meyering  <meyering@redhat.com>
42072         init.sh: insert space between each function name and "()"
42073         * tests/init.sh: Make it a little easier to see that a function's
42074         name is "warn_", and not "warn" when looking at the first part of
42075         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
42077 2011-01-20  Jim Meyering  <meyering@redhat.com>
42079         mountlist: clean up code formatting
42080         * lib/mountlist.c (read_file_system_list): Split a long line,
42081         correct bracing style, use NULL in place of "(struct statfs *)0",
42082         don't parenthesize return value, add spaces around "=" and after
42083         ";-in-for-stmt".
42085 2011-01-14  Markus Duft  <mduft@gentoo.org>
42087         mountlist: add support for Interix
42088         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
42089         Apply statvfs to all entries of /dev/fs.
42090         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
42091         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
42093 2011-01-20  Jim Meyering  <meyering@redhat.com>
42095         maint.mk: improve the public-submodule-commit rule
42096         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
42097         to suppress printing of its commands... unless V=1.
42098         Add git submodule's --quiet option to suppress printing of e.g.,
42099         "Entering gnulib" output.
42100         "cd" into $(srcdir) before running git submodule.
42102 2011-01-20  Bruno Haible  <bruno@clisp.org>
42104         include_next: Fix bug introduced on 2011-01-18.
42105         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
42106         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
42107         ac_cv_header_... variable if the second argument is not 'check'.
42108         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
42109         gl_NEXT_HEADERS_INTERNAL.
42111 2011-01-20  Bruno Haible  <bruno@clisp.org>
42113         Allow the user to avoid the GNULIB_TEST_* macros.
42114         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
42115         Suggested by Paul Eggert.
42117 2011-01-14  Jim Meyering  <meyering@redhat.com>
42119         bootstrap: avoid failure when there is no .gitmodules file
42120         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
42121         has been assigned to, even when its value is the empty string.
42122         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
42123         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
42124         Reported by John W. Eaton <jwe@gnu.org>.
42126 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
42128         assume <ctype.h>, ..., <time.h> exist
42129         For years gnulib has been assuming the existence of the headers
42130         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
42131         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
42132         them, since they don't appear to be needed.
42133         * README (Portability guidelines): Document this.
42134         * lib/flock.c: Assume <fcntl.h> exists.
42135         * lib/regex_internal.h: Assume <locale.h> exists.
42136         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
42137         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
42138         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
42139         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
42140         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
42141         * m4/regex.m4 (gl_REGEX): Likewise.
42142         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
42143         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
42144         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
42145         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
42146         * tests/test-argp.c: Likewise.
42147         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
42149         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
42150         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
42151         AA_APPLE_UNIVERSAL_BUILD.  See
42152         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
42153         * NEWS: Document this.
42155 2011-01-19  Eric Blake  <eblake@redhat.com>
42157         c-stack: assume stack overflow if SA_SIGINFO unsupported
42158         * lib/c-stack.c (SIGACTION_WORKS): Rename...
42159         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
42160         sigaction will work.
42161         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
42162         behavior match Linux.
42163         * tests/test-c-stack.c (main): Prefer NULL for pointers.
42165         stdbool-tests: accommodate Haiku
42166         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
42168         binary-io: fix O_TEXT on Haiku
42169         * modules/binary-io (Depends-on): Add fcntl-h.
42170         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
42171         than blindly undefining O_TEXT.
42172         Reported by Scott McCreary.
42174 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
42176         include_next: do not check for standard headers like stddef.h
42178         I found this problem when modifying Emacs to use gnulib.
42179         I noticed that it added HAVE_STDDEF_H to config.h, even though
42180         gnulib always assumes <stddef.h> exists as per README and this
42181         symbol is unnecessary.
42182         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
42183         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
42184         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
42185         faster for headers like stddef.h that are known to exist.
42186         (gl_CHECK_NEXT_HEADERS): Use it.
42187         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
42188         rather than gl_CHECK_NEXT_HEADERS.
42189         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
42190         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
42192 2011-01-18  Eric Blake  <eblake@redhat.com>
42194         ansi-c++-opt: skip C++ dependency style if C++ is unused
42195         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
42196         tests when we know C++ compilation is not desired.
42197         Reported by Scott McCreary.
42199 2011-01-18  Bruno Haible  <bruno@clisp.org>
42201         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
42202         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
42203         (main): Perform test also when getrlimit and setrlimit don't exist or
42204         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
42205         limiting the address space size using setrlimit, compare the address
42206         space size before and after the test.
42207         * tests/test-dprintf-posix2.c: Likewise.
42208         * tests/test-fprintf-posix3.sh: Update skip messages.
42209         * tests/test-dprintf-posix2.sh: Likewise.
42210         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
42211         * modules/dprintf-posix-tests (Depends-on): Likewise.
42212         Reported by Bruce Korb <bkorb@gnu.org> and
42213         Gary V. Vaughan <gary@gnu.org>.
42215 2011-01-18  Bruno Haible  <bruno@clisp.org>
42217         get-rusage-as: Improvement for Cygwin.
42218         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
42219         areas that are merely reserved.
42221 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
42223         strftime: remove dependencies on multibyte modules
42225         strftime depended on mbrlen, mbsinit, and wchar, but these modules
42226         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
42227         only if __osf__ is defined, and I suspect OSF doesn't need these
42228         other modules.  If my guess is wrong, we'll need to come up with a
42229         variant of strftime that doesn't need the multibyte modules.
42231         I discovered this problem when attempting modify Emacs to use the
42232         strftime module.  With the previous gnulib, this caused Emacs to
42233         need 31 new files, ranging from lib/config.charset to
42234         m4/wint_t.m4.  This was overkill and I expect would be offputting
42235         to the Emacs maintainers.  After this change, only 6 new files are
42236         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
42237         stdbool.m4, and tm_gmtoff.m4.
42239         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
42240         Suggested by Bruno Haible in
42241         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
42242         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
42243         and do not check for wchar.h.
42244         * modules/strftime (Files): Remove m4/mbstate_t.m4.
42245         (Depends-on): Remove mbrlen, mbsinit, wchar.
42247 2011-01-18  Bruno Haible  <bruno@clisp.org>
42249         Tests for module 'get-rusage-as'.
42250         * modules/get-rusage-as-tests: New file.
42251         * tests/test-get-rusage-as.c: New file.
42253         New module 'get-rusage-as'.
42254         * modules/get-rusage-as: New file.
42255         * lib/resource-ext.h: New file.
42256         * lib/get-rusage-as.c: New file.
42258 2011-01-17  Eric Blake  <eblake@redhat.com>
42260         sigaction: relax license from LGPLv3+ to LGPLv2+
42261         * modules/sigaction (License): Relax to LGPLv2+.
42263 2011-01-14  Bruno Haible  <bruno@clisp.org>
42265         filemode: Make function declarations usable in C++ mode.
42266         * lib/filemode.h: Enclose function declarations in extern "C" block.
42267         Reported by John W. Eaton <jwe@gnu.org>.
42269 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
42271         save-cwd: no longer include "xgetcwd.h"
42272         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
42273         This avoids a compilation failure in projects that use save-cwd
42274         without also using the xgetcwd module.
42276 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
42278         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
42279         This is so that a program like Emacs, which needs only dtoastr,
42280         does not have to bother with distributing and compiling ftoastr
42281         and ldtoastr.
42282         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
42283         * modules/dtoastr, modules/ldtoastr: New files.
42284         * modules/ftoastr: Now works just for 'float'.
42285         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
42286         (Makefile.am): Remove ftoastr.h (not needed and no effect),
42287         dtoastr.c, ldtoastr.c.
42289 2011-01-11  Jim Meyering  <meyering@redhat.com>
42291         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
42292         There is no need to work around the lack of the fchdir function,
42293         since gnulib can now provide a replacement when required.
42294         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
42295         * modules/save-cwd (Depends-on): Add fchdir.
42297 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
42299         openat, save-cwd: avoid xmalloc
42301         This removes a direct (but undocumented) dependency of openat on
42302         xalloc, along with an indirect dependency via save-cwd.  It also
42303         removes a dependency of save-cwd on xgetcwd, and thereby
42304         indirectly on xalloc.  This change causes the openat substitute
42305         to fall back on save_cwd when memory is tight, and for save_cwd to
42306         fail instead of dying when memory is tight, but that's good enough.
42307         Problem and initial idea for fix reported by Bastien Roucaries in
42308         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
42310         * lib/openat-proc.c: Include stdlib.h (for malloc), not
42311         xalloc.h (for xmalloc).
42312         (openat_proc_name): Use malloc, not xmalloc.
42313         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
42314         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
42316         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
42317         This avoids heap allocation for file names whose lengths are in
42318         the range 512..1023, with the upper bound increasing to at most
42319         4031 depending on the platform's PATH_MAX.  (We do not want
42320         pathmax.h here as it might supply a non-constant PATH_MAX.)
42321         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
42322         Perhaps they should be moved to malloca.h?
42323         (OPENAT_BUFFER_SIZE): Use them.
42325 2011-01-10  Bruno Haible  <bruno@clisp.org>
42327         doc: Update users.txt.
42328         * users.txt: Add recutils.
42330 2011-01-09  Karl Berry  <karl@gnu.org>
42332         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
42334         * doc/configmake.texi: New file.
42335         * doc/gnulib.texi: Include it.
42336         * modules/configmake: Move documentation from here.
42338 2011-01-09  Bruno Haible  <bruno@clisp.org>
42340         Update to Unicode 6.0.0.
42341         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
42342         (get_lbp): Update for Unicode 6.0.0.
42343         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
42344         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
42345         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
42346         U+11001, U+11038..U+11046. Remove U+06DE.
42347         (uc_width): Fix bounds of planes.
42348         * tests/uniwidth/test-uc_width2.sh: Same updates as in
42349         lib/uniwidth/width.c.
42350         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
42351         trailing whitespace removed.
42352         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
42353         without comments, but with the original copyright notice.
42354         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
42355         * lib/unicase/ignorable.h: Likewise.
42356         * lib/unicase/tocasefold.h: Likewise.
42357         * lib/unicase/tolower.h: Likewise.
42358         * lib/unicase/totitle.h: Likewise.
42359         * lib/unicase/toupper.h: Likewise.
42360         * lib/unictype/bidi_of.h: Likewise.
42361         * lib/unictype/blocks.h: Likewise.
42362         * lib/unictype/categ_C.h: Likewise.
42363         * lib/unictype/categ_Cn.h: Likewise.
42364         * lib/unictype/categ_L.h: Likewise.
42365         * lib/unictype/categ_Ll.h: Likewise.
42366         * lib/unictype/categ_Lm.h: Likewise.
42367         * lib/unictype/categ_Lo.h: Likewise.
42368         * lib/unictype/categ_Lu.h: Likewise.
42369         * lib/unictype/categ_M.h: Likewise.
42370         * lib/unictype/categ_Mc.h: Likewise.
42371         * lib/unictype/categ_Me.h: Likewise.
42372         * lib/unictype/categ_Mn.h: Likewise.
42373         * lib/unictype/categ_N.h: Likewise.
42374         * lib/unictype/categ_Nd.h: Likewise.
42375         * lib/unictype/categ_No.h: Likewise.
42376         * lib/unictype/categ_P.h: Likewise.
42377         * lib/unictype/categ_Po.h: Likewise.
42378         * lib/unictype/categ_S.h: Likewise.
42379         * lib/unictype/categ_Sc.h: Likewise.
42380         * lib/unictype/categ_Sk.h: Likewise.
42381         * lib/unictype/categ_Sm.h: Likewise.
42382         * lib/unictype/categ_So.h: Likewise.
42383         * lib/unictype/categ_of.h: Likewise.
42384         * lib/unictype/combining.h: Likewise.
42385         * lib/unictype/ctype_alnum.h: Likewise.
42386         * lib/unictype/ctype_alpha.h: Likewise.
42387         * lib/unictype/ctype_graph.h: Likewise.
42388         * lib/unictype/ctype_lower.h: Likewise.
42389         * lib/unictype/ctype_print.h: Likewise.
42390         * lib/unictype/ctype_punct.h: Likewise.
42391         * lib/unictype/ctype_upper.h: Likewise.
42392         * lib/unictype/decdigit.h: Likewise.
42393         * lib/unictype/digit.h: Likewise.
42394         * lib/unictype/numeric.h: Likewise.
42395         * lib/unictype/pr_alphabetic.h: Likewise.
42396         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
42397         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
42398         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
42399         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
42400         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
42401         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
42402         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
42403         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
42404         * lib/unictype/pr_case_ignorable.h: Likewise.
42405         * lib/unictype/pr_cased.h: Likewise.
42406         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
42407         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
42408         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
42409         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
42410         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
42411         * lib/unictype/pr_combining.h: Likewise.
42412         * lib/unictype/pr_composite.h: Likewise.
42413         * lib/unictype/pr_currency_symbol.h: Likewise.
42414         * lib/unictype/pr_decimal_digit.h: Likewise.
42415         * lib/unictype/pr_deprecated.h: Likewise.
42416         * lib/unictype/pr_format_control.h: Likewise.
42417         * lib/unictype/pr_grapheme_base.h: Likewise.
42418         * lib/unictype/pr_grapheme_extend.h: Likewise.
42419         * lib/unictype/pr_grapheme_link.h: Likewise.
42420         * lib/unictype/pr_id_continue.h: Likewise.
42421         * lib/unictype/pr_id_start.h: Likewise.
42422         * lib/unictype/pr_ideographic.h: Likewise.
42423         * lib/unictype/pr_lowercase.h: Likewise.
42424         * lib/unictype/pr_math.h: Likewise.
42425         * lib/unictype/pr_numeric.h: Likewise.
42426         * lib/unictype/pr_other_alphabetic.h: Likewise.
42427         * lib/unictype/pr_other_id_continue.h: Likewise.
42428         * lib/unictype/pr_other_math.h: Likewise.
42429         * lib/unictype/pr_punctuation.h: Likewise.
42430         * lib/unictype/pr_sentence_terminal.h: Likewise.
42431         * lib/unictype/pr_terminal_punctuation.h: Likewise.
42432         * lib/unictype/pr_unassigned_code_value.h: Likewise.
42433         * lib/unictype/pr_unified_ideograph.h: Likewise.
42434         * lib/unictype/pr_uppercase.h: Likewise.
42435         * lib/unictype/pr_xid_continue.h: Likewise.
42436         * lib/unictype/pr_xid_start.h: Likewise.
42437         * lib/unictype/scripts.h: Likewise.
42438         * lib/unictype/scripts_byname.gperf: Likewise.
42439         * lib/unictype/sy_java_ident.h: Likewise.
42440         * lib/unigbrk/gbrkprop.h: Likewise.
42441         * lib/unilbrk/lbrkprop1.h: Likewise.
42442         * lib/unilbrk/lbrkprop2.h: Likewise.
42443         * lib/uninorm/decomposition-table2.h: Likewise.
42444         * lib/uniwbrk/wbrkprop.h: Likewise.
42445         * tests/unicase/test-cased.c: Likewise.
42446         * tests/unicase/test-ignorable.c: Likewise.
42447         * tests/unicase/test-uc_tolower.c: Likewise.
42448         * tests/unicase/test-uc_totitle.c: Likewise.
42449         * tests/unicase/test-uc_toupper.c: Likewise.
42450         * tests/unictype/test-categ_C.c: Likewise.
42451         * tests/unictype/test-categ_Cn.c: Likewise.
42452         * tests/unictype/test-categ_L.c: Likewise.
42453         * tests/unictype/test-categ_Ll.c: Likewise.
42454         * tests/unictype/test-categ_Lm.c: Likewise.
42455         * tests/unictype/test-categ_Lo.c: Likewise.
42456         * tests/unictype/test-categ_Lu.c: Likewise.
42457         * tests/unictype/test-categ_M.c: Likewise.
42458         * tests/unictype/test-categ_Mc.c: Likewise.
42459         * tests/unictype/test-categ_Me.c: Likewise.
42460         * tests/unictype/test-categ_Mn.c: Likewise.
42461         * tests/unictype/test-categ_N.c: Likewise.
42462         * tests/unictype/test-categ_Nd.c: Likewise.
42463         * tests/unictype/test-categ_No.c: Likewise.
42464         * tests/unictype/test-categ_P.c: Likewise.
42465         * tests/unictype/test-categ_Po.c: Likewise.
42466         * tests/unictype/test-categ_S.c: Likewise.
42467         * tests/unictype/test-categ_Sc.c: Likewise.
42468         * tests/unictype/test-categ_Sk.c: Likewise.
42469         * tests/unictype/test-categ_Sm.c: Likewise.
42470         * tests/unictype/test-categ_So.c: Likewise.
42471         * tests/unictype/test-ctype_alnum.c: Likewise.
42472         * tests/unictype/test-ctype_alpha.c: Likewise.
42473         * tests/unictype/test-ctype_graph.c: Likewise.
42474         * tests/unictype/test-ctype_lower.c: Likewise.
42475         * tests/unictype/test-ctype_print.c: Likewise.
42476         * tests/unictype/test-ctype_punct.c: Likewise.
42477         * tests/unictype/test-ctype_upper.c: Likewise.
42478         * tests/unictype/test-decdigit.h: Likewise.
42479         * tests/unictype/test-digit.h: Likewise.
42480         * tests/unictype/test-numeric.h: Likewise.
42481         * tests/unictype/test-pr_alphabetic.c: Likewise.
42482         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
42483         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
42484         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
42485         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
42486         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
42487         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
42488         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
42489         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
42490         * tests/unictype/test-pr_case_ignorable.c: Likewise.
42491         * tests/unictype/test-pr_cased.c: Likewise.
42492         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
42493         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
42494         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
42495         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
42496         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
42497         * tests/unictype/test-pr_combining.c: Likewise.
42498         * tests/unictype/test-pr_composite.c: Likewise.
42499         * tests/unictype/test-pr_currency_symbol.c: Likewise.
42500         * tests/unictype/test-pr_decimal_digit.c: Likewise.
42501         * tests/unictype/test-pr_deprecated.c: Likewise.
42502         * tests/unictype/test-pr_format_control.c: Likewise.
42503         * tests/unictype/test-pr_grapheme_base.c: Likewise.
42504         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
42505         * tests/unictype/test-pr_grapheme_link.c: Likewise.
42506         * tests/unictype/test-pr_id_continue.c: Likewise.
42507         * tests/unictype/test-pr_id_start.c: Likewise.
42508         * tests/unictype/test-pr_ideographic.c: Likewise.
42509         * tests/unictype/test-pr_lowercase.c: Likewise.
42510         * tests/unictype/test-pr_math.c: Likewise.
42511         * tests/unictype/test-pr_numeric.c: Likewise.
42512         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
42513         * tests/unictype/test-pr_other_id_continue.c: Likewise.
42514         * tests/unictype/test-pr_other_math.c: Likewise.
42515         * tests/unictype/test-pr_punctuation.c: Likewise.
42516         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
42517         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
42518         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
42519         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
42520         * tests/unictype/test-pr_uppercase.c: Likewise.
42521         * tests/unictype/test-pr_xid_continue.c: Likewise.
42522         * tests/unictype/test-pr_xid_start.c: Likewise.
42523         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
42524         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
42525         changes.
42526         * lib/unictype/categ_Cc.h: Likewise.
42527         * lib/unictype/categ_Cf.h: Likewise.
42528         * lib/unictype/categ_Co.h: Likewise.
42529         * lib/unictype/categ_Cs.h: Likewise.
42530         * lib/unictype/categ_Lt.h: Likewise.
42531         * lib/unictype/categ_Nl.h: Likewise.
42532         * lib/unictype/categ_Pc.h: Likewise.
42533         * lib/unictype/categ_Pd.h: Likewise.
42534         * lib/unictype/categ_Pe.h: Likewise.
42535         * lib/unictype/categ_Pf.h: Likewise.
42536         * lib/unictype/categ_Pi.h: Likewise.
42537         * lib/unictype/categ_Ps.h: Likewise.
42538         * lib/unictype/categ_Z.h: Likewise.
42539         * lib/unictype/categ_Zl.h: Likewise.
42540         * lib/unictype/categ_Zp.h: Likewise.
42541         * lib/unictype/categ_Zs.h: Likewise.
42542         * lib/unictype/ctype_blank.h: Likewise.
42543         * lib/unictype/ctype_cntrl.h: Likewise.
42544         * lib/unictype/ctype_digit.h: Likewise.
42545         * lib/unictype/ctype_space.h: Likewise.
42546         * lib/unictype/ctype_xdigit.h: Likewise.
42547         * lib/unictype/mirror.h: Likewise.
42548         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
42549         * lib/unictype/pr_bidi_block_separator.h: Likewise.
42550         * lib/unictype/pr_bidi_common_separator.h: Likewise.
42551         * lib/unictype/pr_bidi_control.h: Likewise.
42552         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
42553         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
42554         * lib/unictype/pr_bidi_european_digit.h: Likewise.
42555         * lib/unictype/pr_bidi_pdf.h: Likewise.
42556         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
42557         * lib/unictype/pr_bidi_whitespace.h: Likewise.
42558         * lib/unictype/pr_dash.h: Likewise.
42559         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
42560         * lib/unictype/pr_diacritic.h: Likewise.
42561         * lib/unictype/pr_extender.h: Likewise.
42562         * lib/unictype/pr_hex_digit.h: Likewise.
42563         * lib/unictype/pr_hyphen.h: Likewise.
42564         * lib/unictype/pr_ids_binary_operator.h: Likewise.
42565         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
42566         * lib/unictype/pr_ignorable_control.h: Likewise.
42567         * lib/unictype/pr_iso_control.h: Likewise.
42568         * lib/unictype/pr_join_control.h: Likewise.
42569         * lib/unictype/pr_left_of_pair.h: Likewise.
42570         * lib/unictype/pr_line_separator.h: Likewise.
42571         * lib/unictype/pr_logical_order_exception.h: Likewise.
42572         * lib/unictype/pr_non_break.h: Likewise.
42573         * lib/unictype/pr_not_a_character.h: Likewise.
42574         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
42575         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
42576         * lib/unictype/pr_other_id_start.h: Likewise.
42577         * lib/unictype/pr_other_lowercase.h: Likewise.
42578         * lib/unictype/pr_other_uppercase.h: Likewise.
42579         * lib/unictype/pr_paired_punctuation.h: Likewise.
42580         * lib/unictype/pr_paragraph_separator.h: Likewise.
42581         * lib/unictype/pr_pattern_syntax.h: Likewise.
42582         * lib/unictype/pr_pattern_white_space.h: Likewise.
42583         * lib/unictype/pr_private_use.h: Likewise.
42584         * lib/unictype/pr_quotation_mark.h: Likewise.
42585         * lib/unictype/pr_radical.h: Likewise.
42586         * lib/unictype/pr_soft_dotted.h: Likewise.
42587         * lib/unictype/pr_space.h: Likewise.
42588         * lib/unictype/pr_titlecase.h: Likewise.
42589         * lib/unictype/pr_variation_selector.h: Likewise.
42590         * lib/unictype/pr_white_space.h: Likewise.
42591         * lib/unictype/pr_zero_width.h: Likewise.
42592         * lib/unictype/sy_c_ident.h: Likewise.
42593         * lib/unictype/sy_c_whitespace.h: Likewise.
42594         * lib/unictype/sy_java_whitespace.h: Likewise.
42595         * lib/uninorm/composition-table.gperf: Likewise.
42596         * lib/uninorm/decomposition-table1.h: Likewise.
42597         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
42598         LB8.
42599         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
42600         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
42601         * modules/unictype/*: Bump version number of expected libunistring
42602         version.
42604 2011-01-09  Bruno Haible  <bruno@clisp.org>
42606         Update to Unicode 5.2.0.
42607         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
42608         trailing whitespace removed.
42610 2011-01-09  Bruno Haible  <bruno@clisp.org>
42612         New Unicode character properties, from Unicode 5.2.0.
42613         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
42614         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
42615         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
42616         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
42617         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
42618         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
42619         uc_is_property_cased, uc_is_property_case_ignorable,
42620         uc_is_property_changes_when_lowercased,
42621         uc_is_property_changes_when_uppercased,
42622         uc_is_property_changes_when_titlecased,
42623         uc_is_property_changes_when_casefolded,
42624         uc_is_property_changes_when_casemapped): New declarations.
42625         * lib/unictype/pr_byname.gperf: Add the new properties.
42626         * modules/unictype/property-byname (Depends-on): Depend on the new
42627         properties modules.
42628         * modules/unictype/property-all (Depends-on): Likewise.
42629         * MODULES.html.sh (Unicode string functions): Add
42630         unictype/property-case-ignorable, unictype/property-cased,
42631         unictype/property-changes-when-casefolded,
42632         unictype/property-changes-when-casemapped,
42633         unictype/property-changes-when-lowercased,
42634         unictype/property-changes-when-titlecased,
42635         unictype/property-changes-when-uppercased.
42637         New module 'unictype/property-changes-when-casemapped'.
42638         * modules/unictype/property-changes-when-casemapped: New file.
42639         * lib/unictype/pr_changes_when_casemapped.c: New file.
42640         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
42641         generated by gen-uni-tables.
42642         * modules/unictype/property-changes-when-casemapped-tests: New file.
42643         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
42644         automatically generated by gen-uni-tables.
42646         New module 'unictype/property-changes-when-casefolded'.
42647         * modules/unictype/property-changes-when-casefolded: New file.
42648         * lib/unictype/pr_changes_when_casefolded.c: New file.
42649         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
42650         generated by gen-uni-tables.
42651         * modules/unictype/property-changes-when-casefolded-tests: New file.
42652         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
42653         automatically generated by gen-uni-tables.
42655         New module 'unictype/property-changes-when-titlecased'.
42656         * modules/unictype/property-changes-when-titlecased: New file.
42657         * lib/unictype/pr_changes_when_titlecased.c: New file.
42658         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
42659         generated by gen-uni-tables.
42660         * modules/unictype/property-changes-when-titlecased-tests: New file.
42661         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
42662         automatically generated by gen-uni-tables.
42664         New module 'unictype/property-changes-when-uppercased'.
42665         * modules/unictype/property-changes-when-uppercased: New file.
42666         * lib/unictype/pr_changes_when_uppercased.c: New file.
42667         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
42668         generated by gen-uni-tables.
42669         * modules/unictype/property-changes-when-uppercased-tests: New file.
42670         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
42671         automatically generated by gen-uni-tables.
42673         New module 'unictype/property-changes-when-lowercased'.
42674         * modules/unictype/property-changes-when-lowercased: New file.
42675         * lib/unictype/pr_changes_when_lowercased.c: New file.
42676         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
42677         generated by gen-uni-tables.
42678         * modules/unictype/property-changes-when-lowercased-tests: New file.
42679         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
42680         automatically generated by gen-uni-tables.
42682         New module 'unictype/property-case-ignorable'.
42683         * modules/unictype/property-case-ignorable: New file.
42684         * lib/unictype/pr_case_ignorable.c: New file.
42685         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
42686         by gen-uni-tables.
42687         * modules/unictype/property-case-ignorable-tests: New file.
42688         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
42689         generated by gen-uni-tables.
42691         New module 'unictype/property-cased'.
42692         * modules/unictype/property-cased: New file.
42693         * lib/unictype/pr_cased.c: New file.
42694         * lib/unictype/pr_cased.h: New file, automatically generated by
42695         gen-uni-tables.
42696         * modules/unictype/property-cased-tests: New file.
42697         * tests/unictype/test-pr_cased.c: New file, automatically generated by
42698         gen-uni-tables.
42700 2011-01-09  Bruno Haible  <bruno@clisp.org>
42702         Update to Unicode 5.2.0.
42703         * lib/gen-uni-tables.c (output_predicate, output_category,
42704         output_combclass, output_bidi_category, output_decimal_digit_test,
42705         output_decimal_digit, output_digit_test, output_digit,
42706         output_numeric_test, output_numeric, output_mirror, output_scripts,
42707         output_scripts_byname, output_blocks, output_ident_category): Fix
42708         comment header.
42709         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
42710         get_wbp.
42711         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
42712         items.
42713         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
42714         Changes_When_Lowercased, Changes_When_Uppercased,
42715         Changes_When_Titlecased, Changes_When_Casefolded,
42716         Changes_When_Casemapped.
42717         (is_property_alphabetic, is_property_default_ignorable_code_point):
42718         Update for Unicode 5.2.0.
42719         (is_property_cased, is_property_case_ignorable,
42720         is_property_changes_when_lowercased,
42721         is_property_changes_when_uppercased,
42722         is_property_changes_when_titlecased,
42723         is_property_changes_when_casefolded,
42724         is_property_changes_when_casemapped): New functions.
42725         (output_properties): Output also the properties cased, case_ignorable,
42726         changes_when_lowercased, changes_when_uppercased,
42727         changes_when_titlecased, changes_when_casefolded,
42728         changes_when_casemapped.
42729         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
42730         Unicode TR#11 revision 17 -> 19.
42731         (LBP_CP): New enumeration value.
42732         (LBP_*): Adjust values accordingly.
42733         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
42734         TR#14 revision 22 -> 24.
42735         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
42736         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
42737         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
42738         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
42739         is_WBP_MIDLETTER.
42740         (output_composition_tables): Allow for 24 bits instead of 16 bits in
42741         the code1 and code2 of each composition rule.
42742         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
42743         * lib/unicase/ignorable.h: Likewise.
42744         * lib/unicase/tocasefold.h: Likewise.
42745         * lib/unicase/tolower.h: Likewise.
42746         * lib/unicase/totitle.h: Likewise.
42747         * lib/unicase/toupper.h: Likewise.
42748         * lib/unictype/bidi_of.h: Likewise.
42749         * lib/unictype/blocks.h: Likewise.
42750         * lib/unictype/categ_C.h: Likewise.
42751         * lib/unictype/categ_Cf.h: Likewise.
42752         * lib/unictype/categ_Cn.h: Likewise.
42753         * lib/unictype/categ_L.h: Likewise.
42754         * lib/unictype/categ_Ll.h: Likewise.
42755         * lib/unictype/categ_Lm.h: Likewise.
42756         * lib/unictype/categ_Lo.h: Likewise.
42757         * lib/unictype/categ_Lu.h: Likewise.
42758         * lib/unictype/categ_M.h: Likewise.
42759         * lib/unictype/categ_Mc.h: Likewise.
42760         * lib/unictype/categ_Mn.h: Likewise.
42761         * lib/unictype/categ_N.h: Likewise.
42762         * lib/unictype/categ_Nd.h: Likewise.
42763         * lib/unictype/categ_Nl.h: Likewise.
42764         * lib/unictype/categ_No.h: Likewise.
42765         * lib/unictype/categ_P.h: Likewise.
42766         * lib/unictype/categ_Pd.h: Likewise.
42767         * lib/unictype/categ_Po.h: Likewise.
42768         * lib/unictype/categ_S.h: Likewise.
42769         * lib/unictype/categ_Sc.h: Likewise.
42770         * lib/unictype/categ_So.h: Likewise.
42771         * lib/unictype/categ_of.h: Likewise.
42772         * lib/unictype/combining.h: Likewise.
42773         * lib/unictype/ctype_alnum.h: Likewise.
42774         * lib/unictype/ctype_alpha.h: Likewise.
42775         * lib/unictype/ctype_graph.h: Likewise.
42776         * lib/unictype/ctype_lower.h: Likewise.
42777         * lib/unictype/ctype_print.h: Likewise.
42778         * lib/unictype/ctype_punct.h: Likewise.
42779         * lib/unictype/ctype_upper.h: Likewise.
42780         * lib/unictype/decdigit.h: Likewise.
42781         * lib/unictype/digit.h: Likewise.
42782         * lib/unictype/numeric.h: Likewise.
42783         * lib/unictype/pr_alphabetic.h: Likewise.
42784         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
42785         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
42786         * lib/unictype/pr_bidi_european_digit.h: Likewise.
42787         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
42788         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
42789         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
42790         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
42791         * lib/unictype/pr_combining.h: Likewise.
42792         * lib/unictype/pr_composite.h: Likewise.
42793         * lib/unictype/pr_currency_symbol.h: Likewise.
42794         * lib/unictype/pr_dash.h: Likewise.
42795         * lib/unictype/pr_decimal_digit.h: Likewise.
42796         * lib/unictype/pr_deprecated.h: Likewise.
42797         * lib/unictype/pr_diacritic.h: Likewise.
42798         * lib/unictype/pr_extender.h: Likewise.
42799         * lib/unictype/pr_grapheme_base.h: Likewise.
42800         * lib/unictype/pr_grapheme_extend.h: Likewise.
42801         * lib/unictype/pr_grapheme_link.h: Likewise.
42802         * lib/unictype/pr_id_continue.h: Likewise.
42803         * lib/unictype/pr_id_start.h: Likewise.
42804         * lib/unictype/pr_ideographic.h: Likewise.
42805         * lib/unictype/pr_ignorable_control.h: Likewise.
42806         * lib/unictype/pr_logical_order_exception.h: Likewise.
42807         * lib/unictype/pr_lowercase.h: Likewise.
42808         * lib/unictype/pr_numeric.h: Likewise.
42809         * lib/unictype/pr_other_alphabetic.h: Likewise.
42810         * lib/unictype/pr_punctuation.h: Likewise.
42811         * lib/unictype/pr_sentence_terminal.h: Likewise.
42812         * lib/unictype/pr_terminal_punctuation.h: Likewise.
42813         * lib/unictype/pr_unassigned_code_value.h: Likewise.
42814         * lib/unictype/pr_unified_ideograph.h: Likewise.
42815         * lib/unictype/pr_uppercase.h: Likewise.
42816         * lib/unictype/pr_xid_continue.h: Likewise.
42817         * lib/unictype/pr_xid_start.h: Likewise.
42818         * lib/unictype/pr_zero_width.h: Likewise.
42819         * lib/unictype/scripts.h: Likewise.
42820         * lib/unictype/scripts_byname.gperf: Likewise.
42821         * lib/unictype/sy_java_ident.h: Likewise.
42822         * lib/unigbrk/gbrkprop.h: Likewise.
42823         * lib/unilbrk/lbrkprop1.h: Likewise.
42824         * lib/unilbrk/lbrkprop2.h: Likewise.
42825         * lib/unilbrk/lbrktables.h: Likewise.
42826         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
42827         LBP_CP. Implement rule LB30.
42828         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
42829         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
42830         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
42831         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
42832         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
42833         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
42834         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
42835         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
42836         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
42837         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
42838         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
42839         bits instead of 16 bits in the code1 and code2 of each composition
42840         rule.
42841         (uc_composition): Update for Unicode 5.2.0.
42842         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
42843         * lib/uninorm/decomposition-table2.h: Likewise.
42844         * lib/uniwbrk/wbrkprop.h: Likewise.
42845         * tests/unicase/test-cased.c: Likewise.
42846         * tests/unicase/test-ignorable.c: Likewise.
42847         * tests/unicase/test-uc_tolower.c: Likewise.
42848         * tests/unicase/test-uc_totitle.c: Likewise.
42849         * tests/unicase/test-uc_toupper.c: Likewise.
42850         * tests/unictype/test-categ_C.c: Likewise.
42851         * tests/unictype/test-categ_Cf.c: Likewise.
42852         * tests/unictype/test-categ_Cn.c: Likewise.
42853         * tests/unictype/test-categ_L.c: Likewise.
42854         * tests/unictype/test-categ_Ll.c: Likewise.
42855         * tests/unictype/test-categ_Lm.c: Likewise.
42856         * tests/unictype/test-categ_Lo.c: Likewise.
42857         * tests/unictype/test-categ_Lu.c: Likewise.
42858         * tests/unictype/test-categ_M.c: Likewise.
42859         * tests/unictype/test-categ_Mc.c: Likewise.
42860         * tests/unictype/test-categ_Mn.c: Likewise.
42861         * tests/unictype/test-categ_N.c: Likewise.
42862         * tests/unictype/test-categ_Nd.c: Likewise.
42863         * tests/unictype/test-categ_Nl.c: Likewise.
42864         * tests/unictype/test-categ_No.c: Likewise.
42865         * tests/unictype/test-categ_P.c: Likewise.
42866         * tests/unictype/test-categ_Pd.c: Likewise.
42867         * tests/unictype/test-categ_Po.c: Likewise.
42868         * tests/unictype/test-categ_S.c: Likewise.
42869         * tests/unictype/test-categ_Sc.c: Likewise.
42870         * tests/unictype/test-categ_So.c: Likewise.
42871         * tests/unictype/test-ctype_alnum.c: Likewise.
42872         * tests/unictype/test-ctype_alpha.c: Likewise.
42873         * tests/unictype/test-ctype_graph.c: Likewise.
42874         * tests/unictype/test-ctype_lower.c: Likewise.
42875         * tests/unictype/test-ctype_print.c: Likewise.
42876         * tests/unictype/test-ctype_punct.c: Likewise.
42877         * tests/unictype/test-ctype_upper.c: Likewise.
42878         * tests/unictype/test-decdigit.h: Likewise.
42879         * tests/unictype/test-digit.h: Likewise.
42880         * tests/unictype/test-numeric.h: Likewise.
42881         * tests/unictype/test-pr_alphabetic.c: Likewise.
42882         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
42883         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
42884         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
42885         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
42886         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
42887         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
42888         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
42889         * tests/unictype/test-pr_combining.c: Likewise.
42890         * tests/unictype/test-pr_composite.c: Likewise.
42891         * tests/unictype/test-pr_currency_symbol.c: Likewise.
42892         * tests/unictype/test-pr_dash.c: Likewise.
42893         * tests/unictype/test-pr_decimal_digit.c: Likewise.
42894         * tests/unictype/test-pr_deprecated.c: Likewise.
42895         * tests/unictype/test-pr_diacritic.c: Likewise.
42896         * tests/unictype/test-pr_extender.c: Likewise.
42897         * tests/unictype/test-pr_grapheme_base.c: Likewise.
42898         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
42899         * tests/unictype/test-pr_grapheme_link.c: Likewise.
42900         * tests/unictype/test-pr_id_continue.c: Likewise.
42901         * tests/unictype/test-pr_id_start.c: Likewise.
42902         * tests/unictype/test-pr_ideographic.c: Likewise.
42903         * tests/unictype/test-pr_ignorable_control.c: Likewise.
42904         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
42905         * tests/unictype/test-pr_lowercase.c: Likewise.
42906         * tests/unictype/test-pr_numeric.c: Likewise.
42907         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
42908         * tests/unictype/test-pr_punctuation.c: Likewise.
42909         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
42910         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
42911         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
42912         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
42913         * tests/unictype/test-pr_uppercase.c: Likewise.
42914         * tests/unictype/test-pr_xid_continue.c: Likewise.
42915         * tests/unictype/test-pr_xid_start.c: Likewise.
42916         * tests/unictype/test-pr_zero_width.c: Likewise.
42917         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
42918         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
42919         changed behaviour: line breaking is now disallowed between a letter
42920         or '=' and '('.
42921         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
42922         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
42923         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
42924         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
42925         * tests/uniwidth/test-uc_width2.sh: Same updates as in
42926         lib/uniwidth/width.c.
42927         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
42928         without comments, but with the original copyright notice.
42929         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
42930         changes.
42931         * lib/unictype/categ_Cc.h: Likewise.
42932         * lib/unictype/categ_Co.h: Likewise.
42933         * lib/unictype/categ_Cs.h: Likewise.
42934         * lib/unictype/categ_Lt.h: Likewise.
42935         * lib/unictype/categ_Me.h: Likewise.
42936         * lib/unictype/categ_Pc.h: Likewise.
42937         * lib/unictype/categ_Pe.h: Likewise.
42938         * lib/unictype/categ_Pf.h: Likewise.
42939         * lib/unictype/categ_Pi.h: Likewise.
42940         * lib/unictype/categ_Ps.h: Likewise.
42941         * lib/unictype/categ_Sk.h: Likewise.
42942         * lib/unictype/categ_Sm.h: Likewise.
42943         * lib/unictype/categ_Z.h: Likewise.
42944         * lib/unictype/categ_Zl.h: Likewise.
42945         * lib/unictype/categ_Zp.h: Likewise.
42946         * lib/unictype/categ_Zs.h: Likewise.
42947         * lib/unictype/ctype_blank.h: Likewise.
42948         * lib/unictype/ctype_cntrl.h: Likewise.
42949         * lib/unictype/ctype_digit.h: Likewise.
42950         * lib/unictype/ctype_space.h: Likewise.
42951         * lib/unictype/ctype_xdigit.h: Likewise.
42952         * lib/unictype/mirror.h: Likewise.
42953         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
42954         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
42955         * lib/unictype/pr_bidi_block_separator.h: Likewise.
42956         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
42957         * lib/unictype/pr_bidi_common_separator.h: Likewise.
42958         * lib/unictype/pr_bidi_control.h: Likewise.
42959         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
42960         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
42961         * lib/unictype/pr_bidi_pdf.h: Likewise.
42962         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
42963         * lib/unictype/pr_bidi_whitespace.h: Likewise.
42964         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
42965         * lib/unictype/pr_format_control.h: Likewise.
42966         * lib/unictype/pr_hex_digit.h: Likewise.
42967         * lib/unictype/pr_hyphen.h: Likewise.
42968         * lib/unictype/pr_ids_binary_operator.h: Likewise.
42969         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
42970         * lib/unictype/pr_iso_control.h: Likewise.
42971         * lib/unictype/pr_join_control.h: Likewise.
42972         * lib/unictype/pr_left_of_pair.h: Likewise.
42973         * lib/unictype/pr_line_separator.h: Likewise.
42974         * lib/unictype/pr_math.h: Likewise.
42975         * lib/unictype/pr_non_break.h: Likewise.
42976         * lib/unictype/pr_not_a_character.h: Likewise.
42977         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
42978         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
42979         * lib/unictype/pr_other_id_continue.h: Likewise.
42980         * lib/unictype/pr_other_id_start.h: Likewise.
42981         * lib/unictype/pr_other_lowercase.h: Likewise.
42982         * lib/unictype/pr_other_math.h: Likewise.
42983         * lib/unictype/pr_other_uppercase.h: Likewise.
42984         * lib/unictype/pr_paired_punctuation.h: Likewise.
42985         * lib/unictype/pr_paragraph_separator.h: Likewise.
42986         * lib/unictype/pr_pattern_syntax.h: Likewise.
42987         * lib/unictype/pr_pattern_white_space.h: Likewise.
42988         * lib/unictype/pr_private_use.h: Likewise.
42989         * lib/unictype/pr_quotation_mark.h: Likewise.
42990         * lib/unictype/pr_radical.h: Likewise.
42991         * lib/unictype/pr_soft_dotted.h: Likewise.
42992         * lib/unictype/pr_space.h: Likewise.
42993         * lib/unictype/pr_titlecase.h: Likewise.
42994         * lib/unictype/pr_variation_selector.h: Likewise.
42995         * lib/unictype/pr_white_space.h: Likewise.
42996         * lib/unictype/sy_c_ident.h: Likewise.
42997         * lib/unictype/sy_c_whitespace.h: Likewise.
42998         * lib/unictype/sy_java_whitespace.h: Likewise.
42999         * modules/uni*/*: Bump version number of expected libunistring version.
43000         Reported by Simon Josefsson.
43002 2011-01-09  Karl Heuer  <kwzh@gnu.org>
43004         useless-if-before-free: fix typo in --help and make the internal,
43005         automatic version date update process work once again.
43006         --help output contained a NUL character instead of the
43007         backslash-zero that was intended.  Also, the "must lie within
43008         the first 8 lines" line is on line 9, and hence not getting
43009         automatically updated.
43010         * build-aux/useless-if-before-free: Fix the former by adding a
43011         backslash, and the latter by condensing the three lines of what-it-does
43012         to a single line, leaving one line of slack for the future.
43014 2011-01-09  Bruno Haible  <bruno@clisp.org>
43016         uniwidth/width: Fix width of U+1D173..U+1D17A.
43017         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
43018         symbolic_width, output_width_property_test): New functions.
43019         (main): Invoke output_nonspacing_property, output_width_property_test.
43020         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
43021         U+1D173..U+1D17A.
43022         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
43023         1.
43024         * modules/uniwidth/*: Bump version number of expected libunistring
43025         version.
43026         * modules/unilbrk/*: Likewise.
43028 2011-01-08  Bruno Haible  <bruno@clisp.org>
43030         uninorm tests: Preserve copyright of Unicode data file.
43031         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
43032         Mention modifications.
43034 2011-01-08  Bruno Haible  <bruno@clisp.org>
43036         gen-uni-tables: Prepare for Unicode 5.2.0.
43037         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
43038         (debug_output_lbp, output_lbp): Update.
43040 2011-01-08  Bruno Haible  <bruno@clisp.org>
43042         unilbrk: Clarify gen-uni-tables.c code.
43043         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
43044         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
43045         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
43047 2011-01-07  Bruno Haible  <bruno@clisp.org>
43049         strtod: Restore errno when successfully parsing Infinity or NaN.
43050         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
43051         restore the original errno.
43053 2011-01-07  Bruno Haible  <bruno@clisp.org>
43055         remove test: Avoid failure on HP-UX 11.
43056         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
43058 2011-01-07  Bruno Haible  <bruno@clisp.org>
43060         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
43061         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
43062         error code.
43064 2011-01-07  Pádraig Brady  <P@draigBrady.com>
43066         ignore-value: fixup comments, and add Eric Blake
43067         as an author since he rewrote the macros.
43068         * lib/ignore-value.h (ignore_value):  State that
43069         we now support aggregates.  Also specify exactly
43070         when the GCC warn_unused_result feature was added.
43072 2011-01-06  Eric Blake  <eblake@redhat.com>
43074         ignore-value: support aggregate types
43075         * lib/ignore-value.h (ignore_value): Provide separate gcc
43076         definition.
43077         * modules/ignore-value-tests: New test module.
43078         * tests/test-ignore-value.c: New test.
43080         maint.mk: improve sc_prohibit_strcmp regex
43081         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
43082         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
43083         definition of STRNEQ.
43085         signal: work around Haiku issue with SIGBUS
43086         * lib/siglist.h: Add comment.
43087         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
43088         strsignal's favoring of SIGSEGV.
43089         * tests/test-signal.c (main): Avoid test failure.
43090         * doc/posix-headers/signal.texi (signal.h): Document the issue.
43091         Reported by Scott McCreary.
43093         maint.mk: add pre-release check to ensure submodule commits are public
43094         * top/maint.mk (public-submodule-commit): New rule.
43095         (submodule-checks): New variable.
43096         (alpha beta stable): Depend on the variable.
43098 2011-01-05  Pádraig Brady  <P@draigBrady.com>
43099         and Jim Meyering  <meyering@redhat.com>
43101         ignore-value: make ignore_value more generic; deprecate ignore_ptr
43102         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
43103         (ATTRIBUTE_DEPRECATED): Define.
43104         (_ignore_case): New function.
43105         (ignore_value): New macro, to replace the old function.
43106         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
43107         * modules/ignore-value (Depends-on): Add stdint.
43109 2011-01-04  Eric Blake  <eblake@redhat.com>
43111         doc: regenerate INSTALL
43112         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
43113         @firstparagraphindent support, now that autoconf dropped it.
43114         (INSTALL_PRELUDE): Reinstate old macro.
43115         * doc/install.texi: Resync from autoconf.
43116         * doc/INSTALL: Reflect recent autoconf update.
43117         * doc/INSTALL.ISO: Likewise.
43118         * doc/INSTALL.UTF-8: Likewise.
43119         Reported by Karl Berry.
43121 2011-01-04  Bruce Korb  <address@hidden>
43123         git-version-gen: avoid a sub-shell
43124         * build-aux/git-version-gen: Redirect stderr in `...` via
43125         "exec 2>...", rather than via an added sub-shell.
43127 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
43129         git-version-gen: use (...) rather than sh -c '...'
43130         * build-aux/git-version-gen: Rather than hard-coding a shell's name
43131         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
43133 2011-01-03  Jim Meyering  <meyering@redhat.com>
43135         git-version-gen: convert leading TABs to spaces
43136         * build-aux/git-version-gen: Expand leading TABs.
43138         git-version-gen: handle failed "git rev-list"
43139         * build-aux/git-version-gen: Rather than leaking a "fatal" error
43140         from git and proceeding as if it had succeeded but printed no SHA1
43141         checksums, suppress the diagnostic and handle the failure.
43142         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
43144         git-version-gen: include command name in one more diagnostic
43145         * build-aux/git-version-gen: When the required .tarball-version file
43146         was missing or unreadable, you might see the diagnostic from "cat",
43147         but no trace of the name of the invoking script.  Now, you still see
43148         the diagnostic from cat, but also get one from "git-version-gen: ".
43149         Inspired by a patch from Bruce Korb.
43151         update-copyright: adjust test to match changed code
43152         * tests/test-update-copyright.sh: Change test's expected output
43153         to match new actual output.
43155 2011-01-02  Bruno Haible  <bruno@clisp.org>
43157         getlogin_r: Avoid test failure on HP-UX 11.
43158         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
43159         ERANGE when the second argument is zero.
43160         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
43161         portability problem.
43163 2011-01-02  Bruce Korb  <bkorb@gnu.org>
43165         * build-aux/update-copyright: doc Simon's changes
43167 2011-01-02  Simon Josefsson  <simon@josefsson.org>
43169         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
43170         environment variable.
43172 2011-01-02  Bruno Haible  <bruno@clisp.org>
43174         unigbrk: Avoid gcc warnings.
43175         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
43176         unused variable.
43177         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
43178         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
43179         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
43180         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
43181         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
43182         Change type of first argument to 'const char *'.
43183         (main): Remove unused variable.
43184         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
43185         type of first argument to 'const char *'.
43186         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
43187         Likewise.
43188         (main): Change type of variable 's'.
43189         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
43190         to 'int'.
43192 2011-01-02  Bruno Haible  <bruno@clisp.org>
43194         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
43195         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
43196         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
43197         bug.
43198         * lib/pwrite.c: Undo 2010-12-31 patch.
43199         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
43201 2011-01-02  Bruno Haible  <bruno@clisp.org>
43203         pread: Fix test whether it works.
43204         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
43206 2011-01-02  Bruno Haible  <bruno@clisp.org>
43208         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
43209         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
43210         ends in "6". Don't require a specific month name. Try also the locale
43211         names found on HP-UX 11 and Solaris 7.
43213 2011-01-02  Bruno Haible  <bruno@clisp.org>
43215         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
43216         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
43217         C linkage.
43218         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
43220 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
43222         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
43223         for consistency, since the "cluster" term is not used elsewhere.
43224         * lib/unigbrk.in.h: Update name.
43225         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
43226         * lib/unigbrk/u16-grapheme-next.c: Update name.
43227         * lib/unigbrk/u16-grapheme-prev.c: Update name.
43228         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
43229         * lib/unigbrk/u32-grapheme-next.c: Update name.
43230         * lib/unigbrk/u32-grapheme-prev.c: Update name.
43231         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
43232         * lib/unigbrk/u8-grapheme-next.c: Update name.
43233         * lib/unigbrk/u8-grapheme-prev.c: Update name.
43234         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
43235         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
43236         Suggested by Bruno Haible.
43238 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
43240         Remove module 'u8-grapheme-len' as too redundant with
43241         'u8-grapheme-next'.
43242         * modules/unigbrk/u8-grapheme-len: Delete file.
43243         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
43244         * lib/unigbrk.in.h: Remove prototype for deleted function.
43245         * lib/unigbrk/u8-grapheme-len.c: Delete file.
43246         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
43248         Remove module 'u16-grapheme-len' as too redundant with
43249         'u16-grapheme-next'.
43250         * modules/unigbrk/u16-grapheme-len: Delete file.
43251         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
43252         * lib/unigbrk.in.h: Remove prototype for deleted function.
43253         * lib/unigbrk/u16-grapheme-len.c: Delete file.
43254         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
43256         Remove module 'u32-grapheme-len' as too redundant with
43257         'u32-grapheme-next'.
43258         * modules/unigbrk/u32-grapheme-len: Delete file.
43259         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
43260         * lib/unigbrk.in.h: Remove prototype for deleted function.
43261         * lib/unigbrk/u32-grapheme-len.c: Delete file.
43262         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
43264         Suggested by Bruno Haible.
43266 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
43268         * unigbrk.in.h: Fix typo: "ben" => "been".
43269         Reported by Bruno Haible.
43271 2011-01-01  Jim Meyering  <meyering@redhat.com>
43273         maint: update almost all copyright ranges to include 2011
43274         Run the new "make update-copyright" rule.
43276 2011-01-01  Jim Meyering  <meyering@redhat.com>
43278         maint: update-copyright: exempt doc/INSTALL*
43279         * Makefile (update-copyright): Also exclude doc/INSTALL*,
43280         since they are generated.  Suggested by Bruno Haible.
43282 2011-01-01  Jim Meyering  <meyering@redhat.com>
43284         maint: refine the update-copyright rule
43285         * Makefile (update-copyright): Also exclude any file that includes
43286         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
43287         code that merely generates the comment.
43289 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
43291         New module 'u8-grapheme-len'.
43292         * modules/unigbrk/u8-grapheme-len: New file.
43293         * modules/unigbrk/u8-grapheme-len-tests: New file.
43294         * lib/unigbrk.in.h: Add prototype for new function.
43295         * lib/unigbrk/u8-grapheme-len.c: New file.
43296         * tests/unigbrk/test-u8-grapheme-len.c: New file.
43298         New module 'u16-grapheme-len'.
43299         * modules/unigbrk/u16-grapheme-len: New file.
43300         * modules/unigbrk/u16-grapheme-len-tests: New file.
43301         * lib/unigbrk.in.h: Add prototype for new function.
43302         * lib/unigbrk/u16-grapheme-len.c: New file.
43303         * tests/unigbrk/test-u16-grapheme-len.c: New file.
43305         New module 'u32-grapheme-len'.
43306         * modules/unigbrk/u32-grapheme-len: New file.
43307         * modules/unigbrk/u32-grapheme-len-tests: New file.
43308         * lib/unigbrk.in.h: Add prototype for new function.
43309         * lib/unigbrk/u32-grapheme-len.c: New file.
43310         * tests/unigbrk/test-u32-grapheme-len.c: New file.
43312         New module 'u8-grapheme-next'.
43313         * modules/unigbrk/u8-grapheme-next: New file.
43314         * modules/unigbrk/u8-grapheme-next-tests: New file.
43315         * lib/unigbrk.in.h: Add prototype for new function.
43316         * lib/unigbrk/u8-grapheme-next.c: New file.
43317         * tests/unigbrk/test-u8-grapheme-next.c: New file.
43319         New module 'u16-grapheme-next'.
43320         * modules/unigbrk/u16-grapheme-next: New file.
43321         * modules/unigbrk/u16-grapheme-next-tests: New file.
43322         * lib/unigbrk.in.h: Add prototype for new function.
43323         * lib/unigbrk/u16-grapheme-next.c: New file.
43324         * tests/unigbrk/test-u16-grapheme-next.c: New file.
43326         New module 'u32-grapheme-next'.
43327         * modules/unigbrk/u32-grapheme-next: New file.
43328         * modules/unigbrk/u32-grapheme-next-tests: New file.
43329         * lib/unigbrk.in.h: Add prototype for new function.
43330         * lib/unigbrk/u32-grapheme-next.c: New file.
43331         * tests/unigbrk/test-u32-grapheme-next.c: New file.
43333         New module 'u8-grapheme-prev'.
43334         * modules/unigbrk/u8-grapheme-prev: New file.
43335         * modules/unigbrk/u8-grapheme-prev-tests: New file.
43336         * lib/unigbrk.in.h: Add prototype for new function.
43337         * lib/unigbrk/u8-grapheme-prev.c: New file.
43338         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
43340         New module 'u16-grapheme-prev'.
43341         * modules/unigbrk/u16-grapheme-prev: New file.
43342         * modules/unigbrk/u16-grapheme-prev-tests: New file.
43343         * lib/unigbrk.in.h: Add prototype for new function.
43344         * lib/unigbrk/u16-grapheme-prev.c: New file.
43345         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
43347         New module 'u32-grapheme-prev'.
43348         * modules/unigbrk/u32-grapheme-prev: New file.
43349         * modules/unigbrk/u32-grapheme-prev-tests: New file.
43350         * lib/unigbrk.in.h: Add prototype for new function.
43351         * lib/unigbrk/u32-grapheme-prev.c: New file.
43352         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
43354         New module 'u8-grapheme-breaks'.
43355         * modules/unigbrk/u8-grapheme-breaks: New file.
43356         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
43357         * lib/unigbrk.in.h: Add prototype for new function.
43358         * lib/unigbrk/u8-grapheme-breaks.c: New file.
43359         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
43361         New module 'u16-grapheme-breaks'.
43362         * modules/unigbrk/u16-grapheme-breaks: New file.
43363         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
43364         * lib/unigbrk.in.h: Add prototype for new function.
43365         * lib/unigbrk/u16-grapheme-breaks.c: New file.
43366         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
43368         New module 'u32-grapheme-breaks'.
43369         * modules/unigbrk/u32-grapheme-breaks: New file.
43370         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
43371         * lib/unigbrk.in.h: Add prototype for new function.
43372         * lib/unigbrk/u32-grapheme-breaks.c: New file.
43373         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
43375         New module 'ulc-grapheme-breaks'.
43376         * modules/unigbrk/ulc-grapheme-breaks: New file.
43377         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
43378         * m4/locale-ar.m4: New file.
43379         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
43380         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
43381         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
43383 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
43385         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
43386         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
43387         modified how this file was generated before I initially submitted
43388         the module, but failed to regenerate it.  This meant that several
43389         of the level2 entries were wrong.
43390         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
43391         Remove the division-by-2 that is folded into the table now that
43392         gbrkprop.h has been regenerated properly.  Now -1 entries are
43393         handled correctly.
43395         New module 'unigbrk/uc-gbrk-prop-tests'.
43396         * modules/unigbrk/uc-gbrk-prop-tests: New file.
43397         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
43398         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
43399         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
43401 2011-01-01  Bruno Haible  <bruno@clisp.org>
43403         Avoid use of hexadecimal escapes.
43404         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
43405         instead of hexadecimal escapes.
43407 2011-01-01  Jim Meyering  <meyering@redhat.com>
43409         maint: new rule to update copyright year ranges
43410         * Makefile (update-copyright): New rule.
43412         maint: indent with TABs in Makefile
43413         * Makefile: Expand leading sequences of spaces to TABs
43415         version-etc: update the copyright year it reports
43416         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
43418 2010-12-31  Bruno Haible  <bruno@clisp.org>
43420         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
43421         * lib/isfinite.c (zerof, zerod, zerol): New variables.
43422         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
43423         zero.
43425 2010-12-31  Bruno Haible  <bruno@clisp.org>
43427         pwrite: Work around HP-UX 11.11 bug.
43428         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
43429         works and set REPLACE_PWRITE if not.
43430         * lib/pwrite.c (pwrite): Add an implementation that uses the system
43431         function.
43432         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
43434 2010-12-31  Bruno Haible  <bruno@clisp.org>
43436         pread: Work around HP-UX 11 bugs.
43437         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
43438         and set REPLACE_PREAD if not.
43439         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
43441 2010-12-31  Eric Blake  <eblake@redhat.com>
43443         nl_langinfo: fix YESEXPR on Irix 6.5
43444         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
43445         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
43446         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
43447         it.
43449 2010-12-31  Bruno Haible  <bruno@clisp.org>
43451         iconv: Document HP-UX 11 bug.
43452         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
43454 2010-12-31  Bruno Haible  <bruno@clisp.org>
43456         ldexpl: Fix link error on HP-UX 11.
43457         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
43458         LDEXPL_LIBM, using $ISNANL_LIBM.
43460 2010-12-31  Eric Blake  <eblake@redhat.com>
43462         ftello: avoid compilation failure with SunStudio c89
43463         * lib/ftello.c (ftello): Use lseek, not llseek.
43465         tests: avoid failing coreutils tests on cygwin
43466         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
43467         (create_exe_shims_): Return 0 when skipping.
43469 2010-12-31  Bruno Haible  <bruno@clisp.org>
43471         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
43472         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
43474 2010-12-31  Bruno Haible  <bruno@clisp.org>
43476         waitpid: Fix link error in C++ mode.
43477         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
43479 2010-12-31  Bruno Haible  <bruno@clisp.org>
43481         isnan: Use GCC built-ins when possible.
43482         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
43483         __builtin_isnan.
43484         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
43485         (isnan): Define using GCC built-ins for GCC >= 4.0.
43487 2010-12-31  Bruno Haible  <bruno@clisp.org>
43489         isnand: Fix mistake.
43490         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
43491         __builtin_isnand.
43493 2010-12-31  Bruno Haible  <bruno@clisp.org>
43495         open: Avoid C++ error on HP-UX 11.
43496         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
43498 2010-12-31  Bruno Haible  <bruno@clisp.org>
43500         time_r: Add missing declarations on HP-UX 11.
43501         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
43502         instead of HAVE_LOCALTIME_R.
43503         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
43504         HAVE_LOCALTIME_R always.
43505         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
43506         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
43507         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
43508         HAVE_LOCALTIME_R.
43509         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
43510         * doc/posix-functions/localtime_r.texi: Likewise.
43512 2010-12-29  Eric Blake  <eblake@redhat.com>
43514         mountlist: tweak previous commit
43515         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
43516         Reported by Paul Eggert.
43518         mountlist: fix local drive detection on cygwin
43519         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
43520         that works for cygwin.
43522 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
43524         ftoastr, snprintf: ftoastr + snprintf module
43525         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
43526         since the snprintf module now should be good enough here.
43527         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
43528         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
43529         and gl_MODULE_INDICATOR([snprintf]), but the former enables
43530         GNULIB_SNPRINTF only for the test directory, and the latter
43531         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
43532         seems to suffice by itself.
43534 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
43536         alloca: one step towards thread-safety
43537         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
43538         need for a static variable.  All callers changed.  This does not
43539         make the alloca replacement thread-safe, but it's one step.
43541         tests: minor indenting change
43542         * tests/init.sh: Sync from coreutils housekeeping patch
43543         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
43544         to keep lines within 80 columns.
43546 2010-12-28  Jim Meyering  <meyering@redhat.com>
43548         regex: don't infloop on persistent failing calloc
43549         * lib/regexec.c (build_trtable): Return failure indication upon
43550         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
43551         In glibc, this was fixed for version 2.13:
43552         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
43554 2010-12-28  Bruno Haible  <bruno@clisp.org>
43555             Paul Eggert <eggert@cs.ucla.edu>
43557         linkat: Make implementation robust against system behaviour variations.
43558         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
43559         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
43560         way, and to -2 if it needs a generic runtime test.
43561         * lib/linkat.c (solaris_optimized_link_immediate,
43562         solaris_optimized_link_follow): New functions.
43563         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
43564         (check_same_link): Use it.
43566 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
43568         New module 'unigbrk/base'.
43569         * modules/unigbrk/base: New file.
43570         * lib/unigbrk.in.h: New file.
43572         New module 'unigbrk/uc-gbrk-prop'.
43573         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
43574         * modules/unigbrk/uc-gbrk-prop: New file.
43575         * lib/unigbrk/gbrkprop.h: New file.
43576         * lib/unigbrk/uc-gbrk-prop.c: New file.
43578         New module 'unigbrk/uc-is-grapheme-break'.
43579         * modules/unigbrk/uc-is-grapheme-break: New file.
43580         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
43581         * lib/unigbrk/uc-is-grapheme-break.c: New file.
43582         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
43583         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
43584         * tests/unigbrk/GraphemeBreakTest.txt: New file.
43586         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
43588 2010-12-27  Bruno Haible  <bruno@clisp.org>
43590         linkat test: Avoid failure on Solaris 11 2010-11.
43591         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
43593 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
43595         utimens: work around glibc rounding bug on more platforms
43596         * lib/utimens.c (fdutimens): Work around rounding bug even if
43597         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
43598         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
43600 2010-12-27  Bruno Haible  <bruno@clisp.org>
43602         select tests: Improve comments.
43603         * tests/test-select.c (do_select): Add comments.
43605 2010-12-27  Bruno Haible  <bruno@clisp.org>
43607         select tests: Safer way of handling timeout.
43608         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
43609         at every invocation.
43611 2010-12-27  Bruno Haible  <bruno@clisp.org>
43613         select tests: Use 'bool' where appropriate.
43614         * tests/test-select.c (connect_to_socket): Change argument type to
43615         'bool'.
43617 2010-12-27  Bruno Haible  <bruno@clisp.org>
43619         select tests: Use existing modules.
43620         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
43621         (configure.ac): Don't test for unistd.h.
43622         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
43623         declared in <unistd.h>.
43625 2010-12-27  Bruno Haible  <bruno@clisp.org>
43627         mbrtowc: Work around a Solaris 7 bug.
43628         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
43629         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
43630         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
43631         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
43632         MBRTOWC_NULL_ARG1_BUG.
43633         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
43634         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
43635         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
43636         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
43638 2010-12-27  Jim Meyering  <meyering@redhat.com>
43640         read-file.c: tweak syntax
43641         * lib/read-file.c (fread_file): Remove space after "*" in function
43642         definitions.
43644 2010-12-27  Bruno Haible  <bruno@clisp.org>
43646         times test: Avoid gcc warnings on OSF/1.
43647         * tests/test-times.c (main): Cast printf arguments from clock_t to
43648         'long int'.
43650 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
43652         utimens: work around glibc rounding bug on older Linux kernels
43653         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
43654         on Linux with a glibc whose utimes might not work, then work
43655         around a longstanding glibc bug involving rounding rather than
43656         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
43657         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
43659 2010-12-26  Bruno Haible  <bruno@clisp.org>
43661         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
43662         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
43663         _GL_CXXALIAS_SYS.
43664         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
43666 2010-12-26  Bruno Haible  <bruno@clisp.org>
43668         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
43669         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
43670         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
43671         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
43672         looking for the declaration.
43673         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
43674         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
43675         problem.
43676         * doc/posix-functions/inet_pton.texi: Likewise.
43678 2010-12-26  Bruno Haible  <bruno@clisp.org>
43680         arpa_inet: Use the common idioms with C++ support.
43681         * lib/arpa_inet.in.h: Include c++defs.h.
43682         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
43683         support.
43684         * modules/arpa_inet (Depends-on): Add c++defs.
43685         (Makefile.am): Substitute the contents of c++defs.h.
43686         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
43687         * modules/arpa_inet-c++-tests: New file.
43688         * tests/test-arpa_inet-c++.cc: New file.
43690 2010-12-25  Bruno Haible  <bruno@clisp.org>
43692         Fix more C++ link errors on Solaris 8.
43693         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
43694         $(LIB_EACCESS).
43695         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
43696         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
43697         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
43698         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
43699         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
43701 2010-12-25  Bruno Haible  <bruno@clisp.org>
43703         printf-posix: Fix link error when a non-GCC compiler is used.
43704         * lib/stdio.in.h (printf): When not using GCC, override printf
43705         correctly.
43706         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
43708 2010-12-25  Bruno Haible  <bruno@clisp.org>
43710         strerror_r-posix: Update doc.
43711         * doc/posix-functions/strerror_r.texi: Update doc about the return
43712         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
43714 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43716         utimens: simplify the logic of the previous change
43717         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
43718         This should not affect whether the test succeeds or fails.
43720         utimens: configure better on hosts with NFS clock skew
43721         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
43722         uses the clock of the local host.  It might use the clock of the
43723         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
43724         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
43726 2010-12-25  Bruno Haible  <bruno@clisp.org>
43728         ptsname test: Avoid failure on Solaris.
43729         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
43730         open a pseudo-terminal; don't use BSD-style ptys.
43731         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
43733 2010-12-25  Bruno Haible  <bruno@clisp.org>
43735         ptsname: Avoid ERANGE failure on some systems.
43736         * lib/ptsname.c (buffer): Increase size.
43738 2010-12-25  Bruno Haible  <bruno@clisp.org>
43740         rename, renameat: Avoid test failures at NFS mounted locations.
43741         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
43742         so that subsequent mkdir calls succeed.
43744 2010-12-25  Bruno Haible  <bruno@clisp.org>
43746         iswblank: Fix C++ link error on Solaris 8.
43747         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
43748         _GL_FUNCDECL_SYS.
43750 2010-12-25  Bruno Haible  <bruno@clisp.org>
43752         unistd: Fix C++ link error on Solaris 8.
43753         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
43755 2010-12-25  Bruno Haible  <bruno@clisp.org>
43757         readlink doc: Mention an old glibc bug.
43758         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
43760 2010-12-25  Bruno Haible  <bruno@clisp.org>
43762         fcntl-h: Fix for use of C++ on glibc systems.
43763         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
43764         also on glibc systems in C++ mode.
43765         Reported by Gary V. Vaughan <gary@gnu.org>.
43767 2010-12-25  Bruno Haible  <bruno@clisp.org>
43769         roundl-ieee: Make it work on OSF/1 5.1 with cc.
43770         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
43772 2010-12-25  Bruno Haible  <bruno@clisp.org>
43774         truncl-ieee: Make it work on OSF/1 5.1 with cc.
43775         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
43776         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
43777         test whether truncl works according to ISO C 99 with IEC 60559.
43778         * m4/truncl-ieee.m4: New file.
43779         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
43780         m4/signbit.m4.
43781         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
43783 2010-12-25  Bruno Haible  <bruno@clisp.org>
43785         ceill-ieee: Make it work on OSF/1 5.1 with cc.
43786         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
43787         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
43788         test whether ceill works according to ISO C 99 with IEC 60559.
43789         * m4/ceill-ieee.m4: New file.
43790         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
43791         m4/signbit.m4.
43792         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
43794 2010-12-25  Bruno Haible  <bruno@clisp.org>
43796         Ensure all prerequisites of <wchar.h> are included.
43797         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
43798         before <wchar.h>.
43799         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
43800         gl_MBRLEN_NUL_RETVAL): Likewise.
43801         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
43802         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
43803         AC_FUNC_MBRTOWC): Likewise.
43804         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
43805         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
43806         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
43807         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
43808         Likewise.
43809         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
43810         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
43811         (gl_WCHAR_H): Improve comments.
43812         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
43814 2010-12-25  Bruno Haible  <bruno@clisp.org>
43816         strtok_r: Fix C syntax error in autoconf macro.
43817         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
43818         characters in test program.
43820 2010-12-24  Bruno Haible  <bruno@clisp.org>
43822         ceil, trunc, round: Fix gcc warnings.
43823         * lib/ceil.c (MIN): Undefine before redefining.
43824         * lib/trunc.c (MIN): Likewise.
43825         * lib/round.c (MIN): Likewise.
43826         Include <math.h> first.
43828 2010-12-24  Bruno Haible  <bruno@clisp.org>
43830         select tests: Avoid failures on OSF/1 5.1.
43831         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
43832         failure of closing the last socket; it may fail with ECONNRESET.
43834 2010-12-24  Eric Blake  <eblake@redhat.com>
43836         stdint: avoid HP-UX 10.20 preprocessor bug
43837         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
43838         than #if.
43839         * tests/test-floor2.c (main): Likewise.
43840         Reported by Peter O'Gorman.
43842         pipe: make obsoletion transition easier
43843         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
43844         * modules/pipe (Files): Include revived file.
43845         (Include): Drop reference, to mirror getdate's behavior.
43847 2010-12-24  Bruno Haible  <bruno@clisp.org>
43849         sys_socket: Hide mismatch of declarations on NonStop Kernel.
43850         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
43851         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
43852         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
43854 2010-12-24  Bruno Haible  <bruno@clisp.org>
43856         gethostname: Ensure declaration on NonStop Kernel.
43857         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
43858         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
43860 2010-12-24  Bruno Haible  <bruno@clisp.org>
43862         sys_select: Ensure all necessary types on NonStop Kernel.
43863         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
43864         include <sys/time.h>.
43865         * doc/posix-headers/sys_select.texi: Mention that it's missing on
43866         NonStop Kernel.
43867         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
43869 2010-12-24  Bruno Haible  <bruno@clisp.org>
43871         sys_select: Remove unneeded include.
43872         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
43873         have <sys/select.h>.
43875 2010-12-24  Bruno Haible  <bruno@clisp.org>
43877         gethostname: Provide a fallback for HOST_NAME_MAX.
43878         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
43879         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
43880         instead.
43881         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
43883 2010-12-24  Bruno Haible  <bruno@clisp.org>
43885         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
43886         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
43887         (SA_RESTART): Likewise.
43888         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
43890 2010-12-24  Bruno Haible  <bruno@clisp.org>
43892         signal: Define NSIG.
43893         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
43894         * tests/test-signal.c (nsig): New variable.
43895         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
43897 2010-12-24  Bruno Haible  <bruno@clisp.org>
43899         rename, renameat: Avoid test failures on OSF/1 5.1.
43900         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
43901         alternative error codes.
43902         * tests/test-renameat.c (main): Likewise.
43904 2010-12-24  Bruno Haible  <bruno@clisp.org>
43906         *printf: Detect large precisions bug on Solaris 10/SPARC.
43907         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
43908         by Paul Eggert.
43909         * tests/test-snprintf-posix.h (test_function): Add this test code here
43910         too.
43911         * tests/test-sprintf-posix.h (test_function): Likewise.
43912         * tests/test-vasnprintf-posix.c (test_function): Likewise.
43913         * tests/test-vasprintf-posix.c (test_function): Likewise.
43914         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
43915         around by gnulib.
43916         * doc/posix-functions/printf.texi: Likewise.
43917         * doc/posix-functions/snprintf.texi: Likewise.
43918         * doc/posix-functions/sprintf.texi: Likewise.
43919         * doc/posix-functions/vfprintf.texi: Likewise.
43920         * doc/posix-functions/vprintf.texi: Likewise.
43921         * doc/posix-functions/vsnprintf.texi: Likewise.
43922         * doc/posix-functions/vsprintf.texi: Likewise.
43923         * doc/posix-functions/dprintf.texi: Undo last commit.
43924         * doc/posix-functions/vdprintf.texi: Likewise.
43926 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
43928         tests: port test-fdutimensat.c to Solaris 8
43929         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
43930         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
43931         On Solaris 8, it fails with errno == ENOSYS, because there is no
43932         futimens (so it can't use the fd), and there is no lutimens (so it
43933         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
43935         vsnprintf: make more consistent with snprintf; doc fixes
43937         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
43938         the byte count return problem was promoted from the snprintf-posix
43939         to the snprintf module.
43940         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
43941         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
43942         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
43943         * tests/test-snprintf.c (main): Check the byte count returned.
43944         * tests/test-vsnprintf.c (main): Likewise.
43946 2010-12-23  Eric Blake  <eblake@redhat.com>
43948         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
43949         * modules/sigpipe (License): Relax license.
43951 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
43953         doc: document Solaris printf bug with large float precisions
43954         * doc/posix-functions/dprintf.texi (dprintf):
43955         * doc/posix-functions/fprintf.texi (fprintf):
43956         * doc/posix-functions/printf.texi (printf):
43957         * doc/posix-functions/snprintf.texi (snprintf):
43958         * doc/posix-functions/sprintf.texi (sprintf):
43959         * doc/posix-functions/vdprintf.texi (vdprintf):
43960         * doc/posix-functions/vfprintf.texi (vfprintf):
43961         * doc/posix-functions/vprintf.texi (vprintf):
43962         * doc/posix-functions/vsnprintf.texi (vsnprintf):
43963         * doc/posix-functions/vsprintf.texi (vsprintf):
43964         Mention that these functions mishandle large floating point
43965         precisions on Solaris 10.  The same bug is also present in Solaris
43966         8, and I assume earlier.  This causes "cd gnulib-tests; make
43967         check" to fail on Solaris 8 (and I assume, later) when building
43968         the latest coreutils, in test-vasprintf-posix's call to
43969         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
43970         the wide flavors (e.g., wprintf) so this patch just updates the
43971         documentation for the narrow ones.
43973         test-posixtm.c: add two tests
43974         * tests/test-posixtm.c: Add two tests, to highlight the
43975         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
43976         around this bug; this is merely to document it.
43978 2010-12-22  Bruno Haible  <bruno@clisp.org>
43980         getlogin_r: Work around portability problem on OSF/1.
43981         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
43982         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
43983         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
43984         test for a truncated result.
43985         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
43986         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
43987         * modules/getlogin_r (Depends-on): Add memchr.
43988         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
43990 2010-12-22  Bruno Haible  <bruno@clisp.org>
43992         ptsname: Avoid test failure on OSF/1 5.1.
43993         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
43994         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
43995         (same_slave): New function.
43996         (main): Use it to compare ptsname's result with the expected file name.
43998 2010-12-22  Bruno Haible  <bruno@clisp.org>
44000         Port extended stdio modules to HP NonStop Kernel.
44001         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
44002         macros.
44003         * lib/fbufmode.c: Update comments.
44004         * lib/fflush.c: Likewise.
44005         * lib/fpurge.c: Likewise.
44006         * lib/freadable.c: Likewise.
44007         * lib/freadahead.c: Likewise.
44008         * lib/freading.c: Likewise.
44009         * lib/freadptr.c: Likewise.
44010         * lib/freadseek.c: Likewise.
44011         * lib/fseeko.c: Likewise.
44012         * lib/fseterr.c: Likewise.
44013         * lib/fwritable.c: Likewise.
44014         * lib/fwriting.c: Likewise.
44015         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
44017 2010-12-22  Bruno Haible  <bruno@clisp.org>
44019         ttyname_r: Work around bug on OSF/1 5.1.
44020         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
44021         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
44022         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
44023         present.
44024         * lib/ttyname_r.c (ttyname_r): Update comments.
44026 2010-12-22  Bruno Haible  <bruno@clisp.org>
44028         round: Implement result sign according to IEEE 754.
44029         * lib/round.c (MIN, MINUS_ZERO): New macros.
44030         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
44031         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
44032         * tests/test-round-ieee.c (main): Likewise.
44033         * tests/test-roundl-ieee.c (main): Likewise.
44035         trunc: Implement result sign according to IEEE 754.
44036         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
44037         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
44038         * tests/test-trunc2.c: Include minus-zero.h.
44039         (MINUS_ZERO): New macro.
44040         (trunc_reference): Keep in sync with lib/trunc.c.
44041         * tests/test-truncf2.c: Include minus-zero.h.
44042         (MINUS_ZERO): New macro.
44043         (truncf_reference): Keep in sync with lib/trunc.c.
44044         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
44045         * tests/test-trunc-ieee.c (main): Likewise.
44046         * tests/test-truncl-ieee.c (main): Likewise.
44048         ceil: Implement result sign according to IEEE 754.
44049         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
44050         (FUNC): Return -0.0 for -1 < x < 0.
44051         * tests/test-ceil2.c: Include minus-zero.h.
44052         (MINUS_ZERO): New macro.
44053         (ceil_reference): Keep in sync with lib/ceil.c.
44054         * tests/test-ceilf2.c: Include minus-zero.h.
44055         (MINUS_ZERO): New macro.
44056         (ceilf_reference): Keep in sync with lib/ceil.c.
44057         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
44058         * tests/test-ceil-ieee.c (main): Likewise.
44059         * tests/test-ceill-ieee.c (main): Likewise.
44061         floor: Implement result sign according to IEEE 754.
44062         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
44063         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
44064         * tests/test-floorf2.c (floorf_reference): Likewise.
44065         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
44066         * tests/test-floor-ieee.c (main): Likewise.
44067         * tests/test-floorl-ieee.c (main): Likewise.
44069 2010-12-22  Bruno Haible  <bruno@clisp.org>
44071         getaddrinfo: Update doc.
44072         * doc/posix-functions/gai_strerror.texi: Return type is also different
44073         on AIX and HP-UX.
44075 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
44077         getaddrinfo, inet_ntop: Update doc for Solaris.
44078         * doc/posix-functions/gai_strerror.texi: Return type is also an
44079         issue on Solaris 9 and earlier.
44080         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
44081         on Solaris 10 and earlier.
44083 2010-12-21  Bruno Haible  <bruno@clisp.org>
44085         New module 'roundl-ieee'.
44086         * modules/roundl-ieee: New file.
44087         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
44088         test whether roundl works according to ISO C 99 with IEC 60559.
44089         * m4/roundl-ieee.m4: New file.
44090         * modules/roundl-ieee-tests: New file.
44091         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
44092         * tests/test-roundl.c (main): Remove signbit tests.
44093         * modules/roundl-tests (Depends-on): Remove signbit.
44094         * doc/posix-functions/roundl.texi: Mention the new module.
44096 2010-12-21  Bruno Haible  <bruno@clisp.org>
44098         New module 'truncl-ieee'.
44099         * modules/truncl-ieee: New file.
44100         * modules/truncl-ieee-tests: New file.
44101         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
44102         * tests/test-truncl.c (main): Remove signbit tests.
44103         * modules/truncl-tests (Depends-on): Remove signbit.
44104         * doc/posix-functions/truncl.texi: Mention the new module.
44106 2010-12-21  Bruno Haible  <bruno@clisp.org>
44108         New module 'ceill-ieee'.
44109         * modules/ceill-ieee: New file.
44110         * modules/ceill-ieee-tests: New file.
44111         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
44112         * tests/test-ceill.c (main): Remove signbit tests.
44113         * modules/ceill-tests (Depends-on): Remove signbit.
44114         * doc/posix-functions/ceill.texi: Mention the new module.
44116 2010-12-21  Bruno Haible  <bruno@clisp.org>
44118         New module 'floorl-ieee'.
44119         * modules/floorl-ieee: New file.
44120         * modules/floorl-ieee-tests: New file.
44121         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
44122         * tests/test-floorl.c (main): Remove signbit tests.
44123         * modules/floorl-tests (Depends-on): Remove signbit.
44124         * doc/posix-functions/floorl.texi: Mention the new module.
44126 2010-12-21  Bruno Haible  <bruno@clisp.org>
44128         New module 'round-ieee'.
44129         * modules/round-ieee: New file.
44130         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
44131         whether round works according to ISO C 99 with IEC 60559.
44132         * m4/round-ieee.m4: New file.
44133         * modules/round-ieee-tests: New file.
44134         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
44135         * tests/test-round1.c (main): Remove signbit tests.
44136         * modules/round-tests (Depends-on): Remove 'signbit'.
44137         * doc/posix-functions/round.texi: Mention the new module.
44139 2010-12-21  Bruno Haible  <bruno@clisp.org>
44141         New module 'trunc-ieee'.
44142         * modules/trunc-ieee: New file.
44143         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
44144         whether trunc works according to ISO C 99 with IEC 60559.
44145         * m4/trunc-ieee.m4: New file.
44146         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
44147         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
44148         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
44149         * modules/trunc-ieee-tests: New file.
44150         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
44151         * tests/test-trunc1.c (main): Remove signbit tests.
44152         * modules/trunc-tests (Depends-on): Remove 'signbit'.
44153         * doc/posix-functions/trunc.texi: Mention the new module.
44155 2010-12-21  Bruno Haible  <bruno@clisp.org>
44157         New module 'ceil-ieee'.
44158         * modules/ceil-ieee: New file.
44159         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
44160         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
44161         ISO C 99 with IEC 60559.
44162         * m4/ceil-ieee.m4: New file.
44163         * modules/ceil (Files): Add lib/ceil.c.
44164         (Depends-on): Add 'float'.
44165         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44166         * lib/math.in.h (ceil): New declaration.
44167         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
44168         REPLACE_CEIL.
44169         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
44170         * modules/ceil-ieee-tests: New file.
44171         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
44172         * tests/test-math-c++.cc: Check the signature of 'ceil'.
44173         * doc/posix-functions/ceil.texi: Mention the new module.
44175 2010-12-21  Bruno Haible  <bruno@clisp.org>
44177         New module 'floor-ieee'.
44178         * modules/floor-ieee: New file.
44179         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
44180         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
44181         ISO C 99 with IEC 60559.
44182         * m4/floor-ieee.m4: New file.
44183         * modules/floor (Files): Add lib/floor.c.
44184         (Depends-on): Add 'float'.
44185         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
44186         * lib/math.in.h (floor): New declaration.
44187         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
44188         REPLACE_FLOOR.
44189         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
44190         * modules/floor-ieee-tests: New file.
44191         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
44192         * tests/test-math-c++.cc: Check the signature of 'floor'.
44193         * doc/posix-functions/floor.texi: Mention the new module.
44195 2010-12-21  Bruno Haible  <bruno@clisp.org>
44197         New module 'roundf-ieee'.
44198         * modules/roundf-ieee: New file.
44199         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
44200         test whether roundf works according to ISO C 99 with IEC 60559.
44201         * m4/roundf-ieee.m4: New file.
44202         * modules/roundf-ieee-tests: New file.
44203         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
44204         * tests/test-roundf1.c (main): Remove signbit tests.
44205         * modules/roundf-tests (Depends-on): Remove 'signbit'.
44206         * doc/posix-functions/roundf.texi: Mention the new module.
44208 2010-12-21  Bruno Haible  <bruno@clisp.org>
44210         New module 'truncf-ieee'.
44211         * modules/truncf-ieee: New file.
44212         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
44213         test whether truncf works according to ISO C 99 with IEC 60559.
44214         * m4/truncf-ieee.m4: New file.
44215         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
44216         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
44217         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
44218         * modules/truncf-ieee-tests: New file.
44219         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
44220         * tests/test-truncf1.c (main): Remove signbit tests.
44221         * modules/truncf-tests (Depends-on): Remove 'signbit'.
44222         * doc/posix-functions/truncf.texi: Mention the new module.
44224 2010-12-21  Bruno Haible  <bruno@clisp.org>
44226         New module 'ceilf-ieee'.
44227         * modules/ceilf-ieee: New file.
44228         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
44229         test whether ceilf works according to ISO C 99 with IEC 60559.
44230         * m4/ceilf-ieee.m4: New file.
44231         * modules/ceilf-ieee-tests: New file.
44232         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
44233         * tests/test-ceilf1.c (main): Remove signbit tests.
44234         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
44235         * doc/posix-functions/ceilf.texi: Mention the new module.
44237 2010-12-21  Bruno Haible  <bruno@clisp.org>
44239         New module 'floorf-ieee'.
44240         * modules/floorf-ieee: New file.
44241         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
44242         test whether floorf works according to ISO C 99 with IEC 60559.
44243         * m4/floorf-ieee.m4: New file.
44244         * modules/floorf-ieee-tests: New file.
44245         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
44246         * tests/test-floorf1.c (main): Remove signbit tests.
44247         * modules/floorf-tests (Depends-on): Remove 'signbit'.
44248         * doc/posix-functions/floorf.texi: Mention the new module.
44250 2010-12-21  Bruno Haible  <bruno@clisp.org>
44252         Support for minus zero in autoconf macros.
44253         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
44254         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
44255         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
44256         * tests/minus-zero.h: Update comments.
44258 2010-12-21  Bruno Haible  <bruno@clisp.org>
44260         Tests for module 'ceil'.
44261         * modules/ceil-tests: New file.
44262         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
44263         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
44265 2010-12-21  Bruno Haible  <bruno@clisp.org>
44267         Tests for module 'floor'.
44268         * modules/floor-tests: New file.
44269         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
44270         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
44272 2010-12-21  Bruno Haible  <bruno@clisp.org>
44274         math: Fix indentation.
44275         * lib/math.in.h (floorf): Fix indentation.
44277 2010-12-21  Bruno Haible  <bruno@clisp.org>
44279         Fix cross-compilation guesses on Solaris.
44280         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
44281         not match "solaris2.10".
44282         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
44283         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
44284         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
44286 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
44288         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
44289         This fixes a problem observed with the latest coreutils snapshot
44290         that caused a test to fail on Solaris 8.  src/csplit.c's call
44291         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
44292         earlier, instead of returning the number of bytes that would have
44293         been generated; this causes csplit to incorrectly report memory
44294         exhaustion.
44295         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
44296         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
44297         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
44298         comments to match.
44299         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
44300         Fix typo in matching older versions of Solaris: "solaris2.10"
44301         is matched by the shell pattern "solaris2.[0-9]*".  This matters
44302         only for guessing while cross-compiling.
44303         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
44305 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
44307         ftoastr: fix comment again
44308         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
44309         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
44310         Also, simplify example a bit by using flags = 0.
44312 2010-12-20  Bruno Haible  <bruno@clisp.org>
44314         round*, trunc*: Update documentation regarding glibc.
44315         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
44316         * doc/posix-functions/round.texi: Likewise.
44317         * doc/posix-functions/roundl.texi: Likewise.
44318         * doc/posix-functions/truncf.texi: Likewise.
44319         * doc/posix-functions/trunc.texi: Likewise.
44320         * doc/posix-functions/truncl.texi: Likewise.
44322 2010-12-20  Bruno Haible  <bruno@clisp.org>
44324         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
44325         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
44326         * doc/posix-functions/round.texi: Likewise.
44327         * doc/posix-functions/roundl.texi: Likewise.
44329 2010-12-20  Bruno Haible  <bruno@clisp.org>
44331         ttyname_r: Add missing declaration on HP-UX 11.
44332         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
44333         HAVE_TTYNAME_R.
44334         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
44335         declared. Set HAVE_TTYNAME_R always.
44336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44337         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
44338         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
44339         HAVE_TTYNAME_R.
44340         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
44342 2010-12-20  Bruno Haible  <bruno@clisp.org>
44344         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
44345         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
44346         * doc/posix-functions/getlogin_r.texi: Likewise.
44347         * tests/test-getlogin.c: Include <errno.h>.
44348         (main): Avoid test failure on HP-UX 11.11.
44349         * tests/test-getlogin_r.c (main): Likewise.
44351 2010-12-20  Bruno Haible  <bruno@clisp.org>
44353         getlogin_r: Add missing declaration on HP-UX 11.
44354         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
44355         declared also when it exists as a function.
44356         * doc/posix-functions/getlogin_r.texi: Document this workaround.
44358 2010-12-20  Bruno Haible  <bruno@clisp.org>
44360         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
44361         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
44362         through wcrtomb.
44364 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
44366         ftoastr: fix comment
44367         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
44368         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
44370 2010-12-19  Bruno Haible  <bruno@clisp.org>
44372         isnan: Ensure it is a macro.
44373         * lib/math.in.h (isnan): Define as a macro if not already a macro.
44374         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
44375         Solaris.
44377 2010-12-19  Bruno Haible  <bruno@clisp.org>
44379         ldexpl test: Fix link error on OSF/1 5.1.
44380         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
44382 2010-12-19  Bruno Haible  <bruno@clisp.org>
44384         wctype: Make it work in C++ mode on OSF/1 5.1.
44385         * lib/wctype.in.h (iswblank): Declare but not define here.
44386         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
44387         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
44388         * modules/wctype (Files): Add lib/iswblank.c.
44390 2010-12-19  Bruno Haible  <bruno@clisp.org>
44392         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
44393         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
44394         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
44396 2010-12-19  Bruno Haible  <bruno@clisp.org>
44398         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
44399         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
44400         _POSIX_PII_SOCKET.
44401         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
44402         * doc/posix-functions/recvfrom.texi: Likewise.
44403         * doc/posix-functions/send.texi: Likewise.
44404         * doc/posix-functions/sendto.texi: Likewise.
44406 2010-12-19  Bruno Haible  <bruno@clisp.org>
44408         tcgetsid: Add missing declaration on OSF/1 5.1.
44409         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
44410         HAVE_TCGETSID.
44411         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
44412         Don't set HAVE_TCGETSID.
44413         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
44414         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
44415         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
44416         HAVE_TCGETSID.
44417         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
44419 2010-12-19  Bruno Haible  <bruno@clisp.org>
44421         stdio: Fix problem with popen() declaration on OSF/1 5.1.
44422         * lib/stdio.in.h: During the include_next statement, let recursive
44423         includes of this file include only the system header file.
44425 2010-12-19  Bruno Haible  <bruno@clisp.org>
44427         iconv_open: Fix regression from 2010-12-04.
44428         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
44429         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
44431 2010-12-19  Bruno Haible  <bruno@clisp.org>
44433         stdbool test: Avoid a gcc warning.
44434         * tests/test-stdbool.c (main): Fail if e1 is false.
44435         Reported by Jim Meyering.
44437 2010-12-19  Jim Meyering  <meyering@redhat.com>
44439         setenv: restore to working order
44440         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
44441         mistakenly removed.
44442         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
44443         HAVE_SETENV.
44444         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
44445         HAVE_SETENV.
44447 2010-12-19  Bruno Haible  <bruno@clisp.org>
44449         Document some different function declarations on OSF/1 5.1.
44450         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
44451         * doc/posix-functions/inet_ntop.texi: Likewise.
44452         * doc/posix-functions/gethostname.texi: Likewise.
44453         * lib/unistd.in.h (gethostname): Update comment.
44455 2010-12-19  Bruno Haible  <bruno@clisp.org>
44457         doc: Mention vasprintf-posix module.
44458         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
44459         the 'vasprintf-posix' module.
44460         * doc/glibc-functions/vasprintf.texi: Likewise.
44462 2010-12-19  Bruno Haible  <bruno@clisp.org>
44464         unsetenv: Add missing declaration on OSF/1 5.1.
44465         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
44466         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
44467         Don't set HAVE_UNSETENV. In the test program, set _BSD.
44468         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
44469         not HAVE_UNSETENV.
44470         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
44471         HAVE_UNSETENV.
44472         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
44474 2010-12-19  Bruno Haible  <bruno@clisp.org>
44476         setenv: Add missing declaration on OSF/1 5.1.
44477         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
44478         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
44479         declared. Don't set HAVE_SETENV.
44480         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
44481         not HAVE_SETENV.
44482         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
44483         HAVE_SETENV.
44484         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
44486 2010-12-19  Bruno Haible  <bruno@clisp.org>
44488         nl_langinfo tests: Avoid gcc warning.
44489         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
44491 2010-12-19  Bruno Haible  <bruno@clisp.org>
44493         mknod: Avoid error in C++ mode on OSF/1 with GCC.
44494         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
44495         _GL_CXXALIAS_SYS.
44497 2010-12-19  Bruno Haible  <bruno@clisp.org>
44499         stdbool: Relax test.
44500         * tests/test-stdbool.c (e): Don't require that casts from a variable's
44501         address to 'bool' work in static initializer, for compilers other than
44502         GCC.
44504 2010-12-19  Bruno Haible  <bruno@clisp.org>
44506         ftello: Add missing declaration on OSF/1 5.1.
44507         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
44508         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
44509         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
44510         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
44511         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
44513 2010-12-19  Bruno Haible  <bruno@clisp.org>
44515         fseeko: Add missing declaration on OSF/1 5.1.
44516         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
44517         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
44518         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
44519         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
44520         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
44522 2010-12-19  Bruno Haible  <bruno@clisp.org>
44524         fchdir: Add missing declaration on OSF/1 5.1.
44525         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
44526         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
44527         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
44528         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
44529         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
44531 2010-12-19  Bruno Haible  <bruno@clisp.org>
44533         relocatable-prog-wrapper: Separate from relocatable-prog.
44534         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
44535         uninstall-relocwrapper rule here.
44536         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
44537         Reported by Ian Beckwith <ianb@erislabs.net>.
44539 2010-12-19  Bruno Haible  <bruno@clisp.org>
44541         unistr/u8-mbsnlen: Add missing dependency.
44542         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
44543         Reported by Ian Beckwith <ianb@erislabs.net>.
44545 2010-12-19  Bruno Haible  <bruno@clisp.org>
44547         iconv: Make it possible again to use this module without 'iconv-h'.
44548         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
44549         if it is not defined.
44550         Reported by Ian Beckwith <ianb@erislabs.net>.
44552 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44554         acl: port to Solaris 8 when copying from tmpfs to ufs
44555         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
44556         error number.  Problem observed on Solaris 8 with latest
44557         coreutils, with "mv A B", where A is on a tmpfs file system and B
44558         is on a ufs file system.  This caused coreutils' mv/part-symlink
44559         test to fail.
44561         tests: set fail=0 at start
44562         * tests/init.sh (setup_): Move fail=0 initialization here ...
44563         (mktempd_): ... from here, so that tests can rely on fail being
44564         set to 0 initially.  This fixes a problem in coreutils; see:
44565         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
44567 2010-12-18  Bruno Haible  <bruno@clisp.org>
44569         memmem-simple: Stylistic changes.
44570         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
44571         Fix preprocessor directive indentation.
44573 2010-12-15  Pádraig Brady  <P@draigBrady.com>
44575         memmem, memmem-simple: reorganize and expand empty needle check
44576         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
44577         functional checks to memmem-simple so that one has a fully functional
44578         memmem by using just this module.
44579         Restrict the performance only check to the memmem module.
44580         Also expand the empty needle check to ensure the correct
44581         pointer is returned, not just a non NULL pointer.
44582         * doc/glibc-functions/memmem.texi: Rearrange the portability
44583         documentation to correlate with the rearranged checks.
44584         Clarify exactly how the memmem and memmem-simple modules
44585         relate to each other.
44587 2010-12-15  Pádraig Brady  <P@draigBrady.com>
44588             Bruno Haible  <bruno@clisp.org>
44590         Improve cross-compilation guesses for uClibc.
44591         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
44592         that uClibc does not have the glibc bug.
44593         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
44594         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
44596 2010-12-14  Eric Blake  <eblake@redhat.com>
44598         configmake: provide fallbacks for oldest supported autotools
44599         * m4/configmake.m4: New file.
44600         * modules/configmake (Files): Ship it.
44601         (configure.ac): Use it to guarantee fallbacks.
44603 2010-12-13  Pádraig Brady  <P@draigBrady.com>
44605         read-file: Improve handling of large files
44606         * lib/read-file.c (fread_file): Minimize realloc()s
44607         for regular files, and better manage sizes around SIZE_MAX.
44609 2010-12-13  Eric Blake  <eblake@redhat.com>
44611         cloexec, fcntl: relax license
44612         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
44613         consent from all contributors.
44614         * modules/fcntl (License): Likewise.
44616 2010-12-10  Bruno Haible  <bruno@clisp.org>
44618         Tests for module 'pipe-posix'.
44619         * modules/pipe-posix-tests: New file.
44620         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
44622 2010-12-10  Bruno Haible  <bruno@clisp.org>
44624         pipe-posix: Make it work in C++ mode.
44625         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
44626         (pipe): Use common idiom, not a macro definition.
44627         * lib/pipe.c: New file.
44628         * m4/pipe.m4: New file.
44629         * modules/pipe-posix (Description): Enhance.
44630         (Files): Add lib/pipe.c, m4/pipe.m4.
44631         (configure.ac): Invoke gl_FUNC_PIPE.
44632         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
44633         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
44634         * tests/test-unistd-c++.cc: Check the signature of pipe.
44636 2010-12-10  Bruno Haible  <bruno@clisp.org>
44638         Rename module 'pipe' to 'spawn-pipe'.
44639         * modules/spawn-pipe: New file, renamed from modules/pipe.
44640         (Files, configure.ac, Makefile.am): Update.
44641         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
44642         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
44643         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
44644         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
44645         "spawn-pipe.h" instead of "pipe.h".
44646         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
44647         to gl_SPAWN_PIPE.
44648         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
44649         (Files, Makefile.am): Update.
44650         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
44651         Update.
44652         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
44653         Include "spawn-pipe.h" instead of "pipe.h".
44654         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
44655         * lib/javacomp.c: Likewise.
44656         * lib/javaversion.c: Likewise.
44657         * lib/pipe-filter-gi.c: Likewise.
44658         * lib/pipe-filter-ii.c: Likewise.
44659         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
44660         * modules/javacomp (Depends-on): Likewise.
44661         * modules/javaversion (Depends-on): Likewise.
44662         * modules/pipe-filter-gi (Depends-on): Likewise.
44663         * modules/pipe-filter-ii (Depends-on): Likewise.
44664         * MODULES.html.sh (Executing programs): Update.
44665         * NEWS: Mention the change.
44667 2010-12-10  Eric Blake  <eblake@redhat.com>
44669         pipe-posix: new module
44670         * modules/pipe-posix: New file.
44671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
44672         (gl_UNISTD_H): Check for declaration.
44673         * modules/unistd (Makefile.am): Substitute it.
44674         * lib/unistd.in.h (pipe): Provide it for mingw.
44675         * doc/posix-functions/pipe.texi (pipe): Update documentation.
44676         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
44678 2010-12-07  Bruno Haible  <bruno@clisp.org>
44680         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
44681         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
44682         u8_strcmp_gnu.
44683         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
44685 2010-12-06  Bruno Haible  <bruno@clisp.org>
44687         Update internal documentation.
44688         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
44690 2010-12-04  Bruno Haible  <bruno@clisp.org>
44692         Put more information about failed tests into the test return codes.
44693         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
44694         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
44695         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
44696         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
44697         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
44698         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
44699         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
44700         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
44701         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
44702         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44703         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
44704         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
44705         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
44706         * m4/stdint.m4 (gl_STDINT_H): Likewise.
44707         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
44708         returns a bit mask.
44709         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
44710         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
44711         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
44712         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
44713         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
44714         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
44715         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
44716         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
44717         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
44718         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
44719         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44720         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
44721         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
44722         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
44723         * m4/link.m4 (gl_FUNC_LINK): Likewise.
44724         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44725         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
44726         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
44727         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44728         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
44729         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44730         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
44731         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
44732         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
44733         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
44734         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
44735         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
44736         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
44737         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
44738         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
44739         gl_PRINTF_PRECISION): Likewise.
44740         * m4/regex.m4 (gl_REGEX): Likewise.
44741         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
44742         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
44743         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
44744         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44745         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
44746         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44747         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
44748         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
44749         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44750         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
44751         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44752         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
44753         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
44754         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
44755         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44756         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
44757         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
44758         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
44759         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44760         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
44761         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
44762         enumerated value.
44763         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
44765 2010-12-04  Bruno Haible  <bruno@clisp.org>
44767         Update for Solaris 11 2010-11.
44768         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
44769         Express, released in November 2010.
44771 2010-12-04  Bruno Haible  <bruno@clisp.org>
44773         nproc: Relax license.
44774         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
44775         and Paul Eggert.
44776         Requested by Ludovic Courtès <ludo@gnu.org>.
44778 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
44780         utimecmp: fine-grained src to nearby coarse-grained dest
44782         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
44783         and the source is on a file system with higher-resolution time
44784         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
44785         not work, and the time stamps are close together, the algorithm to
44786         determine the exact resolution from the read-back mtime was buggy:
44787         it had a "!=" where it should have had an "==".  This bug has been
44788         in the code ever since it was introduced to gnulib.
44789         Problem reported by Dan Jacobson in
44790         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
44792 2010-11-30  Bruno Haible  <bruno@clisp.org>
44794         strerror_r-posix: Fix autoconf test.
44795         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
44797 2010-11-28  Bruno Haible  <bruno@clisp.org>
44798             Paul Eggert  <eggert@cs.ucla.edu>
44800         Tests for module 'getdomainname'.
44801         * modules/getdomainname-tests: New file.
44802         * tests/test-getdomainname.c: New file, based on
44803         tests/test-gethostname.c.
44805 2010-11-28  Bruno Haible  <bruno@clisp.org>
44806             Paul Eggert  <eggert@cs.ucla.edu>
44808         getdomainname: Use the system function when possible.
44809         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
44810         (getdomainname): Replace if needed. Provide the declaration if it is
44811         missing. Don't use _GL_CXXALIAS_SYS_CAST.
44812         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
44813         (getdomainname): When the system has getdomainname, call the system
44814         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
44815         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
44816         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
44817         found in libnsl. Look for the declaration also in <netdb.h>. Replace
44818         the function if its second argument is of type 'int' or if it is found
44819         in libnsl.
44820         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
44821         <sys/systeminfo.h> and sysinfo().
44822         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
44823         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44824         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
44825         HAVE_GETDOMAINNAME.
44826         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
44827         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
44828         * doc/glibc-functions/getdomainname.texi: Document the problems with
44829         the getdomainname declaration.
44831 2010-11-28  Bruno Haible  <bruno@clisp.org>
44833         sys_socket: Ensure ss_family field on AIX.
44834         * lib/sys_socket.in.h (ss_family): New macro definition.
44835         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
44836         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
44837         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
44838         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
44839         * modules/sys_socket (Makefile.am): Substitute
44840         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
44841         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
44843 2010-11-27  Bruno Haible  <bruno@clisp.org>
44845         readline: Improve configure output.
44846         * m4/readline.m4 (gl_FUNC_READLINE): Make the
44847         "checking for readline..." result understandable.
44849 2010-11-27  Bruno Haible  <bruno@clisp.org>
44851         *printf-posix: Detect a bug on Solaris 10/x86.
44852         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
44853         for floating-point output.
44854         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
44855         directive.
44856         * tests/test-snprintf-posix.h (test_function): Likewise.
44857         * tests/test-sprintf-posix.h (test_function): Likewise.
44858         * tests/test-vasprintf-posix.c (test_function): Likewise.
44859         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
44860         * doc/posix-functions/printf.texi: Likewise.
44861         * doc/posix-functions/snprintf.texi: Likewise.
44862         * doc/posix-functions/sprintf.texi: Likewise.
44863         * doc/posix-functions/vfprintf.texi: Likewise.
44864         * doc/posix-functions/vprintf.texi: Likewise.
44865         * doc/posix-functions/vsnprintf.texi: Likewise.
44866         * doc/posix-functions/vsprintf.texi: Likewise.
44867         * doc/glibc-functions/obstack_printf.texi: Likewise.
44868         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
44870 2010-11-27  Bruno Haible  <bruno@clisp.org>
44872         Fix link error when module libunistring-optional is in use.
44873         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
44874         * modules/striconveha-tests (Makefile.am): Likewise.
44876 2010-11-27  Bruno Haible  <bruno@clisp.org>
44878         regex: Mention link dependencies.
44879         * modules/regex (Link): New section.
44880         * modules/rpmatch (Link): Likewise.
44881         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
44883 2010-11-27  Bruno Haible  <bruno@clisp.org>
44885         ftoastr: Fix compilation error on Solaris.
44886         * lib/ftoastr.c: Include <config.h>.
44888 2010-11-27  Bruno Haible  <bruno@clisp.org>
44890         getloadavg: Update documentation.
44891         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
44893 2010-11-27  Bruno Haible  <bruno@clisp.org>
44895         sys_socket: Fix test whether the functions are declared.
44896         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
44897         not <sys/select.h>.
44899 2010-11-27  Bruno Haible  <bruno@clisp.org>
44901         getpass: Make sure to get system declaration on some platforms.
44902         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
44903         gl_USE_SYSTEM_EXTENSIONS.
44904         * modules/getpass (Depends-on): Add extensions.
44906 2010-11-26  Bruno Haible  <bruno@clisp.org>
44908         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
44909         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
44910         'iconv' module is present.
44911         (ICONV_CONST): New macro.
44912         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
44913         ICONV_CONST.
44914         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
44915         set ICONV_CONST.
44916         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
44917         here.
44918         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
44919         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
44920         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
44921         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
44922         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
44923         present.
44925 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
44927         ftoastr: comment fix
44928         * lib/ftoastr.c: "little" -> "little or no" in comment
44930 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
44932         stdint: port to GCC 4.3 + OSX + Octave
44933         On this platform, stdint.h is buggy and defines int64_t to long
44934         long int.  The replacement defined it to long int, causing
44935         problems with C++ style name mangling.  Instead, trust the system
44936         definition if INT64_MAX is defined, and likewise for the unsigned
44937         variant.   Problem reported by Jarno Rajahalme in
44938         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
44939         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
44940         and don't mess with int64_t and INT64_MAX in this case.
44941         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
44943 2010-11-24  Bruno Haible  <bruno@clisp.org>
44945         doc: Corrections regarding MacOS X 10.4 and 10.5.
44946         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
44947         MacOS X.
44948         Reported by Simon Josefsson.
44950 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
44952         Uninstall ".bin" files installed by relocwrapper.
44953         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
44954         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
44955         unless it is already there.
44957 2010-11-21  Bruno Haible  <bruno@clisp.org>
44959         Update for NetBSD 5.0.
44960         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
44961         NetBSD; the test fails on NetBSD 5.0.
44962         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
44963         about NetBSD.
44965 2010-11-21  Bruno Haible  <bruno@clisp.org>
44967         Update for HP-UX 11.23 and HP-UX 11.31.
44968         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
44969         HP-UX.
44971 2010-11-21  Bruno Haible  <bruno@clisp.org>
44973         Update for MacOS X 10.5.
44974         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
44975         MacOS X; the test fails on MacOS X 10.5.8.
44976         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
44977         about MacOS X.
44979 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
44981         bootstrap: add bootstrap_sync option.
44982         See discussion at
44983         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
44984         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
44985         * build-aux/bootstrap: Accept --bootstrap-sync to update
44986         bootstrap if it is not identical to the local gnulib's
44987         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
44988         enable this by default.  Accept --no-bootstrap-sync to disable
44989         it.
44991 2010-11-20  Bruno Haible  <bruno@clisp.org>
44993         Ensure that <features.h> is included before __GLIBC__ is tested.
44994         * lib/printf-parse.h: Include <features.h>.
44995         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
44996         Reported by Mike Frysinger <vapier@gentoo.org>.
44998         Ensure that <features.h> is included before __GLIBC__ is tested.
44999         * lib/wchar.in.h: Include <features.h>.
45000         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
45001         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
45002         Reported by Mike Frysinger <vapier@gentoo.org>.
45004         Ensure that <features.h> is included before __GLIBC__ is tested.
45005         * lib/arpa_inet.in.h: Include <features.h>.
45006         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
45007         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
45008         Reported by Mike Frysinger <vapier@gentoo.org>.
45010         Ensure that <features.h> is included before __GLIBC__ is tested.
45011         * build-aux/link-warning.h: Include <features.h>.
45012         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
45013         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
45014         Reported by Mike Frysinger <vapier@gentoo.org>.
45016         Ensure that <features.h> is included before __GLIBC__ is tested.
45017         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
45018         Reported by Mike Frysinger <vapier@gentoo.org>.
45020 2010-11-20  Bruno Haible  <bruno@clisp.org>
45022         memmem: Fix autoconf test.
45023         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
45025 2010-11-20  Bruno Haible  <bruno@clisp.org>
45027         Port to uClibc.
45028         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
45029         * lib/fcntl.in.h: Likewise.
45030         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
45031         * lib/mbrtowc.c (mbrtowc): Likewise.
45032         * lib/relocatable.c (find_shared_library_fullname): Likewise.
45033         * lib/strerror_r.c: Likewise.
45034         * lib/unistr/u8-strnlen.c: Likewise.
45035         * lib/vasnprintf.c (decimal_point_char): Likewise.
45036         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
45037         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
45038         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45039         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
45040         * tests/test-sigaction.c (handler, main): Likewise.
45041         * lib/freading.h: Treat uClibc like a non-glibc platform.
45042         * lib/freading.c: Likewise.
45043         * lib/gettext.h: Likewise.
45044         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
45045         Likewise.
45046         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
45047         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
45048         * lib/propername.c (proper_name_utf8): Likewise.
45049         * lib/spawn.in.h: Likewise.
45050         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
45051         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
45052         mem_cd_iconveh_internal): Likewise.
45053         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
45054         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
45055         strstr, strcasestr): Likewise.
45056         * lib/unicodeio.c (unicode_to_mb): Likewise.
45057         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
45058         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
45059         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
45060         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
45061         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
45062         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
45063         * lib/unistr/u8-stpncpy.c: Likewise.
45064         * lib/vasnprintf.c (VASNPRINTF): Likewise.
45065         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
45066         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
45067         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45068         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
45069         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
45070         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
45071         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
45072         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
45073         Likewise.
45074         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
45075         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
45076         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
45077         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45078         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
45079         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
45080         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
45081         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
45082         * tests/test-getopt.h (OPTIND_MIN): Likewise.
45083         * tests/test-striconveha.c (main): Likewise.
45084         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45085         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
45086         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
45087         * doc/posix-functions/getline.texi: Likewise.
45088         Reported by Mike Frysinger <vapier@gentoo.org>.
45090 2010-11-20  Bruno Haible  <bruno@clisp.org>
45092         nproc: Fix condition.
45093         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
45094         HAVE_PTHREAD_AFFINITY_NP.
45096 2010-11-20  Bruno Haible  <bruno@clisp.org>
45098         Fix a comment.
45099         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
45101 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
45103         ftoastr: don't assume snprintf
45104         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
45105         Implement a subset of snprintf here, by using sprintf safely.
45106         * modules/ftoastr (Depends-on): Remove snprintf.
45108 2010-11-19  Jim Meyering  <meyering@redhat.com>
45110         test-rename.h: fix compilation failure
45111         * tests/test-rename.h (test_rename): Add omitted "}".
45113 2010-11-17  Jim Meyering  <meyering@redhat.com>
45115         maint.mk: add a URL discussing the no-@acronym policy
45116         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
45118 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
45120         ftoastr: depend on snprintf, improve comments
45121         * lib/ftoastr.c: Also mention Loitsch's draft.
45122         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
45123         needed in the current implementation, but it might simplify
45124         speeding up the code later.
45125         * modules/ftoastr: Depend on snprintf; this improves portability.
45126         Suggested by Bruno Haible in the same email.
45128         ftoastr: port to hosts lacking strtof and strtold
45129         Problem reported by Bruno Haible in
45130         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
45131         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
45132         environment and strtold (and presumably strtof) are not available.
45133         * modules/ftoastr (Files): Add m4/c-strtod.m4.
45134         (configure.ac): Require gl_C99_STRTOLD.
45136 2010-11-18  Bruno Haible  <bruno@clisp.org>
45138         c-strtold: Avoid link error on AIX 7.
45139         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
45140         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
45141         (gl_C_STRTOLD): Test whether strtold_l exists.
45142         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45144 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45146         intprops: new macro INT_BITS_STRLEN_BOUND
45147         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
45148         ftoastr.h.  This exposes an internal of intprops.h that was formerly
45149         not exposed.  Also, it uses a slightly tighter bound than before;
45150         though this makes no practical difference, we might as well be as
45151         tight as we easily can.
45153         ftoastr: new module, for lossless conversion of floats to short strings
45154         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
45155         * modules/ftoastr: New files.
45157 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
45159         bootstrap: port to Solaris sed
45160         * build-aux/bootstrap (get_version): Port to Solaris sed.
45161         See Ralf Wildenhues's note in
45162         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
45164 2010-11-14  Jim Meyering  <meyering@redhat.com>
45166         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
45167         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
45168         and move definition closer to sole use.
45170 2010-11-13  Jim Meyering  <meyering@redhat.com>
45172         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
45173         Now we require at least autoconf-2.59, which means the work-around
45174         is no longer needed.
45175         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
45176         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45177         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
45178         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
45179         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
45181 2010-11-13  Bruno Haible  <bruno@clisp.org>
45183         rename, renameat: Avoid test failures at NFS mounted locations.
45184         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
45185         functions.
45186         (test_rename): Use assert_nonexistent.
45187         * tests/test-rename.c: Include <dirent.h>.
45188         * tests/test-renameat.c: Likewise.
45189         Reported by Gary V. Vaughan <gary@gnu.org>.
45191         rename, renameat: Document Linux bug with NFS
45192         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
45193         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
45194         * doc/posix-functions/renameat.texi: Likewise.
45195         Suggested by Eric Blake.
45197 2010-11-13  Bruno Haible  <bruno@clisp.org>
45199         rename test: Add comments.
45200         * tests/test-rename.h (test_rename): Add structure and comments.
45202 2010-11-13  Eric Blake  <eblake@redhat.com>
45204         maintainer-makefile: cover a few more files
45205         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
45206         scripts generated within C files, for libvirt.
45208 2010-11-13  Bruno Haible  <bruno@clisp.org>
45210         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
45211         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
45212         character, return the number of bytes that belong together, not always
45213         1.
45214         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
45215         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
45216         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
45217         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
45218         number of bytes of an invalid character.
45219         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
45220         (main): Invoke it.
45221         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
45222         results.
45223         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
45224         malformed byte sequences.
45225         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
45226         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
45227         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
45228         Reported by Ben Pfaff and Paolo Bonzini.
45230 2010-11-13  Bruno Haible  <bruno@clisp.org>
45232         openat: Work around glibc bug with fchownat() and empty file names.
45233         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
45234         (gl_FUNC_FCHOWNAT): Invoke it.
45235         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
45236         * doc/posix-functions/fchownat.texi: Document the glibc bug.
45237         Reported by Gary V. Vaughan <gary@gnu.org>.
45239 2010-11-13  Bruno Haible  <bruno@clisp.org>
45241         openat: Ensure autoconf macro ordering.
45242         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
45243         gl_USE_SYSTEM_EXTENSIONS.
45244         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
45246 2010-11-13  Bruno Haible  <bruno@clisp.org>
45248         Update comments.
45249         * lib/unistr/u8-check.c: Update file name in comments.
45250         * lib/unistr/u8-mblen.c: Likewise.
45251         * lib/unistr/u8-prev.c: Likewise.
45252         * lib/unistr/u8-strmblen.c: Likewise.
45253         * lib/unistr/u8-strmbtouc.c: Likewise.
45255 2010-11-13  Jim Meyering  <meyering@redhat.com>
45257         tests: avoid test failure on Solaris 10 due to lack of PATH export
45258         * tests/test-update-copyright.sh: Don't forget to export PATH.
45260         init.sh: ensure that IFS is defined, just in case...
45261         * tests/init.sh (setup_): Ensure that IFS is defined,
45262         so that saving and restoring it works as expected.  This
45263         appears to be useful at least for an old version of dash
45264         from a long time ago (RH 6).  See here for details:
45265         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
45267         maint.mk: tighten "test a == b" check
45268         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
45269         test to files that contain something like #!/bin/sh.
45270         Without this, coreutils would get two false positives in
45271         the comments of C source files.
45273 2010-11-12  Eric Blake  <eblake@redhat.com>
45275         bootstrap: fix typo in previous attempt
45276         * build-aux/bootstrap (buildreq): Correct the grouping.
45277         Reported by Paul Eggert.
45279         maintainer-makefile: prohibit test x == x
45280         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
45281         Based on a report by Matthias Bolte.
45283         bootstrap: allow FreeBSD gzip
45284         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
45285         which has no '.' and goes to stderr.
45286         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
45287         Reported by Matthias Bolte.
45289         maintainer-makefile: check for i18n setup
45290         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
45291         will likely work.
45293 2010-11-12  Bruno Haible  <bruno@clisp.org>
45295         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
45296         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
45297         * lib/nanosleep.c (nanosleep): Likewise.
45299 2010-11-11  Bruno Haible  <bruno@clisp.org>
45301         fcntl-h: Fix for use of C++ on glibc systems.
45302         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
45303         also on glibc systems in C++ mode.
45304         Reported by Gary V. Vaughan <gary@gnu.org>.
45306 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
45308         mknod: avoid false failure with dash
45309         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
45311 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
45313         unlink: Fix "is it should" typo in diagnostic.
45314         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
45315         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
45317 2010-11-11  Bruno Haible  <bruno@clisp.org>
45319         Tests for module 'strerror_r-posix'.
45320         * modules/strerror_r-posix-tests: New file.
45321         * tests/test-strerror_r.c: New file.
45322         * tests/test-string-c++.cc: Check the signature of strerror_r.
45324         New module 'strerror_r-posix'.
45325         * lib/string.in.h (strerror_r): New declaration.
45326         * lib/strerror_r.c: New file.
45327         * m4/strerror_r.m4: New file.
45328         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
45329         of strerror_r.
45330         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
45331         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
45332         * modules/strerror_r-posix: New file.
45333         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
45334         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
45335         * doc/posix-functions/strerror_r.texi: Mention the new module and the
45336         portability problems.
45338 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
45340         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
45341         line is also considered for output. Quoted function name in shell
45342         command, so temporary files for functions like MyClass::operator()
45343         are removed correctly without errors.
45345 2010-11-09  Bruno Haible  <bruno@clisp.org>
45347         * doc/posix-functions/strerror.texi: List more failing platforms.
45349         * doc/posix-functions/strerror.texi: Add a comment.
45351 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
45353         fdopendir: fix bug on MacOS X when low on file descriptors
45355         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
45356         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
45357         All callers changed.
45358         (fdopendir): Invoke save_cwd at the top level, not after using
45359         multiple dup() calls to use up file descriptors.  Then retry
45360         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
45361         less than the maximum number of open file descriptors, because
45362         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
45363         on Mac OS X 10.6.4 for tar 1.24
45364         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
45365         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
45366         and for tar 1.25
45367         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
45369 2010-11-07  Bruno Haible  <bruno@clisp.org>
45371         vasnprintf: Support I flag on glibc systems.
45372         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
45373         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
45374         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
45375         snprintf function.
45376         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
45377         glibc systems.
45378         * tests/test-vasnprintf-posix3.c: New file.
45379         * modules/vasnprintf-posix-tests (Files): Add it.
45380         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
45382 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
45384         [html] Fix copy/paste bug: Use unique name for compiler warnings.
45385         * MODULES.html.sh: For compiler warnings, use name
45386         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
45388 2010-11-05  Eric Blake  <eblake@redhat.com>
45390         ceil, floor: avoid spurious failure with icc
45391         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
45392         [denormals-as-zero] when optimizing without -mieee-fp option.
45393         * tests/test-floorf2.c (floorf_reference): Likewise.
45394         * tests/test-ceilf1.c (dummy): New function.
45395         (main): Use it to outsmart icc's optimization.
45396         * tests/test-floorf1.c (dummy, main): Likewise.
45398         tests: require working signbit
45399         * modules/ceilf-tests (Depends-on): Add signbit.
45400         * modules/ceill-tests (Depends-on): Likewise.
45401         * modules/floorf-tests (Depends-on): Likewise.
45402         * modules/floorl-tests (Depends-on): Likewise.
45403         * modules/round-tests (Depends-on): Likewise.
45404         * modules/roundf-tests (Depends-on): Likewise.
45405         * modules/roundl-tests (Depends-on): Likewise.
45406         * modules/trunc-tests (Depends-on): Likewise.
45407         * modules/truncf-tests (Depends-on): Likewise.
45408         * modules/truncl-tests (Depends-on): Likewise.
45410         strtod: work around icc bug
45411         * lib/strtod.c (minus_zero): Define to working value.
45412         (strtod): Use it to avoid icc bug.
45414         copysign: enhance tests
45415         * modules/copysign-tests (Files): Add minus-zero.h.
45416         * tests/test-copysign.c (main): Also test zeros.
45418 2010-11-04  Eric Blake  <eblake@redhat.com>
45420         ceil, floor, round, trunc: enhance tests of -0
45421         * tests/test-ceilf1.c (main): Ensure correct sign of result.
45422         * tests/test-ceill.c (main): Likewise.
45423         * tests/test-floorf1.c (main): Likewise.
45424         * tests/test-floorl.c (main): Likewise.
45425         * tests/test-round1.c (main): Likewise.
45426         * tests/test-roundf1.c (main): Likewise.
45427         * tests/test-roundl.c (main): Likewise.
45428         * tests/test-trunc1.c (main): Likewise.
45429         * tests/test-truncf1.c (main): Likewise.
45430         * tests/test-truncl.c (main): Likewise.
45432 2010-11-04  Eric Blake  <eblake@redhat.com>
45434         frexp, tests: work around ICC bug with -zero
45435         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
45436         works with more compilers.
45437         * tests/minus-zero.h: New file.
45438         * modules/ceilf-tests (Files): Include it.
45439         * modules/ceill-tests (Files): Likewise.
45440         * modules/floorf-tests (Files): Likewise.
45441         * modules/floorl-tests (Files): Likewise.
45442         * modules/frexp-nolibm-tests (Files): Likewise.
45443         * modules/frexp-tests (Files): Likewise.
45444         * modules/frexpl-nolibm-tests (Files): Likewise.
45445         * modules/frexpl-tests (Files): Likewise.
45446         * modules/isnan-tests (Files): Likewise.
45447         * modules/isnand-nolibm-tests (Files): Likewise.
45448         * modules/isnand-tests (Files): Likewise.
45449         * modules/isnanf-nolibm-tests (Files): Likewise.
45450         * modules/isnanf-tests (Files): Likewise.
45451         * modules/isnanl-nolibm-tests (Files): Likewise.
45452         * modules/isnanl-tests (Files): Likewise.
45453         * modules/round-tests (Files): Likewise.
45454         * modules/roundf-tests (Files): Likewise.
45455         * modules/roundl-tests (Files): Likewise.
45456         * modules/ldexpl-tests (Files): Likewise.
45457         * modules/signbit-tests (Files): Likewise.
45458         * modules/snprintf-posix-tests (Files): Likewise.
45459         * modules/sprintf-posix-tests (Files): Likewise.
45460         * modules/strtod-tests (Files): Likewise.
45461         * modules/trunc-tests (Files): Likewise.
45462         * modules/truncf-tests (Files): Likewise.
45463         * modules/truncl-tests (Files): Likewise.
45464         * modules/vsnprintf-posix-tests (Files): Likewise.
45465         * modules/vsprintf-posix-tests (Files): Likewise.
45466         * modules/vasnprintf-posix-tests (Files): Likewise.
45467         * modules/vasprintf-posix-tests (Files): Likewise.
45468         * tests/test-ceilf1.c (main): Use it.
45469         * tests/test-ceill.c (main): Likewise.
45470         * tests/test-floorf1.c (main): Likewise.
45471         * tests/test-floorl.c (main): Likewise.
45472         * tests/test-frexp.c (main): Likewise.
45473         * tests/test-frexpl.c (main): Likewise.
45474         * tests/test-isnan.c (main): Likewise.
45475         * tests/test-isnand.h (main): Likewise.
45476         * tests/test-isnanf.h (main): Likewise.
45477         * tests/test-isnanl.h (main): Likewise.
45478         * tests/test-ldexpl.c (main): Likewise.
45479         * tests/test-round.c (main): Likewise.
45480         * tests/test-roundf.c (main): Likewise.
45481         * tests/test-roundl.c (main): Likewise.
45482         * tests/test-signbit.c (test_signbitf, test_signbitd)
45483         (test_signbitl): Likewise.
45484         * tests/test-snprintf-posix.h (test_function): Likewise.
45485         * tests/test-sprintf-posix.h (test_function): Likewise.
45486         * tests/test-strtod.c (main): Likewise.
45487         * tests/test-trunc1.c (main): Likewise.
45488         * tests/test-truncf1.c (main): Likewise.
45489         * tests/test-truncl.c (main): Likewise.
45491         isnanl: work around icc bug
45492         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
45494 2010-11-03  Eric Blake  <eblake@redhat.com>
45496         tests: fix compiler warnings
45497         * tests/test-getopt.h (test_getopt): Fix condition.
45498         * tests/test-getopt_long.h (test_getopt_long): Likewise.
45499         * tests/test-pipe2.c (main): Likewise.
45500         * tests/test-quotearg-simple.c (main): Avoid icc warning.
45502         utimens: fix broken m4 test
45503         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
45505 2010-10-28  Bruno Haible  <bruno@clisp.org>
45507         posix_spawn*, getdtablesize: Relax license.
45508         * modules/posix_spawn (License): Change to LGPLv2+.
45509         * modules/posix_spawnp (License): Likewise.
45510         * modules/posix_spawn-internal (License): Likewise.
45511         * modules/posix_spawnattr_init (License): Likewise.
45512         * modules/posix_spawnattr_getflags (License): Likewise.
45513         * modules/posix_spawnattr_setflags (License): Likewise.
45514         * modules/posix_spawnattr_getpgroup (License): Likewise.
45515         * modules/posix_spawnattr_setpgroup (License): Likewise.
45516         * modules/posix_spawnattr_getschedparam (License): Likewise.
45517         * modules/posix_spawnattr_setschedparam (License): Likewise.
45518         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
45519         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
45520         * modules/posix_spawnattr_getsigdefault (License): Likewise.
45521         * modules/posix_spawnattr_setsigdefault (License): Likewise.
45522         * modules/posix_spawnattr_getsigmask (License): Likewise.
45523         * modules/posix_spawnattr_setsigmask (License): Likewise.
45524         * modules/posix_spawnattr_destroy (License): Likewise.
45525         * modules/posix_spawn_file_actions_init (License): Likewise.
45526         * modules/posix_spawn_file_actions_addclose (License): Likewise.
45527         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
45528         * modules/posix_spawn_file_actions_addopen (License): Likewise.
45529         * modules/posix_spawn_file_actions_destroy (License): Likewise.
45530         * modules/getdtablesize (License): Likewise.
45531         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
45533 2010-10-26  Bruno Haible  <bruno@clisp.org>
45535         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
45536         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
45537         Cygwin and mingw.
45538         Suggested by Eric Blake.
45540 2010-10-26  Bruno Haible  <bruno@clisp.org>
45542         stdio: Work around compilation error due to renameat() on Solaris 10.
45543         * lib/stdio.in.h: Include <unistd.h> on Solaris.
45544         * lib/renameat.c: Don't include <unistd.h> here.
45545         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
45546         Reported by Paul Eggert and Eric Blake.
45548 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
45550         renameat: port to Solaris 10, which declares renameat in unistd.h
45552         * lib/renameat.c: Include unistd.h before stdio.h, because
45553         Solaris 10 declares renameat in unistd.h.  Problem encountered
45554         when building GNU tar 1.24 on Solaris 10.
45556 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
45558         fdopendir: fix C89 compilation
45559         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
45560         compilers.
45562 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
45564         inttostr: simplify by removing unnecessary redundancy
45565         * lib/anytostr.c: Don't include verify.h.
45566         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
45567         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
45568         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
45569         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
45570         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
45571         Likewise.
45572         * modules/inttostr (Depends-on): Remove 'verify'.
45574 2010-10-23  Bruno Haible  <bruno@clisp.org>
45576         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
45577         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
45578         Reported by Eric Blake.
45580 2010-10-23  Bruno Haible  <bruno@clisp.org>
45582         Tests: Fix LOCALE_JA on MirBSD 10.
45583         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
45584         to an UTF-8 locale.
45585         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
45586         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
45587         Reported by Eric Blake.
45589 2010-10-21  Bruno Haible  <bruno@clisp.org>
45591         nl_langinfo test: Avoid test failure on NetBSD 5.
45592         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
45593         Reported by Eric Blake.
45595 2010-10-21  Eric Blake  <eblake@redhat.com>
45597         c-stack: work around libsigsegv 2.8 bug
45598         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
45599         overflow on at least PowerPC64.
45601 2010-10-17  Bruno Haible  <bruno@clisp.org>
45603         userspec: Drop redundant file.
45604         * modules/userspec (Files): Remove lib/inttostr.h.
45606 2010-10-17  Bruno Haible  <bruno@clisp.org>
45608         nl_langinfo tests: Silence some warnings.
45609         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
45610         Reported by Jim Meyering.
45612 2010-10-17  Bruno Haible  <bruno@clisp.org>
45614         Make use of GCC's attribute __alloc_size__.
45615         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
45616         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
45617         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
45618         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
45619         __alloc_size__.
45620         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
45621         Suggested by Jim Meyering.
45623 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
45625         bootstrap: anchor .gitignore entries.
45626         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
45627         with...
45628         (insert_vc_ignore): ... this new function, which prepends `/' to
45629         all .gitignore entries before passing them to
45630         insert_sorted_if_absent.
45632 2010-10-16  Bruno Haible  <bruno@clisp.org>
45634         nextafter: Fix configure check.
45635         * modules/nextafter (configure.ac): Correct expected prototype.
45637 2010-10-16  Bruno Haible  <bruno@clisp.org>
45639         termios: Update documentation.
45640         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
45642 2010-10-16  Bruno Haible  <bruno@clisp.org>
45644         tests: Make them compile with TinyCC.
45645         * tests/test-strstr.c (main): Remove parentheses around array
45646         initializer.
45648 2010-10-15  Eric Blake  <eblake@redhat.com>
45650         ignore-value: make header idempotent
45651         * lib/ignore-value.h: Add double-inclusion guards.
45652         Reported by Stefan Berger.
45654 2010-10-15  Jim Meyering  <meyering@redhat.com>
45656         GNUmakefile: handle "stable" target, not "major"
45657         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
45658         lists in maint.mk and announce-gen.  Without this, "make stable"
45659         would fail to ensure that $(VERSION) is up to date.
45661 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
45663         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
45664         & co.
45666 2010-10-14  Bruno Haible  <bruno@clisp.org>
45668         vasnprintf: Don't set errno to 0.
45669         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
45670         block that sets it to 0.
45671         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
45673 2010-10-14  Bruno Haible  <bruno@clisp.org>
45675         socketlib: Fix.
45676         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
45677         gl_PREREQ_SYS_H_WINSOCK2.
45678         Reported by Ian Beckwith <ianb@erislabs.net>.
45680 2010-10-13  Jim Meyering  <meyering@redhat.com>
45682         test-select-stdin.c: avoid warn_unused_result warnings
45683         * tests/test-select-stdin.c: Include "macros.h".
45684         ASSERT that read and fflush succeed.
45686 2010-10-13  Jim Meyering  <meyering@redhat.com>
45688         git-version-gen: do require git-VC'd files in cwd
45689         * build-aux/git-version-gen: Reject a git version string
45690         if there are no commits associated with the current directory.
45691         This avoids an unlikely false-positive (unrelated dir whose parent
45692         repository also contains a tag matching v*), as pointed out
45693         by Giuseppe Scrivano in
45694         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
45696 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
45698         argv-iter: omit nonconforming declaration
45699         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
45700         enum arg_iter_err declaration, which doesn't conform to C99.
45701         Solaris 10 cc warns about this.
45703 2010-10-13  Eric Blake  <eblake@redhat.com>
45705         termios: fix compilation on mingw
45706         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
45707         (gl_TERMIOS_H): Adjust it on mingw.
45708         * modules/termios (Makefile.am): Substitute new key.
45709         * lib/termios.in.h (includes): Make include_next conditional.
45710         * doc/posix-headers/termios.texi (termios.h): Update
45711         documentation.
45712         Reported by Daniel P. Berrange.
45714 2010-10-13  Jim Meyering  <meyering@redhat.com>
45716         git-version-gen: don't require that .git/ be in the current dir
45717         * build-aux/git-version-gen: Adjust this script so that it works
45718         when run from any working directory beneath the top-level .git/-
45719         containing directory.  Inspired by a patch from Giuseppe Scrivano,
45720         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
45722         test-select: avoid warn_unused_result warnings
45723         * tests/test-select.c: Include "macros.h".
45724         ASSERT that each call to read, write, and pipe succeeds.
45725         While not technically required, also check each "close".
45726         * modules/select-tests (Files): Add tests/macros.h.
45728         test-symlinkat: remove declaration of unused local
45729         * tests/test-symlinkat.c (main): Remove unused local, "buf".
45731         test-inttostr: avoid shadowing warnings
45732         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
45733         and use malloc rather than the stack for the same reason as
45734         mentioned in the comment justifying the other allocation.
45736 2010-10-11  Bruno Haible  <bruno@clisp.org>
45738         stdlib: Allow multiple gnulib generated replacements to coexist.
45739         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
45740         Reported by Sam Steingold <sds@gnu.org>.
45742 2010-10-11  Jim Meyering  <meyering@redhat.com>
45744         fix a documentation typo
45745         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
45747 2010-10-11  Eric Blake  <eblake@redhat.com>
45749         futimens: work around Solaris 11 bug
45750         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
45751         * tests/test-futimens.h (test_futimens): Enhance, rather than
45752         weaken test.
45753         * doc/posix-functions/futimens.texi (futimens): Document the bug.
45755 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45757         Indentation.
45758         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
45759         higher-level operators more to the left.
45761 2010-10-11  Jim Meyering  <meyering@redhat.com>
45763         test-futimens: avoid unwarranted test failure on Solaris 5.11
45764         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
45765         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
45766         because it tries to dereference the NULL name argument.
45768 2010-10-11  Bruno Haible  <bruno@clisp.org>
45770         Indentation.
45771         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
45772         indentation.
45774 2010-10-11  Jim Meyering  <meyering@redhat.com>
45776         spawn.in.h: make indentation consistent with parentheses
45777         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
45778         Make indentation consistent with parentheses.
45780 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
45782         Fix mismatched parens in previous commit
45783         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
45784         parens.
45786 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45788         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
45790         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
45791         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
45792         * lib/malloca.c: Include "verify.h".
45793         (verify1): Remove, replacing with a verify call.
45794         * lib/relocwrapper.c (verify1): Likewise.
45795         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
45796         Likewise.
45797         * modules/malloca (Depends-on): Add 'verify'.
45798         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
45799         * modules/vasnprintf (Depends-on): Add 'verify'.
45800         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
45801         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45802         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45803         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45804         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45805         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45806         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45808         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
45810         Formerly the style was sometimes 2*X - 1, because the C standard
45811         was wrongly thought to disallow ?: in integral constant expressions.
45812         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
45813         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
45814         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
45815         * lib/stdint.in.h (_verify_intmax_size): Likewise.
45816         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
45817         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
45818         verify that time_t cannot be floating.
45820 2010-10-08  Eric Blake  <eblake@redhat.com>
45822         time: enforce recent POSIX ruling that time_t is integral
45823         * lib/time.in.h (__time_t_must_be_integral): Detect any
45824         problematic systems, allowing the rest of gnulib to assume POSIX.
45826 2010-10-08  Jim Meyering  <meyering@redhat.com>
45828         fdopendir: fix a bug on systems lacking openat and /proc support
45829         OpenBSD 4.7 is one such system.  The most noticeable effect was
45830         failure of any application making nontrivial use of fts: rm, du,
45831         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
45832           ./rm: traversal failed: `a': Bad file descriptor
45833         Debugging that, you see that even though FD 6 was closed just
45834         prior to the opendir call in fd_clone_opendir, its resulting
45835         dir->dd_fd was 8, rather than the expected value of 6:
45837         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
45838         93                close (fd);
45839         (gdb) n
45840         94                dir = fd_clone_opendir (dupfd);
45841         (gdb) n
45842         95                saved_errno = errno;
45843         (gdb) p dir->dd_fd
45844         $11 = 8
45846         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
45847         The problem is that on OpenBSD, fd_clone_opendir has to resort
45848         to using the old-style save/restore CWD mechanism, due to its
45849         lack of openat/proc support, and *that* would steal the FD (6)
45850         that opendir was supposed to use.
45852         The fix is to squirrel away the desired FD so that save_cwd uses a
45853         different one, and then free the dest FD right before calling opendir.
45854         That guarantees opendir will use the required file descriptor.
45856         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
45858 2010-10-08  Bruno Haible  <bruno@clisp.org>
45860         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
45861         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
45863 2010-10-08  Bruno Haible  <bruno@clisp.org>
45865         nanosleep: Make replacement POSIX compliant.
45866         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
45867         is out of range.
45868         Reported by Jim Meyering.
45870 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45872         bootstrap: add hook for altering gnulib.mk, for Bison
45873         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
45874         the Bison bootstrapping process can rewrite file names and variables
45875         in this file before later parts of 'bootstrap' use the file.
45876         Bison wants to include lib/gnulib.mk from the top-level makefile,
45877         so it needs the file names in this file to be relative to the top
45878         level, not relative to lib; plus it needs variable names to be
45879         rewritten.
45880         (slurp): Use the new function.
45882         bootstrap: reformat for readability
45883         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
45885 2010-10-08  Eric Blake  <eblake@redhat.com>
45887         docs: update cygwin progress
45888         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
45889         1.7.7.
45890         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
45891         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
45892         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
45893         * doc/posix-functions/carg.texi (carg): Likewise.
45894         * doc/posix-functions/cargf.texi (cargf): Likewise.
45895         * doc/posix-functions/casin.texi (casin): Likewise.
45896         * doc/posix-functions/casinf.texi (casinf): Likewise.
45897         * doc/posix-functions/casinh.texi (casinh): Likewise.
45898         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
45899         * doc/posix-functions/catan.texi (catan): Likewise.
45900         * doc/posix-functions/catanf.texi (catanf): Likewise.
45901         * doc/posix-functions/catanh.texi (catanh): Likewise.
45902         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
45903         * doc/posix-functions/ccos.texi (ccos): Likewise.
45904         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
45905         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
45906         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
45907         * doc/posix-functions/cexp.texi (cexp): Likewise.
45908         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
45909         * doc/posix-functions/cimag.texi (cimag): Likewise.
45910         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
45911         * doc/posix-functions/clog.texi (clog): Likewise.
45912         * doc/posix-functions/clogf.texi (clogf): Likewise.
45913         * doc/posix-functions/conj.texi (conj): Likewise.
45914         * doc/posix-functions/conjf.texi (conjf): Likewise.
45915         * doc/posix-functions/cpow.texi (cpow): Likewise.
45916         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
45917         * doc/posix-functions/cproj.texi (cproj): Likewise.
45918         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
45919         * doc/posix-functions/creal.texi (creal): Likewise.
45920         * doc/posix-functions/crealf.texi (crealf): Likewise.
45921         * doc/posix-functions/csin.texi (csin): Likewise.
45922         * doc/posix-functions/csinf.texi (csinf): Likewise.
45923         * doc/posix-functions/csinh.texi (csinh): Likewise.
45924         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
45925         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
45926         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
45927         * doc/posix-functions/ctan.texi (ctan): Likewise.
45928         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
45929         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
45930         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
45931         * doc/posix-headers/complex.texi (complex.h): Likewise.
45933 2010-10-07  Jim Meyering  <meyering@redhat.com>
45935         parse-datetime: avoid compilation failure on OpenBSD 4.7
45936         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
45937         This works around a compilation failure on OpenBSD 4.7:
45938         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
45940 2010-10-07  Eric Blake  <eblake@redhat.com>
45942         docs: update cygwin progress
45943         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
45944         1.7.6.
45945         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
45946         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
45947         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
45948         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
45949         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
45950         Likewise.
45951         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
45952         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
45953         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
45954         Likewise.
45955         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
45956         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
45957         Likewise.
45958         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
45959         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
45960         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
45961         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
45962         Likewise.
45963         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
45964         Likewise.
45965         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
45967         docs: update parse-datetime history
45968         * doc/parse-datetime.texi (Authors of parse_datetime): Better
45969         documentation of this function's history and alternatives.
45971         cygwin: use more robust version check
45972         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
45973         exclude an eventual cygwin 1.9.1.
45974         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
45975         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
45976         (gl_FUNC_STRCASESTR): Likewise.
45977         Reported by Bruno Haible.
45979 2010-10-06  Bruno Haible  <bruno@clisp.org>
45981         string, sys_select: Avoid #including large headers unless necessary.
45982         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
45983         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
45984         OSF/1, BeOS, Haiku.
45985         Reported by Jim Meyering.
45987 2010-10-05  Eric Blake  <eblake@redhat.com>
45989         memmem, strstr, strcasestr: fix bug with long periodic needle
45990         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
45991         periodic needle having false positive.
45992         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
45993         and cygwin 1.7.7.
45994         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
45995         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
45996         (gl_FUNC_STRCASESTR): Likewise.
45997         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
45998         * tests/test-memmem.c (main): Expose the bug.
45999         * tests/test-strcasestr.c (main): Likewise.
46000         * tests/test-strstr.c (main): Likewise.
46001         * tests/test-c-strcasestr.c (main): Likewise.
46002         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
46003         * doc/posix-functions/strstr.texi (strstr): Likewise.
46004         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
46005         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
46007 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
46009         parse-datetime: do some more renaming
46010         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
46011         parse_datetime, not get_date.  Mention the renaming.
46012         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
46013         in comments.
46014         * m4/bison.m4: Likewise.
46016 2010-10-05  Eric Blake  <eblake@redhat.com>
46018         parse-datetime: better name than get_date
46019         * NEWS: Reword the deprecation notice.
46020         * modules/get_date: Rename to modules/parse-datetime.
46021         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
46022         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
46023         * lib/get_date.y: Rename to lib/parse-datetime.y.
46024         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
46025         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
46026         * doc/getdate.texi: Provide fallback wrapper.
46027         * lib/getdate.h: Move guts, and wrap...
46028         * lib/parse-datetime.h: ...new file.
46029         * lib/parse-datetime.y (get_date): Rename...
46030         (parse_datetime): ...to this.
46031         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
46032         (gl_PARSE_DATETIME): ...to this.
46033         * doc/posix-functions/getdate.texi (get_date): Provide fallback
46034         documentation.
46035         * modules/getdate (Files): Provide fallback docs and header.
46036         (Notice, Depends-on): Update references.
46037         * tests/test-parse-datetime.c: Likewise.
46038         * DEPENDENCIES: Likewise.
46039         * MODULES.html.sh (Date and time <time.h>): Likewise.
46040         * doc/parse-datetime.texi (Date input formats)
46041         (Authors of parse_datetime): Likewise.
46042         * modules/parse-datetime (Files, configure.ac, Makefile.am)
46043         (Include): Likewise.
46044         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
46045         * gnulib-tool: Likewise.
46046         * m4/bison.m4 (gl_BISON): Likewise.
46047         Suggested by Bruno Haible.
46049 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
46051         more ports to Solaris tr, which needs [] around ranges
46052         * gnulib-tool: Solaris tr needs [] around ranges.
46053         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
46054         * tests/test-pipe-filter-gi1.c (main): Likewise.
46055         * tests/test-pipe-filter-ii1.c (main): Likewise.
46057 2010-10-05  Eric Blake  <eblake@redhat.com>
46059         bootstrap: fix Solaris regression
46060         * build-aux/bootstrap (check_versions): Solaris tr still needs []
46061         around ranges.
46062         Reported by Pádraig Brady.
46064         bootstrap: work with pkg-config
46065         * build-aux/bootstrap (check_versions): Also transliterate - in
46066         prerequisite name.
46067         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
46068         prerequisites that were already found, to avoid confusion.
46069         Reported by Justin Clift.
46071         faccessat: remove unused wrappers
46072         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
46073         presence of these wrappers dragged in -lgen on Solaris.
46074         Reported by Clemens Brogi; fix suggested by Paul Eggert.
46076 2010-10-05  Jim Meyering  <meyering@redhat.com>
46078         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
46079         * Makefile (sc_pragma_columns): New syntax-check rule.
46081 2010-10-04  Bruno Haible  <bruno@clisp.org>
46083         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
46084         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
46085         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
46086         Reported by Bruce Korb and Eric Blake.
46088 2010-10-04  Bruno Haible  <bruno@clisp.org>
46090         threadlib: Make option --with-libpth-prefix work.
46091         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
46092         use $LIBPTH, not just -lpth.
46094 2010-10-04  Bruno Haible  <bruno@clisp.org>
46096         Avoid line length limitation from HP NonStop system header files.
46097         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
46098         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
46099         * lib/ctype.in.h: Likewise.
46100         * lib/dirent.in.h: Likewise.
46101         * lib/errno.in.h: Likewise.
46102         * lib/fcntl.in.h: Likewise.
46103         * lib/float.in.h: Likewise.
46104         * lib/getopt.in.h: Likewise.
46105         * lib/iconv.in.h: Likewise.
46106         * lib/inttypes.in.h: Likewise.
46107         * lib/langinfo.in.h: Likewise.
46108         * lib/locale.in.h: Likewise.
46109         * lib/math.in.h: Likewise.
46110         * lib/netdb.in.h: Likewise.
46111         * lib/netinet_in.in.h: Likewise.
46112         * lib/poll.in.h: Likewise.
46113         * lib/pthread.in.h: Likewise.
46114         * lib/pty.in.h: Likewise.
46115         * lib/sched.in.h: Likewise.
46116         * lib/se-selinux.in.h: Likewise.
46117         * lib/search.in.h: Likewise.
46118         * lib/signal.in.h: Likewise.
46119         * lib/spawn.in.h: Likewise.
46120         * lib/stdarg.in.h: Likewise.
46121         * lib/stddef.in.h: Likewise.
46122         * lib/stdint.in.h: Likewise.
46123         * lib/stdio.in.h: Likewise.
46124         * lib/stdlib.in.h: Likewise.
46125         * lib/string.in.h: Likewise.
46126         * lib/strings.in.h: Likewise.
46127         * lib/sys_file.in.h: Likewise.
46128         * lib/sys_ioctl.in.h: Likewise.
46129         * lib/sys_select.in.h: Likewise.
46130         * lib/sys_socket.in.h: Likewise.
46131         * lib/sys_stat.in.h: Likewise.
46132         * lib/sys_time.in.h: Likewise.
46133         * lib/sys_times.in.h: Likewise.
46134         * lib/sys_utsname.in.h: Likewise.
46135         * lib/sys_wait.in.h: Likewise.
46136         * lib/sysexits.in.h: Likewise.
46137         * lib/termios.in.h: Likewise.
46138         * lib/time.in.h: Likewise.
46139         * lib/unistd.in.h: Likewise.
46140         * lib/wchar.in.h: Likewise.
46141         * lib/wctype.in.h: Likewise.
46142         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
46143         * modules/ctype (Makefile.am): Likewise.
46144         * modules/dirent (Makefile.am): Likewise.
46145         * modules/errno (Makefile.am): Likewise.
46146         * modules/fcntl-h (Makefile.am): Likewise.
46147         * modules/float (Makefile.am): Likewise.
46148         * modules/getopt-posix (Makefile.am): Likewise.
46149         * modules/iconv-h (Makefile.am): Likewise.
46150         * modules/inttypes (Makefile.am): Likewise.
46151         * modules/langinfo (Makefile.am): Likewise.
46152         * modules/locale (Makefile.am): Likewise.
46153         * modules/math (Makefile.am): Likewise.
46154         * modules/netdb (Makefile.am): Likewise.
46155         * modules/netinet_in (Makefile.am): Likewise.
46156         * modules/poll-h (Makefile.am): Likewise.
46157         * modules/pthread (Makefile.am): Likewise.
46158         * modules/pty (Makefile.am): Likewise.
46159         * modules/sched (Makefile.am): Likewise.
46160         * modules/search (Makefile.am): Likewise.
46161         * modules/selinux-h (Makefile.am): Likewise.
46162         * modules/signal (Makefile.am): Likewise.
46163         * modules/spawn (Makefile.am): Likewise.
46164         * modules/stdarg (Makefile.am): Likewise.
46165         * modules/stddef (Makefile.am): Likewise.
46166         * modules/stdint (Makefile.am): Likewise.
46167         * modules/stdio (Makefile.am): Likewise.
46168         * modules/stdlib (Makefile.am): Likewise.
46169         * modules/string (Makefile.am): Likewise.
46170         * modules/strings (Makefile.am): Likewise.
46171         * modules/sys_file (Makefile.am): Likewise.
46172         * modules/sys_ioctl (Makefile.am): Likewise.
46173         * modules/sys_select (Makefile.am): Likewise.
46174         * modules/sys_socket (Makefile.am): Likewise.
46175         * modules/sys_stat (Makefile.am): Likewise.
46176         * modules/sys_time (Makefile.am): Likewise.
46177         * modules/sys_times (Makefile.am): Likewise.
46178         * modules/sys_utsname (Makefile.am): Likewise.
46179         * modules/sys_wait (Makefile.am): Likewise.
46180         * modules/sysexits (Makefile.am): Likewise.
46181         * modules/termios (Makefile.am): Likewise.
46182         * modules/time (Makefile.am): Likewise.
46183         * modules/unistd (Makefile.am): Likewise.
46184         * modules/wchar (Makefile.am): Likewise.
46185         * modules/wctype (Makefile.am): Likewise.
46187 2010-10-04  Bruno Haible  <bruno@clisp.org>
46189         read-file tests: Avoid a test failure on NonStop Kernel.
46190         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
46191         a regular file.
46192         Reported by Joachim Schmitz <schmitz@hp.com>.
46194 2010-10-03  Bruno Haible  <bruno@clisp.org>
46196         gnulib-tool: Fixes for --create-testdir with --libtool.
46197         * gnulib-tool (func_get_automake_snippet): Don't augment
46198         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
46199         an executable.
46200         (func_create_testdir): Handle module 'alloca' like func_import.
46201         Reported by Bruce Korb <bruce.korb@gmail.com>.
46203 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
46205         Avoid some lines longer than 80 characters.
46206         * lib/stdint.in.h: Break long comment lines.
46207         * lib/math.in.h: Likewise.
46208         (_GL_NUM_UINT_WORDS): New macro, for readability.
46209         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
46210         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
46211         * lib/stdlib.in.h: Likewise.
46212         * lib/spawn.in.h: Likewise.
46213         * lib/sys_socket.in.h: Update an URL.
46214         * lib/sys_stat.in.h: Break long line.
46216 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
46218         Improve pmccabe2html.
46219         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
46220         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
46221         when the sources change. Remove the line in the HTML about "Used
46222         ranges" (which implied that there might be other unused ranges),
46223         rename "Resume" to "Summary" (easier to understand for more users).
46224         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
46225         styles, and some unnecessary blank lines.
46227 2010-10-03  Bruno Haible  <bruno@clisp.org>
46228             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
46230         acl: Add support for ACLs on NonStop Kernel.
46231         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
46232         Check whether the function aclsort() exists.
46233         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
46234         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
46235         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
46236         (acl_nontrivial [HAVE_ACLSORT]: New function.
46237         (file_has_acl): Implement for NonStop Kernel.
46238         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
46239         (qset_acl): Implement for NonStop Kernel.
46240         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
46241         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
46242         (main): Implement for NonStop Kernel.
46243         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
46244         Kernel. Handle this flavor.
46245         * tests/test-set-mode-acl.sh: Likewise.
46246         * tests/test-copy-acl.sh: Likewise.
46247         * tests/test-copy-file.sh: Likewise.
46249 2010-10-03  Bruno Haible  <bruno@clisp.org>
46251         Info about ACLs on NonStop Kernel.
46252         * doc/acl-resources.txt: Add info about NonStop Kernel.
46253         References by Joachim Schmitz <schmitz@hp.com>.
46255 2010-10-02  Bruno Haible  <bruno@clisp.org>
46257         Define missing EDQUOT on NonStop Kernel.
46258         * lib/errno.in.h (EDQUOT): Assign a value if missing.
46259         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
46260         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
46261         missing.
46262         * doc/posix-headers/errno.texi: Mention the NSK bug.
46263         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
46264         Reported by Joachim Schmitz <schmitz@hp.com>.
46266 2010-10-02  Bruno Haible  <bruno@clisp.org>
46268         Update doc for POSIX:2008.
46269         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
46270         Update URL of POSIX specification.
46272 2010-10-02  Bruno Haible  <bruno@clisp.org>
46274         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
46275         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
46276         from gnulib, not from Automake.
46278 2010-10-02  Bruno Haible  <bruno@clisp.org>
46280         New module 'system-posix'.
46281         * modules/system-posix: New file.
46282         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
46283         module is present.
46284         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46285         GNULIB_SYSTEM_POSIX.
46286         * modules/stdlib (Depends-on): Remove sys_wait.
46287         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
46288         * doc/posix-functions/system.texi: Mention the new module.
46289         * doc/posix-headers/stdlib.texi: Likewise.
46290         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
46291         define test_sys_wait_macros to a no-op.
46292         Reported by Sam Steingold <sds@gnu.org>.
46294 2010-09-30  Bruno Haible  <bruno@clisp.org>
46296         More renaming from 'getdate' to 'get_date'.
46297         * doc/get_date.texi: Renamed from doc/getdate.texi.
46298         * modules/get_date (Files): Update.
46299         * MODULES.html.sh (Date and time <time.h>): Update.
46300         * DEPENDENCIES: Update.
46301         * gnulib-tool: Update comment.
46302         * m4/bison.m4 (gl_BISON): Likewise.
46303         * m4/get_date.m4 (gl_GET_DATE): Likewise.
46305 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
46307         bootstrap: support ACLOCAL_FLAGS during aclocal
46308         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
46309         can add additional -I dir for third-party .m4 files.
46311 2010-09-30  Eric Blake  <eblake@redhat.com>
46313         bootstrap: use glibtoolize on MacOS
46314         * build-aux/bootstrap (check_versions): Convert libtool into
46315         libtoolize.
46316         (tool search): Move libtool check earlier, and look for
46317         glibtoolize for MacOS.
46318         (gnulib_tool_options): Auto-add --libtool when appropriate.
46319         Reported by Justin Clift.
46321         poll: fix typo that broke test on MacOS
46322         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
46323         Reported by Justin Clift.
46325         getdate: rename to get_date
46326         Note: getdate.h is not renamed, to minimize client impact.
46327         * modules/getdate: Mark obsolete.  Move old contents...
46328         * modules/get_date: ...to new module name.
46329         * modules/getdate-tests: Move...
46330         * modules/get_date-tests: ...here.
46331         * m4/getdate.m4: Move...
46332         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
46333         * lib/getdate.y: Move...
46334         * lib/get_date.y: ...here.
46335         * tests/test-getdate.c: Move...
46336         * tests/test-get_date.c: ...here.
46337         * doc/posix-functions/getdate.texi (getdate): Update name.
46338         * NEWS: Mention the change.
46340 2010-09-29  Bruno Haible  <bruno@clisp.org>
46342         Separate the module 'waitpid' from the module 'sys_wait'.
46343         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
46344         present.
46345         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
46346         gl_MODULE_INDICATOR_FOR_TESTS.
46347         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
46348         * modules/sys_wait (Depends-on): Remove waitpid.
46349         (Makefile.am): Substitute GNULIB_WAITPID.
46350         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
46351         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
46352         signature only if the 'waitpid' module is present.
46353         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
46354         * NEWS: Mention the change.
46355         * modules/grantpt (Depends-on): Add waitpid.
46356         * modules/wait-process (Depends-on): Likewise.
46358 2010-09-29  Bruno Haible  <bruno@clisp.org>
46360         More tests for module 'sys_wait'.
46361         * modules/sys_wait-c++-tests: New file.
46362         * tests/test-sys_wait-c++.cc: New file.
46363         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
46364         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
46366 2010-09-29  Bruno Haible  <bruno@clisp.org>
46368         New module 'waitpid'.
46369         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
46370         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
46371         Don't include <process.h>.
46372         (waitpid): Declare only, using modern idiom.
46373         * m4/waitpid.m4: New file.
46374         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
46375         * modules/waitpid: New file.
46376         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
46377         (Makefile.am): Update.
46378         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
46380 2010-09-28  Bruno Haible  <bruno@clisp.org>
46382         poll: Assume ANSI C.
46383         * lib/poll.c (poll): Use an ANSI C declaration.
46385 2010-09-28  Bruno Haible  <bruno@clisp.org>
46387         poll-h: Create poll.h on all platforms.
46388         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
46389         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
46390         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
46391         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
46392         (gl_REPLACE_POLL_H): Don't set POLL_H.
46393         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
46394         * modules/poll-h (Depends-on): Add include_next.
46395         (Makefile.am): Create poll.h unconditionally. Substitute also
46396         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
46398 2010-09-28  Bruno Haible  <bruno@clisp.org>
46400         Tests for module 'poll-h'.
46401         * modules/poll-h-c++-tests: New file.
46402         * tests/test-poll-h-c++.cc: New file.
46404         Tests for module 'poll-h'.
46405         * modules/poll-h-tests: New file.
46406         * tests/test-poll-h.c: New file.
46408 2010-09-28  Bruno Haible  <bruno@clisp.org>
46410         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
46411         * modules/poll-h (Depends-on): Add 'extensions'.
46413 2010-09-28  Bruno Haible  <bruno@clisp.org>
46415         New module 'poll-h'.
46416         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
46417         (poll): Use modern idiom.
46418         * modules/poll-h: New file.
46419         * modules/poll (Files): Remove lib/poll.in.h.
46420         (Depends-on): Add poll-h.
46421         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
46422         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
46423         * m4/poll_h.m4: New file.
46424         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
46425         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
46426         and invoke gl_REPLACE_POLL_H.
46427         * lib/poll.c: Use common idiom.
46428         * tests/test-poll.c: Likewise.
46429         * doc/posix-headers/poll.texi: Mention the poll-h module.
46430         Suggested by Eric Blake.
46432 2010-09-26  Bruno Haible  <bruno@clisp.org>
46434         sys_wait: Implement WSTOPSIG.
46435         * lib/sys_wait.in.h (WSTOPSIG): New macro.
46436         Reported by Simon Josefsson.
46438 2010-09-26  Simon Josefsson  <simon@josefsson.org>
46440         stdlib, sys_wait: Avoid compilation error on mingw.
46441         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
46443 2010-09-26  Bruno Haible  <bruno@clisp.org>
46445         stdlib tests: Avoid code duplication.
46446         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
46447         * modules/sys_wait-tests (Files): Likewise.
46448         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
46449         * tests/test-stdlib.c: Include test-sys_wait.h.
46450         (main): Invoke test_sys_wait_macros.
46451         * tests/test-sys_wait.c: Include test-sys_wait.h.
46452         (main): Invoke test_sys_wait_macros.
46454 2010-09-25  Simon Josefsson  <simon@josefsson.org>
46456         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
46457         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
46458         sure Windows sockets are working before calling getaddrinfo.
46459         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
46460         * doc/gnulib.texi (Windows sockets): Fix typo.
46462 2010-09-25  Bruno Haible  <bruno@clisp.org>
46464         Tests for module 'regex-quote'.
46465         * modules/regex-quote-tests: New file.
46466         * tests/test-regex-quote.c: New file.
46468         New module 'regex-quote'.
46469         * lib/regex-quote.h: New file.
46470         * lib/regex-quote.c: New file.
46471         * modules/regex-quote: New file.
46472         Suggested by Reuben Thomas <rrt@sc3d.org>.
46474 2010-09-24  Bruno Haible  <bruno@clisp.org>
46476         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
46477         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
46479 2010-09-23  Bruno Haible  <bruno@clisp.org>
46481         setenv: Relax license.
46482         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
46483         Blake.
46484         Requested by Eric Blake.
46486 2010-09-22  Bruno Haible  <bruno@clisp.org>
46488         termios: Relax license.
46489         * modules/termios (License): Change to LGPLv2+.
46490         Requested by Eric Blake.
46492 2010-09-22  Bruno Haible  <bruno@clisp.org>
46494         threadlib: Allow the package to change the default to 'no'.
46495         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
46496         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
46497         Reported by Paul Eggert.
46499 2010-09-22  Pádraig Brady  <P@draigbrady.com>
46500             Bruno Haible  <bruno@clisp.org>
46502         Fix endless loop in mbmemcasecoll.
46503         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
46504         byte.
46505         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
46507 2010-09-22  Bruno Haible  <bruno@clisp.org>
46509         Tests for module 'memcoll'.
46510         * modules/memcoll-tests: New file.
46511         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
46513         memcoll, xmemcoll: Clarify size vs. length.
46514         * modules/memcoll.c (memcoll0): Clarify specification.
46515         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
46516         passed to collate_error.
46518 2010-09-22  Bruno Haible  <bruno@clisp.org>
46520         Tests for module 'memcasecmp'.
46521         * modules/memcasecmp-tests: New file.
46522         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
46524 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
46526         * lib/pthread.in.h: Add split double-inclusion guard, and include
46527         system <pthread.h> if there is one.  Use @@-style as in other
46528         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
46529         pthread.h doesn't.
46530         (pthread_mutexattr_destroy, pthread_mutexattr_init):
46531         (pthread_mutexattr_settype, pthread_mutex_trylock):
46532         New static inline functions, if there's no system <pthread.h>.
46533         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
46534         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
46535         Approximate with mutexes if the system lacks spinlocks, as in
46536         MacOS.
46537         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
46538         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
46539         @@-style.  Check for spinlocks separately.
46540         (gl_PTHREAD_DEFAULTS): New macro.
46541         * modules/pthread: Redo to use a more typical style for in.h files.
46543 2010-09-21  Eric Blake  <eblake@redhat.com>
46545         net_if: enhance tests
46546         * tests/test-net_if.c (main): Move signature checks earlier.
46547         Print failures to stderr.
46548         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
46549         Document the bug that we do not yet fix.
46551 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
46553         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
46554         about gnulib, not GSS.
46556 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
46558         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
46559         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
46560         for Emacs.
46561         * build-aux/pmccabe2html: Make Makefile.am example code more
46562         cut-and-paste friendly.
46564 2010-09-21  Simon Josefsson  <simon@josefsson.org>
46566         * tests/test-net_if.c: New file.
46567         * modules/net_if-tests: New file.
46569 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46571         pthread: add pthread_spin_destroy
46572         * lib/pthread.in.h (pthread_spin_destroy): New function.
46574 2010-09-19  Bruno Haible  <bruno@clisp.org>
46576         gnulib-tool: Fix --help output.
46577         * gnulib-tool (func_usage): Fix help message.
46578         Reported by Reuben Thomas <rrt@sc3d.org>.
46580 2010-09-18  Jim Meyering  <meyering@redhat.com>
46582         maint.mk: avoid unexpanded \n in two diagnostics
46583         * top/maint.mk (sc_prohibit_always_true_header_tests):
46584         Don't use a literal \n in a halt=... assignment.  It would not be
46585         expanded, and the two \n bytes would appear in the diagnostic output
46586         rather than the desired newline.  Use halt=$$(printf ... instead.
46587         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
46589 2010-09-18  Bruno Haible  <bruno@clisp.org>
46591         netinet_in: Doc tweak.
46592         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
46593         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
46595 2010-09-18  Jim Meyering  <meyering@redhat.com>
46597         init.sh: correct an outdated comment
46598         * tests/init.sh (create_exe_shims_):  s/function/alias/
46600         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
46601         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
46602         a file named "*.exe" is removed between the glob expansion and the
46603         processing of that oddly named file.
46605 2010-09-17  Eric Blake  <eblake@redhat.com>
46607         mirbsd: add some more support
46608         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
46609         in BSD family.
46610         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
46611         devices as OpenBSD.
46612         * m4/host-os.m4 (mirbsd): Add MirBSD.
46614         tests: fix unportable assumption on sys/wait.h
46615         * tests/test-sys_wait.c (main): Relax test.
46616         * tests/test-stdlib.c (main): Likewise.
46618         init.sh: accommodate directory with no .exes
46619         * tests/init.sh: Accomodate directory containing only scripts.
46621         tests: avoid compiler warning
46622         * tests/test-stdlib.c (main): Use the variable.
46624         fdutimens, fdutimensat: update signature, again
46625         * lib/utimens.h (gl_futimens): Delete, and move signature...
46626         (fdutimens): ...here.
46627         (fdutimensat): Rearrange signature.
46628         (lutimensat): Rename variable for clarity.
46629         * lib/fdutimensat.c (fdutimensat): Update signature.
46630         * lib/utimens.c (fdutimens): Likewise.
46631         (gl_futimens): Delete.
46632         (utimens, lutimens): Update callers.
46633         * lib/futimens.c (futimens): Likewise.
46634         * tests/test-fdutimensat.c: Likewise.
46635         * tests/test-utimens.c: Likewise.
46636         * tests/test-futimens.h: Update comment.
46637         * NEWS: Mention this.
46638         Suggested by Paul Eggert.
46640 2010-09-17  Bruno Haible  <bruno@clisp.org>
46642         Take over the maintenance of some older macros from Autoconf.
46643         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
46644         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
46645         GNU Autoconf.
46646         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
46647         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
46649 2010-09-17  Eric Blake  <eblake@redhat.com>
46651         fdutimensat: drop atflag validation
46652         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
46653         with valid fd, to close a race scenario where futimens is
46654         unsupported and FILE was replaced by a symlink.
46655         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
46656         accordingly.
46657         Suggested by Paul Eggert.
46659 2010-09-16  Bruno Haible  <bruno@clisp.org>
46661         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
46662         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
46664 2010-09-16  Bruno Haible  <bruno@clisp.org>
46666         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
46667         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
46668         login_tty exists.
46669         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
46671 2010-09-16  Bruno Haible  <bruno@clisp.org>
46673         login_tty: Make the replacement code work on BSD systems.
46674         * lib/login_tty.c: Include <sys/ioctl.h>.
46675         (login_tty): Use ioctl TIOCSCTTY when available.
46676         * modules/login_tty (Depends-on): Add sys_ioctl.
46677         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
46679 2010-09-16  Bruno Haible  <bruno@clisp.org>
46681         login_tty: Stricter unit test.
46682         * modules/login_tty-tests (Depends-on): Add tcgetsid.
46683         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
46684         and tcgetsid() after login_tty.
46685         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
46687 2010-09-16  Bruno Haible  <bruno@clisp.org>
46689         New module 'tcgetsid'.
46690         * lib/tcgetsid.c: New file.
46691         * m4/tcgetsid.m4: New file.
46692         * modules/tcgetsid: New file.
46693         * modules/termios (Depends-on): Add c++defs, warn-on-use.
46694         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
46695         GNULIB_TCGETSID, HAVE_TCGETSID.
46696         * lib/termios.in.h: Include <sys/types.h>.
46697         (tcgetsid): New declaration.
46698         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
46699         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
46700         * doc/posix-functions/tcgetsid.texi: Mention the new module.
46701         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
46703 2010-09-16  Bruno Haible  <bruno@clisp.org>
46705         Tests for module 'termios'.
46706         * modules/termios-c++-tests: New file.
46707         * modules/termios-tests: New file.
46708         * tests/test-termios-c++.cc: New file.
46709         * tests/test-termios.c: New file.
46711         New module 'termios'.
46712         * modules/termios: New file.
46713         * lib/termios.in.h: New file.
46714         * m4/termios_h.m4: New file.
46715         * doc/posix-headers/termios.texi: Mention the new module.
46717 2010-09-16  Eric Blake  <eblake@redhat.com>
46719         fdutimensat: add an atflag parameter
46720         * lib/fdutimensat.c (fdutimensat): Add new parameter.
46721         * lib/utimens.h (fdutimensat): Update prototype.
46722         * tests/test-fdutimensat.c: Adjust test to match.
46723         * NEWS: Document the change.
46724         Suggested by Paul Eggert.
46726 2010-09-16  Bruno Haible  <bruno@clisp.org>
46728         Fix typos in comments.
46729         * lib/striconveh.h: Fix typo in comment.
46730         * lib/login_tty.c (login_tty): Likewise.
46732 2010-09-15  Bruno Haible  <bruno@clisp.org>
46734         stdlib: clarify MirBSD WEXITSTATUS bug
46735         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
46736         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46738 2010-09-15  Eric Blake  <eblake@redhat.com>
46740         stdlib: work around MirBSD WEXITSTATUS bug
46741         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
46742         * modules/stdlib (Depends-on): Add sys_wait.
46743         * tests/test-sys_wait.c (main): Enhance test.
46744         * tests/test-stdlib.c (main): Likewise.
46745         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
46747         docs: mention MacOS issue with WEXITSTATUS(constant)
46748         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
46749         issue.
46750         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46752         strnlen: add tests
46753         * modules/strnlen-tests: New file.
46754         * tests/test-strnlen.c: Likewise.
46756 2010-09-14  Bruno Haible  <bruno@clisp.org>
46758         unistr/base: Avoid link errors when module 'libunistring' is also used.
46759         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
46760         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
46761         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
46762         Declare also when HAVE_LIBUNISTRING is set.
46763         Reported by Pádraig Brady <P@draigbrady.com>.
46765 2010-09-14  Eric Blake  <eblake@redhat.com>
46767         test-rawmemchr: make more robust
46768         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
46769         (Depends-on, configure.ac): Add needed prerequisites to use it.
46770         * modules/memchr-tests (Files, Depends-on, configure.ac):
46771         Likewise, to avoid implicit reliance on memchr module prereqs.
46772         * tests/test-memchr.c (main): Ensure proper masking.
46773         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
46774         reads.
46776         memchr: detect glibc Alpha bug
46777         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
46778         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
46779         Alpha.
46780         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
46781         * tests/test-memchr.c (main): Enhance test.
46782         Reported by Nelson H. F. Beebe.
46784 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46786         fts, getcwd, glob: audit for dirfd returning -1
46787         * lib/fts.c (opendir): Remove #define; no longer used.
46788         (opendirat): New arg PDIR_FD.  All callers changed.
46789         (fts_build, _opendir2): Use new opendirat to avoid the need for
46790         dirfd, or for checking whether dirfd returns a negative value.
46791         Don't use opendir; always use openat followed by fdopendir.
46792         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
46793         it.
46794         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
46795         returns -1 here.
46796         * modules/fts (Depends-on): Remove dirfd.
46797         * modules/getcwd (Depends-on): Likewise.
46799 2010-09-13  Eric Blake  <eblake@redhat.com>
46801         float: fix broken MirBSD header
46802         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
46803         * doc/posix-headers/float.texi (float.h): Document it.
46805 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46807         fts: use O_NOFOLLOW to avoid race condition when opening a directory
46808         * lib/fts.c (opendirat): New arg extra_flags.
46809         (__opendir2): Use it to avoid following symlinks when opening
46810         a directory, if symlinks are not supposed to be followed.  See
46811         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
46813         fdopendir: preserve argument fd before returning
46814         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
46815         (fdopendir_with_dup, fd_clone_opendir): New static functions.
46816         (fdopendir): Use them, arranging for FD to be open to the same
46817         directory that it was when it started.  (It might be temporarily
46818         closed while fdopendir is running, so this not thread- or
46819         signal-safe.)  Be careful to do the right thing even when file
46820         descriptors are scarce and dup fails with errno == EMFILE.  See
46821         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
46823 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
46825         regex: Pass the system regex if its only problem is 32-bit regoff_t.
46826         * NEWS: Document change.
46827         * m4/regex.m4: Disable test for regoff_t size.
46829 2010-09-13  Jim Meyering  <meyering@redhat.com>
46831         fts: don't operate on an invalid file descriptor after failed dup
46832         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
46833         negative file descriptor.
46835 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
46837         savedir: add streamsavedir, deprecate fdsavedir
46838         * NEWS: Mention deprecation of fdsavedir.
46839         * lib/savedir.c (streamsavedir): New extern function, whose name
46840         ends in "savedir" to be consistent with the others.  This differs
46841         from savedirstream in that it doesn't close its argument.  The
46842         next version of GNU tar will use this instead of fdsavedir, to
46843         avoid some race conditions and conserve file descriptors.
46844         (savedirstream): Reimplement as a wrapper around streamsavedir.
46845         (fdsavedir): Add a comment deprecating this function.  As far as
46846         I know, only GNU tar used it, and GNU tar doesn't need it any more.
46847         * lib/savedir.h (streamsavedir): New decl.
46848         (fdsavedir): Add a comment deprecating this.
46850 2010-09-10  Bruno Haible  <bruno@clisp.org>
46852         langinfo: Fix last commit.
46853         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
46854         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
46855         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46857 2010-09-10  Bruno Haible  <bruno@clisp.org>
46859         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
46860         * lib/progreloc.c (O_EXEC): Define fallback.
46862 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
46864         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
46865         * NEWS: Document recent changes to fcntl-h.
46866         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
46867         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
46868         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
46869         Similarly for O_SEARCH; this last was already true, but not documented.
46870         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
46871         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
46872         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
46873         Likewise.
46874         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
46875         is zero, not whether it is defined.
46876         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
46877         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
46878         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
46880 2010-09-10  Bruno Haible  <bruno@clisp.org>
46882         langinfo, nl_langinfo: Fix for IRIX 5.3.
46883         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
46884         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
46885         HAVE_LANGINFO_YESEXPR.
46886         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
46887         HAVE_LANGINFO_YESEXPR.
46888         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
46889         HAVE_LANGINFO_T_FMT_AMPM is 0.
46890         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
46891         HAVE_LANGINFO_YESEXPR is 0.
46892         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
46893         NOEXPR.
46894         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
46895         * doc/posix-functions/nl_langinfo.texi: Likewise.
46896         Reported by Eric Blake.
46898 2010-09-10  Bruno Haible  <bruno@clisp.org>
46900         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
46901         * doc/glibc-functions/login_tty.texi: Mention the include file problem
46902         on FreeBSD 8.0 and OpenBSD 4.6.
46903         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
46904         * m4/pty_h.m4 (gl_PTY_H): Likewise.
46905         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
46906         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
46907         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
46908         ac_includes_default.
46909         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
46911 2010-09-09  Eric Blake  <eblake@redhat.com>
46913         strsignal: work around NetBSD bug
46914         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
46915         * lib/string.in.h (includes): Likewise.
46916         * doc/posix-functions/strsignal.texi (strsignal): Document the
46917         bug.
46918         Reported by Nelson H. F. Beebe.
46920         gnulib-tool: work with NetBSD /bin/sh
46921         * gnulib-tool (func_cache_var, func_cache_lookup_module)
46922         (func_get_description, func_get_comment, func_get_status)
46923         (func_get_notice, func_get_applicability, func_get_filelist)
46924         (func_get_dependencies, func_get_autoconf_early_snippet)
46925         (func_get_autoconf_snippet, func_get_automake_snippet)
46926         (func_get_include_directive, func_get_link_directive)
46927         (func_get_license, func_get_maintainer, func_import): Avoid
46928         shell syntax errors from parsing syntax extensions.
46930 2010-09-09  Bruno Haible  <bruno@clisp.org>
46932         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
46933         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
46934         a reliable way to determine whether the 'alias' command works.
46936 2010-09-08  Jim Meyering  <meyering@redhat.com>
46938         init.sh: penalize a set-x-impaired shell; don't disqualify it
46939         * tests/init.sh: Too many shells corrupt application stderr when
46940         you set -x, so we can't afford to disqualify them, since at least
46941         on Irix-6.5, that would disqualify all bourne shells.
46942         Instead, use a two-pass approach.
46943         On the first pass, try to find a shell that meets the stricter
46944         condition that set -x does not corrupt stderr.
46945         If no shell meets the stricter condition, retest each candidate
46946         shell, but without that extra condition.  Finally, when
46947         VERBOSE=yes is requested and set -x might cause trouble, simply
46948         issue a warning and refrain from enabling debug output.
46950 2010-09-08  Eric Blake  <eblake@redhat.com>
46952         unsetenv: fix OpenBSD bug
46953         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
46954         * doc/posix-functions/unsetenv.texi (unsetenv): Update
46955         documentation.
46956         Reported by Jim Meyering.
46958         strtod: work around IRIX 6.5 bug
46959         * lib/strtod.c (strtod): Reparse number on shorter string if
46960         exponent parse was invalid.
46961         * tests/test-strtod.c (main): Add check for "0x1p 2".
46962         Reported by Tom G. Christensen.
46964         getopt: optimize previous patch
46965         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
46966         empty variable.  Speed up awk script.
46967         Reported by Paolo Bonzini.
46969 2010-09-08  Jim Meyering  <meyering@redhat.com>
46971         test.sh: disqualify shells for which set -x corrupts stderr
46972         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
46973         and OpenBSD 4.7.  They make it so with "set -x", environment settings
46974         appear in stderr output.  For example, this command:
46975             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
46976         prints "P=1" on those two systems:
46978 2010-09-08  Bruno Haible  <bruno@clisp.org>
46980         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
46981         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
46982         commands, because some shells ignore redirections when there is an
46983         error in the command lookup.
46984         Reported by Eric Blake.
46986 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
46988         * lib/regex.h: Fix a mention of `regex_compile' (should be
46989         `re_compile_pattern').
46990         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
46991         (re_set_registers): Correct name of parameter in comment.
46993         * doc/regex.texi: Add documentation for missing syntax flags.
46994         Remove commented-out documentation of defunct syntax option
46995         RE_NO_EMPTY_ALTS.
46996         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
46997         Add documentation of re_set_registers.
46998         Document trick to re-use a pattern buffer by setting fastmap manually.
46999         Update documentation of struct re_pattern_buffer per public members.
47000         Uncomment documentation of equivalence class operators and
47001         collating symbol operators, since they are now implemented,
47002         Explain leftmost-longest matching in relation to alternatives.
47003         Tidy documentation of substring matching.
47004         Remove POSIX documentation, which is done better in
47005         glibc, and refer the reader there. Keep BSD API documentation, as
47006         that is not readily available elsewhere.
47008 2010-09-07  Eric Blake  <eblake@redhat.com>
47010         getopt: handle POSIXLY_CORRECT set but not exported
47011         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
47012         export state of POSIXLY_CORRECT, due to bash set -o posix.
47013         Reported by Dustin J. Mitchell.
47015 2010-09-05  Bruno Haible  <bruno@clisp.org>
47017         gnulib-tool: Highlight the changed options.
47018         * gnulib-tool (func_usage): Display the --import, --add-import,
47019         --remove-import explanations in bold font.
47021 2010-09-06  Karl Berry  <karl@gnu.org>
47023         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
47025 2010-09-05  Bruno Haible  <bruno@clisp.org>
47027         uniwidth/width: Update comment.
47028         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
47029         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
47031 2010-09-05  Bruno Haible  <bruno@clisp.org>
47033         isinf, isnan: Relax license.
47034         * modules/isinf (License): Change from GPL to LGPL, with consent from
47035         Ben Pfaff.
47036         * modules/isnan (License): Likewise.
47037         Requested by Ludovic Courtès.
47039 2010-09-04  Bruno Haible  <bruno@clisp.org>
47041         gnulib-tool: Help migration from --import to --add-import or --update.
47042         * gnulib-tool: Emit a verbose error message when --import is used
47043         without any module name.
47045 2010-09-04  Bruno Haible  <bruno@clisp.org>
47047         Update doc about gnulib-tool.
47048         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
47049         'gnulib-tool --update' in more detail.
47050         Reported by Eric Blake.
47052 2010-09-04  Bruno Haible  <bruno@clisp.org>
47054         gnulib-tool: Change --import. New options --add/remove-import.
47055         * gnulib-tool: New options --add-import, --remove-import.
47056         (func_usage): Document them.
47057         (have_associative): Define always.
47058         (func_import): In import mode, don't merge the specified settings with
47059         the cached settings. Implement remove-import mode.
47060         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
47061         Explain when to use them versus --import.
47062         (Simple update): Use --add-import instead of --import.
47063         * NEWS: Mention the change.
47065 2010-09-04  Bruno Haible  <bruno@clisp.org>
47067         * doc/gnulib-tool.texi (Initial import): Update paragraph about
47068         separate gnulib.mk.
47070 2010-09-04  Bruno Haible  <bruno@clisp.org>
47072         gnulib-tool: Don't talk about CVS any more.
47073         * gnulib-tool (func_usage, func_import): Write "version control"
47074         instead of CVS.
47076 2010-09-04  Jim Meyering  <meyering@redhat.com>
47078         maint.mk: avoid obscure sc_copyright_check failure in coreutils
47079         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
47080         false positives (whose names may be ill-chosen) when searching
47081         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
47082         would cause a false-positive.
47084         avoid coreutils "make distcheck" failure
47085         Coreutils tests with an absolute build directory name that contains
47086         a space.  Not quoting this directory name caused a failure.
47087         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
47088         * tests/test-vc-list-files-cvs.sh: Likewise.
47090 2010-09-04  Bruno Haible  <bruno@clisp.org>
47092         gnulib-tool: Avoid error when run in a package without Makefile.am.
47093         * gnulib-tool: When collecting the m4dirs in a package that does not
47094         have a Makefile.am, eliminate those directories that contain no
47095         gnulib-cache.m4. Fix expression that counts these directories.
47097 2010-09-04  Bruno Haible  <bruno@clisp.org>
47099         update-copyright test: Improve output when perl is missing or too old.
47100         * tests/test-update-copyright.sh: Move test of Perl version down after
47101         the test whether Perl exists. Provide an explanation relating Perl's
47102         error message to Automake's SKIP: message.
47104 2010-09-04  Bruno Haible  <bruno@clisp.org>
47106         Don't augment PATH in TESTS_ENVIRONMENT.
47107         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
47108         set abs_aux_dir instead of augmenting PATH.
47109         * modules/vc-list-files-tests (Makefile.am): Likewise.
47110         * tests/test-update-copyright.sh: Augment PATH here.
47111         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
47112         path_prepend_.
47113         * tests/test-vc-list-files-git.sh: Likewise.
47115 2010-09-04  Jim Meyering  <meyering@redhat.com>
47117         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
47118         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
47120 2010-09-04  Bruno Haible  <bruno@clisp.org>
47122         strdup: Fix compilation error in C++ mode.
47123         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
47124         the macro.
47126 2010-09-04  Bruno Haible  <bruno@clisp.org>
47128         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
47129         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
47130         macro into a function.
47131         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
47133 2010-09-04  Bruno Haible  <bruno@clisp.org>
47135         Set PATH_SEPARATOR the same way autoconf does.
47136         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
47137         the value of PATH_SEPARATOR the same way autoconf-generated configure
47138         scripts do.
47139         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
47140         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
47142 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
47144         Set PATH_SEPARATOR the same way autoconf does.
47145         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
47146         the same way autoconf-generated configure scripts do.
47147         * posix-modules: Likewise.
47149 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
47151         hash: fix safe_hasher const typo
47152         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
47153         const; otherwise, there is a type error later.
47155 2010-09-02  Jim Meyering  <meyering@redhat.com>
47157         test-update-copyright.sh: require perl 5.8.0
47158         * tests/test-update-copyright.sh: Require 5.8.0,
47159         which Tom G. Christensen has confirmed is adequate,
47160         while 5.6.1 is not.
47162 2010-09-02  Eric Blake  <eblake@redhat.com>
47164         tests: init.sh improvements for re-exec'ing with zsh
47165         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
47166         -vx through shell re-exec.
47167         Reported by Tom G. Christensen.
47169         wctype: fix typo in previous commit
47170         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
47171         Reported by Ludovic Courtès.
47173 2010-09-02  Jim Meyering  <meyering@redhat.com>
47175         test-update-copyright.sh: skip test if Perl is too old
47176         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
47177         Reported by Tom G. Christensen.
47179 2010-09-02  Bruno Haible  <bruno@clisp.org>
47181         wctype: Avoid compilation error on IRIX 6.5.30.
47182         * lib/wctype.in.h (iswblank): Declare with a replacement if
47183         REPLACE_ISWBLANK is set.
47184         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
47185         declared. Set REPLACE_ISWBLANK.
47186         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
47187         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
47188         * doc/posix-headers/wctype.texi: Likewise.
47189         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47191 2010-09-01  Bruno Haible  <bruno@clisp.org>
47193         New module 'socketlib'.
47194         * modules/socketlib: New file.
47195         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
47196         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
47197         * modules/sockets (Depends-on): Add socketlib.
47198         Suggested by Sam Steingold <sds@gnu.org>.
47200 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47202         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
47204         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
47205         when one needs search access to a directory but not read access.
47206         On systems where it is available, it works in some cases where
47207         O_RDONLY does not, namely on directories that are searchable but
47208         not readable, and which need only to be searchable.  If O_SEARCH
47209         is not available, fall back to the traditional method of using
47210         O_RDONLY.
47212         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
47213         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
47214         when opening a directory that needs only to be searchable.
47215         * lib/chdir-safer.c (chdir_no_follow): Likewise.
47216         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
47217         * lib/openat-proc.c (openat_proc_name): Likewise.
47218         * lib/openat.c (openat_needs_fchdir): Likewise.
47219         * lib/save-cwd.c (save_cwd): Likewise.
47220         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
47222 2010-08-28  Bruno Haible  <bruno@clisp.org>
47224         New module 'host-cpu-c-abi'.
47225         * modules/host-cpu-c-abi: New file.
47226         * m4/host-cpu-c-abi.m4: New file, based on part of
47227         clisp/src/m4/general.m4.
47228         Requested by Sam Steingold <sds@gnu.org>.
47230 2010-08-31  Eric Blake  <eblake@redhat.com>
47231         and Jim Meyering  <meyering@redhat.com>
47233         hash: factor, and guard against misbehaving hasher function
47234         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
47235         of table->hasher's return value.  Also protect against a hash value
47236         so large that adding it to table->bucket results in a NULL pointer.
47237         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
47238         Use it in place of open-coded check-and-abort.
47240 2010-08-30  Bruno Haible  <bruno@clisp.org>
47242         hash: silence spurious clang warning
47243         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
47244         Reported by Eric Blake.
47246 2010-08-30  Eric Blake  <eblake@redhat.com>
47248         strstr, memmem, strcasestr: avoid leaked shell message
47249         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
47250         FreeBSD.
47251         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47252         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47254         tests: silence clang warning
47255         * tests/test-malloca.c (do_allocation): Avoid dead store.
47257 2010-08-29  Bruno Haible  <bruno@clisp.org>
47259         gettext: Fix recent mistake.
47260         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
47262 2010-08-29  Bruno Haible  <bruno@clisp.org>
47264         selinux-h: Offer a --without-selinux option.
47265         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
47266         --without-selinux was specified, skip all tests and define
47267         HAVE_SELINUX_SELINUX_H to 0.
47268         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
47269         set LIB_SELINUX to empty.
47270         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
47271         gl_LIBSELINUX. If --without-selinux was specified, replace
47272         selinux/context.h.
47273         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
47275 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47276             Bruno Haible  <bruno@clisp.org>
47278         Make the module 'realloc-gnu' work again on AIX and OSF/1.
47279         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
47280         of HAVE_REALLOC.
47281         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
47282         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
47283         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
47284         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
47286 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47287             Bruno Haible  <bruno@clisp.org>
47289         Make the module 'calloc-gnu' work again on AIX and OSF/1.
47290         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
47291         HAVE_CALLOC.
47292         * lib/xmalloc.c: Update accordingly.
47293         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
47294         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
47295         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
47297 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47298             Bruno Haible  <bruno@clisp.org>
47300         Make the module 'malloc-gnu' work again on AIX and OSF/1.
47301         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
47302         HAVE_MALLOC.
47303         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
47304         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
47305         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
47307 2010-08-29  Bruno Haible  <bruno@clisp.org>
47309         Update modules list.
47310         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
47311         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
47312         (String handling <string.h>): Add astrxfrm.
47313         (File system functions): Add readlinkat.
47315 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47317         Tests for module 'realloc-gnu'.
47318         * modules/realloc-gnu-tests: New file.
47319         * tests/test-realloc-gnu.c: New file.
47321         Tests for module 'calloc-gnu'.
47322         * modules/calloc-gnu-tests: New file.
47323         * tests/test-calloc-gnu.c: New file.
47325         Tests for module 'malloc-gnu'.
47326         * modules/malloc-gnu-tests: New file.
47327         * tests/test-malloc-gnu.c: New file.
47329 2010-08-28  Bruno Haible  <bruno@clisp.org>
47331         Rename module 'realloc' -> 'realloc-gnu'.
47332         * modules/realloc-gnu: New file, copied from modules/realloc.
47333         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
47334         obsolete.
47335         * modules/mgetgroups (Depends-on): Update.
47336         * doc/posix-functions/realloc.texi: Update.
47337         * NEWS: Mention the change.
47339         Rename module 'calloc' -> 'calloc-gnu'.
47340         * modules/calloc-gnu: New file, copied from modules/calloc.
47341         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
47342         obsolete.
47343         * doc/posix-functions/calloc.texi: Update.
47344         * NEWS: Mention the change.
47346         Rename module 'malloc' -> 'malloc-gnu'.
47347         * modules/malloc-gnu: New file, copied from modules/malloc.
47348         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
47349         obsolete.
47350         * modules/argp (Depends-on): Update.
47351         * modules/regex (Depends-on): Update.
47352         * doc/posix-functions/malloc.texi: Update.
47353         * NEWS: Mention the change.
47355 2010-08-28  Eric Blake  <eblake@redhat.com>
47357         pread, pwrite: add missing dependency
47358         * modules/pread (Depends-on): Add extensions.
47359         * modules/pwrite (Depends-on): Likewise.
47361 2010-08-28  Bruno Haible  <bruno@clisp.org>
47363         unistr/u*-strchr: Fix tests dependencies.
47364         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
47365         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
47366         Reported by Ian Beckwith <ianb@erislabs.net>.
47368 2010-08-28  Bruno Haible  <bruno@clisp.org>
47370         read-file: Don't occupy too much unused memory.
47371         * lib/read-file.c (fread_file): Shrink the buffer at the end.
47373 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
47374             Eric Blake  <eblake@redhat.com>
47375             Bruno Haible  <bruno@clisp.org>
47377         read-file: Avoid memory reallocations with regular files.
47378         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
47379         (fread_file): With regular files, use the remaining length as the
47380         initial buffer size.  Check against overflow.
47381         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
47382         sys_stat.
47384 2010-08-28  Bruno Haible  <bruno@clisp.org>
47386         ftello: Relax license.
47387         * modules/ftello (License): Relax to LGPLv2+.
47388         Reported by Eric Blake.
47390 2010-08-28  Bruno Haible  <bruno@clisp.org>
47392         Avoid relocwrapper link errors due to gnulib replacement functions.
47393         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
47394         function.
47395         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47397 2010-08-28  Bruno Haible  <bruno@clisp.org>
47399         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
47400         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
47401         defined.
47402         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
47403         Suggested by Eric Blake.
47405 2010-08-28  Bruno Haible  <bruno@clisp.org>
47407         sys_socket, netdb: Ensure socklen_t gets defined.
47408         * modules/sys_socket (Depends-on): Add socklen.
47409         * modules/netdb (Depends-on): Likewise.
47410         * modules/getaddrinfo (Depends-on): Remove socklen.
47411         * modules/getsockopt (Depends-on): Likewise.
47412         * modules/setsockopt (Depends-on): Likewise.
47413         * tests/test-sys_socket.c: Check that socklen_t is defined.
47414         * tests/test-netdb.c: Likewise.
47415         * m4/socklen.m4: Update comments.
47416         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47418 2010-08-27  Eric Blake  <eblake@redhat.com>
47420         login_tty: add missing dependency
47421         * modules/login_tty (Depends-on): Add pty.
47423 2010-08-26  Eric Blake  <eblake@redhat.com>
47425         lib-symbol-versions: fix m4 quoting
47426         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
47427         format for AC_LINK_IFELSE.
47429         glob: fix compile test
47430         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
47432         btowc: fix missing file
47433         * modules/btowc (Files): Also ship locale-fr.m4.
47435         lseek: fix link test
47436         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
47437         AC_LINK_IFELSE.
47439         include_next: silence autoconf 2.68 warning
47440         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
47441         AC_COMPILE_IFELSE as special.
47442         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
47443         autoconf < 2.68.
47445         acl: fix compilation test
47446         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
47447         AC_COMPILE_IFELSE.
47449 2010-08-26  Bruno Haible  <bruno@clisp.org>
47451         Modernize AC_TRY_RUN invocations.
47452         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
47453         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
47454         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
47455         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
47456         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
47457         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
47458         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
47459         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
47460         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
47461         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
47462         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
47463         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
47464         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
47465         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
47466         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
47467         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
47468         gl_MBRLEN_NUL_RETVAL): Likewise.
47469         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
47470         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
47471         Likewise.
47472         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
47473         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
47474         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
47475         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
47476         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
47477         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
47478         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
47479         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
47480         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
47481         Likewise.
47482         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
47483         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
47484         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47485         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
47486         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
47487         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
47488         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
47489         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
47490         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
47491         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
47493 2010-08-26  Bruno Haible  <bruno@clisp.org>
47495         Modernize AC_TRY_LINK invocations.
47496         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
47497         AC_TRY_LINK.
47498         * m4/argp.m4 (gl_ARGP): Likewise.
47499         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
47500         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
47501         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
47502         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
47503         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
47504         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
47505         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
47506         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
47507         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
47508         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
47509         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
47510         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
47511         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
47512         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
47513         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
47514         * m4/hostent.m4 (gl_HOSTENT): Likewise.
47515         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
47516         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
47517         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
47518         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
47519         Likewise.
47520         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
47521         Likewise.
47522         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
47523         Likewise.
47524         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
47525         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
47526         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
47527         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
47528         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
47529         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
47530         * m4/servent.m4 (gl_SERVENT): Likewise.
47531         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
47532         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
47533         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
47534         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
47535         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
47536         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
47537         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
47538         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
47539         * modules/tsearch-tests (configure.ac): Likewise.
47541 2010-08-26  Bruno Haible  <bruno@clisp.org>
47543         Modernize AC_TRY_COMPILE invocations.
47544         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
47545         AC_TRY_COMPILE.
47546         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
47547         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
47548         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
47549         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
47550         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
47551         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47552         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
47553         * m4/lock.m4 (gl_LOCK): Likewise.
47554         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
47555         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47556         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
47557         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
47558         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
47559         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
47560         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
47561         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
47562         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
47563         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
47564         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
47565         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
47566         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
47567         extraneous semicolon.
47569 2010-08-26  Jim Meyering  <meyering@redhat.com>
47571         stat-time: relax license LGPL
47572         * modules/stat-time (License): Change from GPL to LGPL,
47573         with consent from all contributors, for use in libguile.
47574         Requested by Ludovic Courtès.
47576 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
47578         poll: return immediately on POLLHUP.
47579         * lib/poll.c (poll): Always set timeout before wait_timeout is
47580         computed.
47582 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47584         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
47585         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
47586         rmdir ("dir/.//"), unlinkat.
47588 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47590         stdbool: avoid spurious failure with modern xlc
47591         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
47593 2010-08-24  Bruno Haible  <bruno@clisp.org>
47595         getloadavg: simplify code
47596         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
47597         gl_have_func. Update comments.
47599 2010-08-24  Eric Blake  <eblake@redhat.com>
47601         getloadavg: don't define SVR4 on cygwin
47602         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
47603         only define SVR4 when -lkvm is required.
47604         Reported by Yaakov Selkowitz.
47606 2010-08-24  Bruno Haible  <bruno@clisp.org>
47608         priv-set: fix comment
47609         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
47611 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47613         priv-set: fix comments
47614         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
47615         to match code, as suggested by David Bartley in:
47616         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
47618 2010-08-23  Eric Blake  <eblake@redhat.com>
47620         stdbool: avoid rejecting clang
47621         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
47622         * tests/test-stdbool.c: Enable more tests if using the system
47623         <stdbool.h> instead of the gnulib replacement.
47624         (main): Move xlc bug test to a runtime test for all compilers.
47625         Reported by Anders Kaseorg.
47627         argz: fix shell quoting issue
47628         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
47629         Reported by Charles Wilson.
47631 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
47632             Erik Faye-Lund <kusmabite@gmail.com>
47634         poll, select: handle ERROR_BROKEN_PIPE.
47635         * lib/poll.c (win32_compute_revents): Return POLLHUP when
47636         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
47637         * lib/select.c (win32_compute_revents): Do not mark a pipe
47638         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
47640 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
47642         fts: allow compilation with C++
47643         * lib/fts_.h: Specify extern "C" linkage with C++.
47645 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47647         Fix gnulib-tool sed script de-commentation for AIX sed.
47648         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
47649         sed.
47651 2010-08-17  Eric Blake  <eblake@redhat.com>
47653         test-stddef: test for (some) offsetof bugs
47654         * tests/test-stddef.c: Enhance test to ensure correct type of
47655         offsetof.
47656         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
47657         that we are not fixing at this time.
47659 2010-08-15  Bruno Haible  <bruno@clisp.org>
47661         stpncpy: Allow stpncpy to be defined as a macro.
47662         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
47663         if it's already correctly declared.
47664         * lib/string.in.h (stpncpy): Undefine before redefining.
47665         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
47667 2010-08-14  Bruno Haible  <bruno@clisp.org>
47669         Rename module 'memxfrm' to 'amemxfrm'.
47670         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
47671         (amemxfrm): Renamed from memxfrm.
47672         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
47673         (amemxfrm): Renamed from memxfrm.
47674         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
47675         * NEWS: Mention the change.
47676         * MODULES.html.sh (String handling <string.h>): Update.
47677         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
47678         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
47679         * lib/unicase/u16-casexfrm.c: Likewise.
47680         * lib/unicase/u32-casexfrm.c: Likewise.
47681         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
47682         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
47683         * lib/uninorm/u16-normxfrm.c: Likewise.
47684         * lib/uninorm/u32-normxfrm.c: Likewise.
47685         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
47686         memxfrm.
47687         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
47688         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
47689         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
47690         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
47691         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
47692         Suggested by Paul Eggert.
47694 2010-08-14  Bruno Haible  <bruno@clisp.org>
47696         Tests for module 'astrxfrm'.
47697         * modules/astrxfrm-tests: New file.
47698         * tests/test-astrxfrm.c: New file.
47700         New module 'astrxfrm'.
47701         * lib/astrxfrm.h: New file.
47702         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
47703         * modules/astrxfrm: New file.
47705 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
47707         regex: Tweak doc.
47708         * doc/regex.texi (Overview): Don't mention regex.c.
47709         (GNU Regular Expression Compiling): Likewise.
47710         (Match-end-of-line Operator): Mention 'not_eol'.
47712 2010-08-14  Brian Gough  <bjg@gnu.org>
47713             Bruno Haible  <bruno@clisp.org>
47715         git-merge-changelog: add doc relating to use with bzr and hg.
47716         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
47718 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
47720         pthread: fix pthread.h creation for srcdir != builddir
47721         * modules/pthread (Makefile.am): Fix the rule to work also in a
47722         non-srcdir build.
47724 2010-08-13  Karl Berry  <karl@gnu.org>
47726         * doc/regex.texi (Predefined Syntaxes): @smallexample.
47727         * doc/posix-*/*: force line break before @url of POSIX
47728         specifications.
47729         Suggested by Werner Lemberg.
47731 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
47733         strtod: fix const diagnostic
47734         * lib/strtod.c (strtod): Don't assign const char * to char *,
47735         as this elicits a warning from GCC when warnings are enabled.
47737 2010-08-10  Pádraig Brady  <P@draigbrady.com>
47738         and Eric Blake  <eblake@redhat.com>
47740         copy-acl: ignore ENOTSUP on HP-UX
47741         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
47742         so that it is available for HP-UX.
47743         * lib/copy-acl.c (qcopy_acl): Use it.
47744         Reported by Patrick M. Callahan.
47746 2010-08-10  Eric Blake  <eblake@redhat.com>
47748         open, chown: relax license
47749         * modules/open (License): Change to LGPLv2+, with consent by all
47750         authors, for use in augeas.
47751         * modules/chown (License): Likewise.
47752         * modules/lchown (Likewise): Likewise.
47753         Requested by Adam Stokes.
47755 2010-08-09  Karl Berry  <karl@gnu.org>
47757         * build-aux/ar-lib: new file, import from Automake.
47758         * config/srclist.txt: autocheck for updates.
47760 2010-08-09  Eric Blake  <eblake@redhat.com>
47762         readlinkat: adjust client modules
47763         * modules/areadlinkat (Depends-on): Use readlinkat, not
47764         symlinkat.
47765         * modules/areadlinkat-with-size (Depends-on): Likewise.
47767         mknod: be more vocal about danger of running tests as root
47768         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
47769         root, since that is just asking for problems.
47770         Suggested by Bruno Haible, based on a report by Rainer Tammer.
47772         readlinkat: split into its own module
47773         * modules/symlinkat: Split readlinkat...
47774         * modules/readlinkat: ...into separate module.
47775         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
47776         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
47777         * lib/symlinkat.c (readlinkat): Move...
47778         * lib/readlinkat.c: ...into new file.
47779         * modules/symlinkat-tests: Split readlinkat test...
47780         * modules/readlinkat-tests: ...into separate module.
47781         * tests/test-symlinkat.c: Split...
47782         * tests/test-readlinkat.c: ...into new file.
47783         * NEWS: Document the split.
47784         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
47785         * lib/unistd.in.h (readlinkat): Likewise.
47786         Suggested by Bruno Haible.
47788 2010-08-08  Bruno Haible  <bruno@clisp.org>
47790         memxfrm: Speed up.
47791         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
47792         that usually only one call to strxfrm is necessary for each string
47793         part.
47794         Reported by Paul Eggert <eggert@cs.ucla.edu>.
47796 2010-08-07  Karl Berry  <karl@gnu.org>
47798         * doc/posix-headers/limits.texi,
47799         * doc/posix-functions/malloc.texi,
47800         * doc/posix-functions/strsignal.texi: missing @item.
47801         * doc/ld-version-script.texi: spurious leading i.
47802         * doc/regex.texi (Interval Operators): no commas inside @var.
47804 2010-08-01  Bruno Haible  <bruno@clisp.org>
47806         Integrate the regex documentation.
47807         * doc/gnulib.texi: Define 'cn' index.
47808         (Regular expressions): New a chapter that includes regex.texi and
47809         regexprops-generic.texi.
47810         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
47811         syntax.
47813         Whitespace cleanup.
47814         * doc/regex.texi: Remove trailing spaces.
47816         Add regex documentation.
47817         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
47818         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
47819         Written by Kathy A. Hargreaves and Karl Berry.
47821 2010-08-01  Bruno Haible  <bruno@clisp.org>
47823         link: Update documentation.
47824         * doc/posix-functions/link.texi: Update regarding Solaris.
47826 2010-07-31  Bruno Haible  <bruno@clisp.org>
47828         Update modules list.
47829         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
47830         (String handling <string.h>): Add memcmp2, memxfrm.
47831         (Container data structures): Add xlist, xsublist, xoset.
47832         (Core language properties): Add alignof, unused-parameter.
47833         (Process control, Numeric conversion functions <stdlib.h>): Renamed
47834         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
47835         (Unibyte characters <ctype.h>): New section.
47836         (String handling <string.h>): New section.
47837         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
47838         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
47839         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
47840         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
47841         tan, tanh, tanl, y0, y1, yn.
47842         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
47843         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
47844         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
47845         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
47846         unlockpt, vdprintf, vdprintf-posix.
47847         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
47848         (File system functions): Add concat-filename, sys_file, sys_ioctl,
47849         xconcat-filename.
47850         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
47851         getdtablesize, pipe2, pipe2-safer.
47852         (Security): New section.
47853         (Networking functions): Add accept4.
47854         (Signal handling): Add sigpipe.
47855         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
47856         mbmemcasecoll.
47857         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
47858         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
47859         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
47860         pipe-filter-ii.
47861         (Misc): Add argp-version-etc, login_tty, parse-duration.
47863 2010-07-31  Bruno Haible  <bruno@clisp.org>
47865         Improve doc in MODULES.html.
47866         * modules/linkat (Description): Add the word "function".
47867         * modules/mkfifo (Description): Likewise.
47868         * modules/mknod (Description): Likewise.
47869         * modules/remove (Description): Likewise.
47870         * modules/renameat (Description): Likewise.
47871         * modules/stat (Description): Likewise.
47872         * modules/symlink (Description): Likewise.
47873         * modules/unlink (Description): Likewise.
47875 2010-07-31  Bruno Haible  <bruno@clisp.org>
47877         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
47878         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
47879         option --enable/disable-c++ instead of --enable/disable-cxx.
47880         * NEWS: Mention the change.
47882 2010-07-31  Bruno Haible  <bruno@clisp.org>
47884         readlink, areadlink: Relax test a bit.
47885         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
47886         alternative to ENOTDIR.
47887         * tests/test-areadlink.h (test_areadlink): Likewise.
47888         Reported by Rainer Tammer.
47890 2010-07-31  Bruno Haible  <bruno@clisp.org>
47892         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
47893         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
47894         character, perform the search using U_STRCHR.
47895         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
47896         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
47897         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
47898         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
47899         Suggested by Paolo Bonzini.
47901 2010-07-31  Bruno Haible  <bruno@clisp.org>
47903         unistr/u*-strstr: Fix dependencies.
47904         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
47905         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
47906         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
47908 2010-07-31  Bruno Haible  <bruno@clisp.org>
47910         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
47911         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
47912         the beginning of the loop.
47913         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
47914         cases in 'switch' statement.
47916         unistr/u8-strchr: Fix several bugs.
47917         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
47918         the string. When not found, return NULL, not a pointer near the end.
47920         More tests for unistr/u8-strchr.
47921         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
47922         that the function does not read past the first occurrence of the byte
47923         being searched.
47924         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
47925         * tests/unistr/test-u16-strchr.c (main): New function.
47926         * tests/unistr/test-u32-strchr.c (main): New function.
47928 2010-07-31  Bruno Haible  <bruno@clisp.org>
47930         posix-modules: Ignore backup files of documentation files.
47931         * posix-modules: grep only through files named *.texi.
47933 2010-07-31  Bruno Haible  <bruno@clisp.org>
47935         symlinkat: Fix documentation.
47936         * doc/posix-functions/readlinkat.texi: Fix module name.
47938 2010-07-31  Bruno Haible  <bruno@clisp.org>
47940         fchownat: Replace also when chown has the trailing slash bug.
47941         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
47942         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
47943         introduced on 2010-04-10.
47944         Reported by Rainer Tammer.
47946 2010-07-31  Bruno Haible  <bruno@clisp.org>
47948         linkat: Work around AIX 7.1 bug.
47949         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
47950         whether linkat handles trailing slash correctly. If not, replace linkat
47951         and define LINKAT_TRAILING_SLASH_BUG.
47952         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
47953         check whether (fd1,file1) points to a directory if file1 or file2 ends
47954         in a slash. Code taken from lib/link.c.
47955         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
47956         Reported by Rainer Tammer.
47958 2010-07-31  Bruno Haible  <bruno@clisp.org>
47960         Correctly determine whether pow is available in libc on AIX 7 with xlc.
47961         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
47962         This disables an xlc optimization that was causing wrong test results.
47963         Reported by Rainer Tammer.
47965 2010-07-31  Bruno Haible  <bruno@clisp.org>
47967         iconv: Work around AIX 6.1..7.1 bug.
47968         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
47969         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
47970         cross-compiling, guess no on all versions of AIX.
47971         Reported by Rainer Tammer.
47973 2010-07-31  Bruno Haible  <bruno@clisp.org>
47975         readlink: Relax test a bit.
47976         * tests/test-readlink.h (test_readlink): Allow different errno value
47977         when readlink is called with a file name that ends in / and refers to
47978         a file.
47979         Suggested by Eric Blake.
47980         Reported by Rainer Tammer.
47982 2010-07-31  Bruno Haible  <bruno@clisp.org>
47984         copysign: Does not require -lm on glibc systems.
47985         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
47986         gl_COMMON_DOUBLE_MATHFUNC.
47987         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
47989 2010-07-31  Bruno Haible  <bruno@clisp.org>
47991         duplocale: Work around AIX 7.1 bug.
47992         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
47993         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
47994         * lib/duplocale.c (rpl_duplocale): Update comment.
47995         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
47996         Reported by Rainer Tammer.
47998 2010-07-30  Bruno Haible  <bruno@clisp.org>
48000         dirfd: Avoid link error on AIX 7.1.
48001         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
48002         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
48003         exist, set REPLACE_DIRFD.
48004         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
48005         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
48006         * doc/posix-functions/dirfd.texi: Update.
48007         Reported by Rainer Tammer.
48009 2010-07-30  Eric Blake  <eblake@redhat.com>
48011         strtod: next round of AIX fixes
48012         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
48013         exponent.
48014         * tests/test-strtod.c (main): Enhance tests.
48015         * doc/posix-functions/strtod.texi (strtod): Document next bug.
48016         Reported by Rainer Tammer.
48018         futimens: fix configure check
48019         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
48020         Reported by Bruno Haible.
48022 2010-07-30  Bruno Haible  <bruno@clisp.org>
48024         getline: Update regarding AIX.
48025         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
48026         Reported by Rainer Tammer.
48028 2010-07-30  Bruno Haible  <bruno@clisp.org>
48030         wcwidth: Drop replacement on AIX 7.
48031         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
48032         AIX 7.
48033         Reported by Rainer Tammer.
48035 2010-07-30  Bruno Haible  <bruno@clisp.org>
48037         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
48038         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
48039         a 'char *'.
48040         Reported by Rainer Tammer.
48042 2010-07-30  Bruno Haible  <bruno@clisp.org>
48044         unlink: Update regarding AIX.
48045         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
48046         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
48047         Reported by Rainer Tammer.
48049 2010-07-30  Bruno Haible  <bruno@clisp.org>
48051         symlink: Update regarding AIX.
48052         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
48053         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
48054         Reported by Rainer Tammer.
48056 2010-07-30  Bruno Haible  <bruno@clisp.org>
48058         strndup: Update regarding AIX.
48059         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
48060         AIX 7.
48061         Reported by Rainer Tammer.
48063 2010-07-30  Bruno Haible  <bruno@clisp.org>
48065         stat: Update regarding AIX.
48066         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
48067         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
48068         Reported by Rainer Tammer.
48070 2010-07-30  Bruno Haible  <bruno@clisp.org>
48072         truncl: Fix autoconf test.
48073         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
48074         whether truncl works.
48075         Reported by Rainer Tammer.
48077 2010-07-30  Bruno Haible  <bruno@clisp.org>
48079         round: Update regarding AIX.
48080         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
48081         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
48082         Reported by Rainer Tammer.
48084 2010-07-30  Bruno Haible  <bruno@clisp.org>
48086         rename: Update regarding AIX.
48087         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
48088         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
48089         Reported by Rainer Tammer.
48091 2010-07-30  Bruno Haible  <bruno@clisp.org>
48093         printf.m4: Update regarding AIX.
48094         * m4/printf.m4: Update comments regarding AIX.
48095         Reported by Rainer Tammer.
48097 2010-07-30  Bruno Haible  <bruno@clisp.org>
48099         iconv: Update regarding AIX.
48100         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
48101         AIX 7.
48102         Reported by Rainer Tammer.
48104 2010-07-30  Bruno Haible  <bruno@clisp.org>
48106         getopt: Update regarding AIX.
48107         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
48108         no on AIX.
48109         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
48110         Reported by Rainer Tammer.
48112 2010-07-30  Bruno Haible  <bruno@clisp.org>
48114         ldexpl; Update regarding AIX.
48115         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
48116         on AIX 7.
48117         Reported by Rainer Tammer.
48119 2010-07-30  Bruno Haible  <bruno@clisp.org>
48121         frexpl: Update regarding AIX.
48122         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
48123         on AIX 7.
48124         Reported by Rainer Tammer.
48126 2010-07-30  Bruno Haible  <bruno@clisp.org>
48128         open, fopen: Update regarding AIX.
48129         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
48130         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
48131         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
48132         * doc/posix-functions/fopen.texi: Likewise.
48133         Reported by Rainer Tammer.
48135 2010-07-30  Bruno Haible  <bruno@clisp.org>
48137         chown: Update doc regarding AIX.
48138         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
48139         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
48140         Reported by Rainer Tammer.
48142 2010-07-30  Eric Blake  <eblake@redhat.com>
48144         strtod: fix bug in replacement function on AIX
48145         * lib/strtod.c (strtod): Special case broken "0x" parse in
48146         underlying strtod.
48147         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
48148         * doc/posix-functions/strtod.texi (strtod): Likewise.
48149         Reported by Rainer Tammer.
48151 2010-07-30  Bruno Haible  <bruno@clisp.org>
48153         mbrlen: Fix cross-compilation guess for AIX.
48154         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
48155         guess. Leftover from 2008-12-22.
48157 2010-07-30  Bruno Haible  <bruno@clisp.org>
48159         mbrtowc: Fix cross-compilation guess for AIX.
48160         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
48161         guess. Leftover from 2008-12-21.
48163 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
48165         init.sh: work around trap limitation of some shells
48166         * tests/init.sh (setup_): Move exit trap outside of shell function.
48168 2010-07-29  Eric Blake  <eblake@redhat.com>
48170         strtod: aid debugging
48171         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
48172         understanding why strtod is rejected.
48174 2010-07-28  Bruno Haible  <bruno@clisp.org>
48176         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
48177         * lib/unistr/u8-chr.c: Include <string.h>.
48178         * tests/unistr/test-u8-chr.c: Likewise.
48179         * tests/unistr/test-u16-chr.c: Likewise.
48180         * tests/unistr/test-u32-chr.c: Likewise.
48181         * tests/unistr/test-u8-strchr.c: Likewise.
48182         * tests/unistr/test-u16-strchr.c: Likewise.
48183         * tests/unistr/test-u32-strchr.c: Likewise.
48184         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
48185         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
48186         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
48187         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
48189 2010-07-28  Bruno Haible  <bruno@clisp.org>
48191         Use spaces for indentation, not tabs.
48192         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
48194 2010-07-27  Bruno Haible  <bruno@clisp.org>
48196         mbspcasecmp: Fix function specification.
48197         * lib/string.in.h (mbspcasecmp): Fix specification comment.
48198         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
48199         Reported by Eric Blake <eblake@redhat.com>.
48201 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
48203         timespec: use cast and not conditional, as truncation isn't possible
48204         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
48205         instead of a conditional.  Comment about the situation in more detail.
48206         This undoes most of the 2009-10-29 patch.
48208 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
48210         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
48211         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
48212         * lib/unistr/u8-strchr.c: Likewise.
48213         * modules/unistr/u8-chr: Depend on memchr.
48215         unistr/u*-strchr: add tests
48216         * modules/unistr/u8-strchr-tests: New file.
48217         * modules/unistr/u16-strchr-tests: New file.
48218         * modules/unistr/u32-strchr-tests: New file.
48219         * tests/unistr/test-strchr.h: New file.
48220         * tests/unistr/test-u8-strchr.c: New file.
48221         * tests/unistr/test-u16-strchr.c: New file.
48222         * tests/unistr/test-u32-strchr.c: New file.
48224         unistr/u*-chr: test multibyte sequences more
48225         * tests/unistr/test-chr.h: Do complete testing of the characters in the
48226         test vector.
48227         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
48228         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
48229         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
48231         unistr/u*-chr: test multibyte sequences
48232         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
48234         unistr/u*-chr: prepare for multibyte tests
48235         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
48236         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
48237         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
48238         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
48239         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
48240         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
48242 2010-07-18  Bruno Haible  <bruno@clisp.org>
48244         unistr/u8-strchr: Optimize non-ASCII argument case.
48245         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
48246         because the first byte often matches anyway.
48247         Reported by Pádraig Brady <P@draigbrady.com>.
48249 2010-07-15  Karl Berry  <karl@gnu.org>
48251         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
48253 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
48255         getcwd: on Solaris, work better if ancestors are inaccessible
48256         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
48257         buffer and size, try again with a large buffer.  This works better
48258         on Solaris, since its getcwd succeeds even if the path to the root
48259         is inaccessible, and this is helpful in common cases such as .zfs
48260         hidden directories.  Problem reported by J Chapman Flack in
48261         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
48262         Use system getcwd if it's declared, not merely if it's partly
48263         working; use the partly-working test only to avoid needless effort
48264         if the system getcwd fails.
48265         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
48266         comment that was already obsolete and is now even more obsolete.
48267         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
48268         now might call strdup.
48270 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
48272         pthread: Add enough so that coreutils/src/sort.c compiles.
48273         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
48274         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
48275         gnulib. Include <sched.h> and <time.h>, as per POSIX.
48276         Include <sys/types.h>, in case it defines pthread_t.
48277         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
48278         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
48279         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
48280         (pthread_rwlockattr_t, pthread_spinlock_t):
48281         New typedefs, if HAVE_PTHREAD_T is not defined.
48282         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
48283         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
48284         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
48285         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
48286         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
48287         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
48288         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
48289         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
48290         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
48291         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
48292         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
48293         New macros.
48294         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
48295         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
48296         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
48297         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
48298         (pthread_spin_unlock): New dummy functions.
48299         (pthread_create): Return EAGAIN; don't set errno.
48300         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
48301         require AC_C_INLINE.
48302         * modules/pthread (Depends-on): Add sched, time.
48303         (pthread.h): Use AM_V_GEN.
48305 2010-07-13  Bruno Haible  <bruno@clisp.org>
48307         striconveh: Don't malloc memory if the result buffer is sufficient.
48308         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
48309         buffer if its size is sufficient.
48310         Reported by Ludovic Courtès <ludo@gnu.org>.
48312 2010-07-13  Bruno Haible  <bruno@clisp.org>
48314         strtod: Add safety check.
48315         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
48317 2010-07-12  Bruno Haible  <bruno@clisp.org>
48319         Unify tests that set gl_cv_func_ldexpl_no_libm.
48320         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
48321         gl_FUNC_LDEXPL.
48322         (gl_FUNC_LDEXPL): Invoke it.
48323         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48325 2010-07-12  Bruno Haible  <bruno@clisp.org>
48327         Unify tests that set gl_cv_func_ldexp_no_libm.
48328         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
48329         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
48330         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
48331         (configure.ac): Simply invoke gl_FUNC_LDEXP.
48332         * modules/strtod (Files): Add m4/ldexp.m4.
48334 2010-07-12  Bruno Haible  <bruno@clisp.org>
48336         Unify tests that set gl_cv_func_frexpl_no_libm.
48337         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
48338         gl_FUNC_FREXPL_NO_LIBM.
48339         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
48340         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48342 2010-07-12  Bruno Haible  <bruno@clisp.org>
48344         Unify tests that set gl_cv_func_frexp_no_libm.
48345         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
48346         gl_FUNC_FREXP_NO_LIBM.
48347         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
48348         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
48350 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
48352         memcoll: clarify sizes versus lengths, document better, and tweak perf
48353         * lib/memcoll.c (strcoll_loop, memcoll0):
48354         Improve quality of descriptive comments.  Name variables
48355         consistently as to whether they are lengths (which do not include
48356         terminating null) versus sizes (which do).
48357         * lib/xmemcoll.c (xmemcoll0): Likewise.
48358         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
48359         returned when s1size == 0; this is easier to compile and saves
48360         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
48362 2010-07-12  Bruno Haible  <bruno@clisp.org>
48364         Tests for module '_Exit'.
48365         * modules/_Exit-tests: New file.
48366         * tests/test-_Exit.sh: New file.
48367         * tests/test-_Exit.c: New file.
48369         New module '_Exit'.
48370         * lib/stdlib.in.h (__attribute__): New macro.
48371         (_Exit): New declaration.
48372         * lib/_Exit.c: New file.
48373         * m4/_Exit.m4: New file.
48374         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
48375         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
48376         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
48377         * modules/_Exit: New file.
48378         * tests/test-stdlib-c++.cc (_Exit): Check signature.
48379         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
48381 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
48383         strtod: make it more-accurate typically, and don't require libm
48384         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
48385         Include limits.h.  Don't include string.h.
48386         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
48387         (locale_isspace): New function, so that no casts are needed to
48388         check whether *s is a space.
48389         (ldexp): Provide an unused dummy if not available.
48390         (scale_radix_exp, parse_number, underlying_strtod): New functions.
48391         (strtod): Use them.  This implementation prefers to use the
48392         underlying strtod if available, falling back on our own code
48393         only to fix known bugs.  This is more likely to produce an
48394         accurate result.  Also, it avoids the use of libm functions.
48395         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
48396         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
48397         was absent, but it caused a test failure with coreutils.
48398         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
48399         with libm.
48400         * modules/strtod (Makefile.am, Link): libm is no longer needed.
48401         * modules/strtod-tests (Makefile.am): Likewise.
48403 2010-07-11  Pádraig Brady  <P@draigBrady.com>
48404             Bruno Haible  <bruno@clisp.org>
48406         unistr/u8-strchr: Optimize ASCII argument case.
48407         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
48409 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
48411         (x)memcoll: minor tweaks
48412         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
48413         is after the type that it qualifies.
48414         (memcoll0): Likewise.
48415         * lib/memcoll.h (memcoll0): Likewise.
48416         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
48417         * lib/xmemcoll.h (xmemcoll0): Likewise.
48418         * lib/memcoll.c (memcoll0): Correct the comment.  This function
48419         differs from memcoll in that the NUL byte is part of the argument.
48420         Omit the abort-checks, as performance is a real issue here.  Plus,
48421         the checks were wrong anyway (an off-by-one error).  Omit local
48422         variable 'diff', as it's a bit clearer that way.
48423         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
48424         no longer needed.
48426 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
48428         (x)memcoll: speedup when input is known to be NUL delimited
48429         * lib/memcoll.c: Include stdlib.
48430         (memcoll0): New function.
48431         (strcoll_loop): New function, refactored for use in both memcoll
48432         and memcoll0.
48433         * lib/memcoll.h (memcoll0): Add prototype.
48434         * lib/xmemcoll.c (xmemcoll0): New function.
48435         (collate_error): New function, refactored for use in both xmemcoll
48436         and xmemcoll0.
48437         * lib/xmemcoll.h (xmemcoll0): Add prototype.
48438         * m4/memcoll.m4: add inline invocation.
48440 2010-07-06  Pádraig Brady  <P@draigBrady.com>
48442         * build-aux/bootstrap: Remove any local translations
48443         from the translation project synchronization directory,
48444         so that local only translations are not distributed.
48446 2010-07-04  Bruno Haible  <bruno@clisp.org>
48448         fsusage: Clarify which code applies to which platforms.
48449         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
48450         platform.
48451         * lib/fsusage.c (get_fs_usage): Likewise.
48453 2010-07-04  Bruno Haible  <bruno@clisp.org>
48455         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
48456         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
48457         Reported by Martin Lambers <marlam@marlam.de>.
48459 2010-07-04  Jim Meyering  <meyering@redhat.com>
48461         hash: once again explicitly disallow insertion of NULL
48462         * lib/hash.c (hash_insert0): Reinstate just-removed test:
48463         inserting a NULL pointer cannot work with these functions.
48464         Add a comment with details.
48465         This reverts part of the 2010-07-01 commit, 5bef1a35
48466         "hash: extend module to deal with non-pointer keys".
48468 2010-07-01  Bruno Haible  <bruno@clisp.org>
48470         stdbool: Update doc.
48471         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
48472         Info from Christian Weisgerber <naddy@mips.inka.de>.
48474 2010-07-01  Jim Meyering  <meyering@redhat.com>
48476         hash: extend module to deal with non-pointer keys
48477         * lib/hash.c (hash_insert0): New interface, much like hash_insert
48478         but that allows insertion of non-pointer entries.
48479         Do not disallow an ENTRY value of NULL.
48480         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
48481         * lib/hash.h (hash_insert0): Declare.
48483 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
48485         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
48486         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
48487         not present (i.e. with autoconf 2.59 and when using gettextize, not
48488         gnulib), require AC_GNU_SOURCE instead.
48490 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
48492         idpriv-drop: Fix tests.
48493         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
48494         not to the test-idpriv-droptemp program.
48496 2010-06-29  Bruno Haible  <bruno@clisp.org>
48498         string: Fix syntax error with g++ 2.96.
48499         * lib/string.in.h (__pure__): Remove definition.
48500         (_GL_ATTRIBUTE_PURE): New macro.
48501         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
48502         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
48503         Reported by Christian Weisgerber <naddy@mips.inka.de>.
48505 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
48507         unitypes: Fix bug introduced on 2010-05-18.
48508         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
48510 2010-06-22  Eric Blake  <eblake@redhat.com>
48512         memmem: slight optimization
48513         * lib/str-two-way.h (critical_factorization): Update comments.
48514         Reduce work during factorization phase.
48515         Reported by Carlos Bueno <carlos@bueno.org>.
48517 2010-06-21  Bruno Haible  <bruno@clisp.org>
48519         Fix HAVE_CALLOC_POSIX misnomer.
48520         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
48521         !HAVE_CALLOC_POSIX.
48522         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
48523         HAVE_CALLOC_POSIX.
48524         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
48525         instead of HAVE_CALLOC_POSIX.
48526         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
48527         HAVE_CALLOC_POSIX.
48529         Use modern idiom for calloc() replacement.
48530         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
48531         AC_FUNC_CALLOC.
48532         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
48533         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
48534         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
48535         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
48536         (gl_REPLACE_CALLOC): New macro.
48538 2010-06-21  Bruno Haible  <bruno@clisp.org>
48540         Fix HAVE_REALLOC_POSIX misnomer.
48541         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
48542         !HAVE_REALLOC_POSIX.
48543         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
48544         HAVE_REALLOC_POSIX.
48545         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
48546         instead of HAVE_REALLOC_POSIX.
48547         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
48548         HAVE_REALLOC_POSIX.
48550         Use modern idiom for realloc() replacement.
48551         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
48552         AC_FUNC_REALLOC.
48553         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
48554         Autoconf's AC_FUNC_REALLOC.
48555         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
48556         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
48557         (gl_REPLACE_REALLOC): New macro.
48558         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
48560 2010-06-21  Bruno Haible  <bruno@clisp.org>
48562         Fix HAVE_MALLOC_POSIX misnomer.
48563         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
48564         !HAVE_MALLOC_POSIX.
48565         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
48566         HAVE_MALLOC_POSIX.
48567         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
48568         instead of HAVE_MALLOC_POSIX.
48569         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
48570         HAVE_MALLOC_POSIX.
48572         Use modern idiom for malloc() replacement.
48573         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
48574         AC_FUNC_MALLOC.
48575         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
48576         Autoconf's AC_FUNC_MALLOC.
48577         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
48578         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
48579         (gl_REPLACE_MALLOC): New macro.
48580         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
48582 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
48584         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
48585         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
48586         This macro takes 3 arguments, not 4.
48588 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
48590         ipv6: fix detection under mingw
48591         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
48592         in6_addr.
48594 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
48596         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
48597         that strtod() works when cross-compiling to a glibc version known
48598         to work.
48600 2010-06-15  Bruno Haible  <bruno@clisp.org>
48602         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
48604 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
48606         select: Correct timeout.
48607         * lib/select.c (rpl_select): Compute wait_timeout correctly.
48609 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
48611         git-version-gen: init shell var to avoid env var influence
48612         * build-aux/git-version-gen (v): Init shell var to empty.
48614 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
48616         priv-set: Don't assume that priv.h exists merely because getppriv does.
48617         See Jan Andersen's bug report about AIX 5L in
48618         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
48619         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
48620         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
48621         * lib/priv-set.h: Likewise.
48622         * tests/test-priv-set.c: Likewise.
48624 2010-06-13  Bruno Haible  <bruno@clisp.org>
48626         relocatable: Make it easier to test whether to install wrappers.
48627         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
48628         RELOCATABLE_VIA_WRAPPER.
48630 2010-06-13  Bruno Haible  <bruno@clisp.org>
48632         gnulib-tool: Display specified modules and dependencies differently.
48633         * gnulib-tool (func_show_module_list): New function.
48634         (func_import, func_create_testdir): Invoke it.
48635         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
48637 2010-06-13  Bruno Haible  <bruno@clisp.org>
48639         gnulib-tool: Align code of func_import and func_create_testdir.
48640         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
48641         specified_modules.
48643 2010-06-12  Jim Meyering  <meyering@redhat.com>
48645         test-inttostr: avoid spurious failure on Solaris 9
48646         * tests/test-inttostr.c (main): Skip the test when snprintf fails
48647         to accept "%ju".  Reported by Bruno Haible.
48649 2010-06-11  Jim Meyering  <meyering@redhat.com>
48651         test-sys_socket: mark variables as used more readably
48652         * tests/test-sys_socket.c (main): Mark otherwise unused variables
48653         as "used" explicitly via (void) statement casts.  This is more
48654         readable than using them in an artificial return expression.
48655         Suggestion from Bruno Haible.
48657 2010-06-11  Bruno Haible  <bruno@clisp.org>
48659         Avoid some more warnings from "gcc -Wwrite-strings".
48660         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
48661         to 'const char *'.
48662         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
48663         * tests/test-c-strcasestr.c (main): Likewise.
48664         * tests/test-mbscasestr1.c (main): Likewise.
48665         * tests/test-mbscasestr2.c (main): Likewise.
48666         * tests/test-memmem.c (main): Likewise.
48667         * tests/test-strstr.c (main): Likewise.
48668         * tests/test-strcasestr.c (main): Likewise.
48670 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48672         init.sh: change framework_failure_ to fail with status 99, not 1
48673         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
48674         automake's parallel-tests rule that this is an unexpected failure,
48675         even if the test is listed in XFAIL_TESTS.
48677 2010-06-11  Jim Meyering  <meyering@redhat.com>
48679         test-inttostr: avoid warnings about 4-6KB literal strings
48680         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
48681         Include "macros.h", for its definition of ASSERT.
48682         (CK): s/assert/ASSERT/
48683         * modules/inttostr-tests (Files): Add macros.h.
48685         init.sh: don't use $ME_ or skip_ before they are defined
48686         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
48687         their first uses.  Also hoist their companions: warn_, fail_,
48688         framework_failure_, $stderr_fileno.  Prompted by a patch from
48689         Stefano Lattarini.
48691         test-sys_socket: avoid set-but-not-used warnings from gcc
48692         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
48693         avoid warning about set-but-not-used variables.
48695         test-xvasprintf: avoid 'const' discard warnings
48696         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
48697         "const" when assigning from literal strings.
48698         (test_xasprintf): Add "void" in function argument list to placate
48699         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
48701         tests: avoid compilation warnings in argmatch and exclude tests...
48702         in packages that define ARGMATCH_DIE_DECL, like coreutils.
48703         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
48704         Since it always exits, declare with the "noreturn" attribute.
48705         * tests/test-argmatch.c: Likewise.
48707         tests: avoid 'const' discard warnings in mbsstr tests
48708         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
48709         * tests/test-mbsstr2.c (main): Likewise.
48711         test-verify: avoid warning from gcc's -Wmissing-declarations
48712         * tests/test-verify.c (function): Declare to be static.
48714         test-inttostr.c: include <string.h> for use of strcmp
48715         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
48717         test-linkat: avoid failed assertion on "other" architectures
48718         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
48719         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
48720         sparc: https://bugs.launchpad.net/bugs/591968
48722 2010-06-11  Jim Meyering  <meyering@redhat.com>
48724         printf.m4: avoid autoconf's "Expanded Before Required" warning
48725         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
48726         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
48727         autoconf warning.
48729 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
48731         Replacement header templates are now named with ".in", not "_".
48732         * doc/gnulib-intro.texi: Correct.
48734 2010-06-10  Jim Meyering  <meyering@redhat.com>
48736         inttostr-tests: depend on snprintf, not snprintf-posix
48737         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
48738         snprintf-posix, to avoid this aclocal failure:
48739           missing file gnulib-tests/vasnprintf.c
48740           configure.ac:45: error: expected source file, required through \
48741           AC_LIBSOURCES, not found
48743 2010-06-10  Jim Meyering  <meyering@redhat.com>
48745         inttostr: add a new function, inttostr, and tests
48746         The namesake function was not available.  The existence of the
48747         template file, inttostr.c makes its addition nontrivial.
48748         * lib/anytostr.c: Rename from inttostr.c.
48749         (anytostr): Rename from inttostr.
48750         * lib/inttostr.c: New file.
48751         * modules/inttostr (Files): Add anytostr.c.
48752         (Makefile.am): Set lib_SOURCES instead of ...
48753         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
48754         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
48755         * lib/offtostr.c: Likewise.
48756         * lib/uinttostr.c: Likewise.
48757         * lib/umaxtostr.c: Likewise.
48758         * modules/inttostr-tests: New file.
48759         * tests/test-inttostr.c: New file.  Test these functions.
48761 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
48762             Bruno Haible  <bruno@clisp.org>
48764         Add "Extending Gnulib" chapter to manual.
48765         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
48766         chapter.
48767         (Extending Gnulib): New chapter.
48768         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
48769         chapter.
48771 2010-06-09  Bruno Haible  <bruno@clisp.org>
48773         Avoid relocwrapper link errors due to gnulib replacement functions.
48774         * lib/areadlink.c: Use the system's malloc, realloc functions.
48775         (areadlink): Set errno to ENOMEM explicitly.
48776         * modules/areadlink (Depends-on): Remove malloc-posix.
48777         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48779 2010-06-09  Bruno Haible  <bruno@clisp.org>
48781         Avoid relocwrapper link errors due to gnulib replacement functions.
48782         * lib/canonicalize-lgpl.c: Use the system's malloc function.
48783         * lib/malloca.c: Likewise.
48784         * lib/relocatable.c: Likewise.
48785         * lib/progreloc.c: Use the system's malloc, sprintf functions.
48786         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
48787         * lib/setenv.c: Use the system's malloc, realloc functions.
48788         * lib/strerror.c: Use the system's sprintf function.
48789         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48791 2010-06-04  Bruno Haible  <bruno@clisp.org>
48793         Prefer documented low-level autoconf macro names.
48794         * m4/lib-link.m4: Use m4_translit instead of translit.
48795         * m4/environ.m4: Likewise.
48796         * m4/mathfunc.m4: Likewise.
48797         * m4/onceonly.m4: Likewise.
48798         * m4/stdint.m4: Likewise.
48799         Suggested by Eric Blake.
48801 2010-06-04  Martin Lambers  <marlam@marlam.de>
48802             Bruno Haible  <bruno@clisp.org>
48804         havelib: Allow library names with '+' characters.
48805         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
48806         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
48808 2010-06-09  Bruno Haible  <bruno@clisp.org>
48810         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
48811         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
48812         realloc failed.
48814 2010-06-08  Peter Simons  <simons@cryp.to>
48816         maint.mk: make the news-check rule more configurable
48817         * top/maint.mk (news-check-lines-spec): New variable.
48818         (news-check): Use "sed -n 1,10p" in place of "head".
48820 2010-06-07  Jim Meyering  <meyering@redhat.com>
48822         do-release-commit-and-tag: fix typo in --help
48823         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
48825         regex: avoid new dead-code warning with gcc-4.6.0
48826         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
48827         if-block containing a while-loop.  It's been unused for at least
48828         5 years.
48830 2010-06-05  Bruno Haible  <bruno@clisp.org>
48832         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
48833         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
48835 2010-06-04  Bruno Haible  <bruno@clisp.org>
48837         Update to GNU gettext 0.18.1.
48838         * modules/gettext (configure.ac): Require gettext infrastructure from
48839         version 0.18.1.
48841 2010-06-03  Bruno Haible  <bruno@clisp.org>
48843         Don't use AC_LIBOBJ with file names in subdirectories.
48844         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
48845         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
48846         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
48847         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
48848         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
48849         gl_LIBUNISTRING_LIBSOURCE.
48850         (Makefile.am): Augment lib_SOURCES here, conditionally.
48851         * NEWS: Drop requirement for Automake option 'subdir-objects'.
48853 2010-06-03  Bruno Haible  <bruno@clisp.org>
48855         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
48856         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
48857         expansion does not end with a newline.
48858         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
48859         unnecessary newline.
48861 2010-06-03  Bruno Haible  <bruno@clisp.org>
48863         Reduce dependencies.
48864         * tests/test-quotearg.h: New file, extracted from
48865         tests/test-quotearg.c.
48866         * tests/test-quotearg-simple.c: New file, extracted from
48867         tests/test-quotearg.c.
48868         * tests/test-quotearg.c: Don't include <ctype.h>.
48869         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
48870         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
48871         use_quote_double_quotes, use_quotearg_colon): Moved to
48872         tests/test-quotearg.h.
48873         (results_g, flag_results, custom_quotes, custom_results): Moved
48874         to tests/test-quotearg-simple.c.
48875         (main): Moved the part that does not depend on gettext to
48876         tests/test-quotearg-simple.c. Return 77 if the test cannot be
48877         performed.
48878         * modules/quotearg-simple: New file.
48879         * modules/quotearg-simple-tests: New file.
48880         * modules/quotearg (Depends-on): Add quotearg-simple.
48881         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
48882         (Files): Add tests/test-quotearg.h.
48883         Reported by Paolo Bonzini.
48885 2010-06-03  Bruno Haible  <bruno@clisp.org>
48887         Reduce dependencies.
48888         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
48890 2010-06-03  Bruno Haible  <bruno@clisp.org>
48892         time: Undefine more broken macros.
48893         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
48894         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
48895         Reported by Eric Blake.
48897 2010-06-03  Bruno Haible  <bruno@clisp.org>
48899         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
48900         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
48901         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
48902         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
48903         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
48904         Reported by Ludovic Courtès <ludo@gnu.org>.
48906 2010-06-02  Eric Blake  <eblake@redhat.com>
48908         time: work with mingw + pthreads-win32 library
48909         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
48910         if timespec is defined only in pthread.h.
48911         * modules/time (Makefile.am): Substitute it.
48912         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
48913         <pthread.h>, when needed.
48914         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
48915         from the library.
48917 2010-05-31  Bruno Haible  <bruno@clisp.org>
48919         Avoid expanding two macros in the wrong order.
48920         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
48921         gl_LIBUNISTRING if it is defined.
48922         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
48923         autoconf >= 2.64.
48924         Reported by Ludovic Courtès <ludo@gnu.org>.
48926 2010-05-27  Jim Meyering  <meyering@redhat.com>
48928         maint.mk: also prohibit "#undef" of always-defined symbols
48929         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
48930         Allow more than one space before the symbol name.
48931         (sc_prohibit_always-defined_macros): Use grep's -E, now that
48932         the regexp uses alternation.
48934 2010-05-26  Eric Blake  <eblake@redhat.com>
48936         maint.mk: avoid echo -e
48937         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
48938         Convert all uses of echo -* to printf.
48939         Reported by Matthias Bolte.
48941 2010-05-25  Bruno Haible  <bruno@clisp.org>
48943         Update to GNU gettext 0.18, part 2.
48944         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
48945         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
48947 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48949         Add missing include in test-pwrite.c.
48950         * tests/test-pwrite.c: Include string.h, for strcmp.
48952 2010-05-24  Bruno Haible  <bruno@clisp.org>
48954         * NEWS: Mention requirement for Automake option 'subdir-objects'.
48956 2010-05-24  Bruno Haible  <bruno@clisp.org>
48958         Don't use conversion with transliteration in u{8,16,32}_strcoll.
48959         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
48960         iconveh_error argument.
48961         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
48962         U_STRCONV_TO_LOCALE.
48963         * lib/unistr/u16-strcoll.c: Likewise.
48964         * lib/unistr/u32-strcoll.c: Likewise.
48965         * modules/unistr/u8-strcoll (Depends-on): Add
48966         uniconv/u8-strconv-to-enc, localcharset. Remove
48967         uniconv/u8-strconv-to-locale.
48968         (configure.ac): Bump version number.
48969         * modules/unistr/u16-strcoll (Depends-on): Add
48970         uniconv/u16-strconv-to-enc, localcharset. Remove
48971         uniconv/u16-strconv-to-locale.
48972         (configure.ac): Bump version number.
48973         * modules/unistr/u32-strcoll (Depends-on): Add
48974         uniconv/u32-strconv-to-enc, localcharset. Remove
48975         uniconv/u32-strconv-to-locale.
48976         (configure.ac): Bump version number.
48978 2010-05-24  Bruno Haible  <bruno@clisp.org>
48980         Avoid a test failure on NetBSD 5.0.
48981         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
48982         an iconv() bug.
48984 2010-05-24  Bruno Haible  <bruno@clisp.org>
48986         Adjust #include directive style.
48987         * modules/regex (Includes): Recommend to write <regex.h>.
48989 2010-05-24  Bruno Haible  <bruno@clisp.org>
48991         regex: Don't require alloca.
48992         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
48993         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
48994         only inside if (0).
48996 2010-05-23  Jim Meyering  <meyering@redhat.com>
48998         test-renameat.c: include <sys/stat.h>
48999         * tests/test-renameat.c: Include <sys/stat.h>; required for
49000         definition of S_IS* macros.
49002 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
49004         Update maintainer documentation for 'relocatable-prog' module.
49005         * doc/relocatable-maint.texi: Update.
49006         Comments by Bruno Haible.
49008 2010-05-23  Bruno Haible  <bruno@clisp.org>
49010         git-merge-changelog: Enable --split-merged-entry by default.
49011         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
49012         (usage): Don't mention this option any more.
49013         Reported by Ralf Wildenhues.
49015 2010-05-23  Jim Meyering  <meyering@redhat.com>
49017         test-pwrite: do not leave behind a test file named "out"
49018         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
49019         The trivial-looking use of init.sh is really necessary.
49020         It ensures that the temporary file, "out", is created in
49021         a temporary directory, and removed upon termination.
49022         * tests/test-pwrite.sh: Re-add file.
49023         * modules/pwrite-tests: Reference it.
49025 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49027         Fix output redirection buglet in init.sh.
49028         * tests/init.sh: Fix redirection of stderr.
49030 2010-05-20  Simon Josefsson  <simon@josefsson.org>
49032         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
49034 2010-05-17  Simon Josefsson  <simon@josefsson.org>
49036         * modules/valgrind-tests: New file.
49037         * m4/valgrind-tests.m4: New file.
49038         * doc/valgrind-tests.texi: New file.
49039         * doc/gnulib.texi (Running self-tests under valgrind): New
49040         section.
49042 2010-05-19  Bruno Haible  <bruno@clisp.org>
49044         Clean up dead code in recent commit.
49045         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
49046         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
49047         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
49048         Suggested by Paolo Bonzini.
49050 2010-05-19  Bruno Haible  <bruno@clisp.org>
49052         Avoid valgrind error reports from libunistring.
49053         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
49054         * modules/libunistring (Files): Add it.
49055         * modules/libunistring-optional (Files): Likewise.
49057 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
49058             Bruno Haible  <bruno@clisp.org>
49060         New module 'libunistring-optional'.
49061         * modules/libunistring-optional: New file.
49062         * m4/libunistring-base.m4: New file.
49063         * m4/libunistring-optional.m4: New file.
49064         * lib/unicase.in.h: Renamed from lib/unicase.h.
49065         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
49066         * lib/unictype.in.h: Renamed from lib/unictype.h.
49067         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
49068         * lib/uniname.in.h: Renamed from lib/uniname.h.
49069         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
49070         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
49071         * lib/unistr.in.h: Renamed from lib/unistr.h.
49072         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
49073         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
49074         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
49075         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
49076         gl_LIBUNISTRING. If the library was found, determine the installed
49077         version and set LIBUNISTRING_VERSION.
49078         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
49079         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
49080         handle a configuration option --with-included-libunistring.
49081         * modules/libunistring (Files): Add m4/absolute-header.m4.
49082         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
49083         Add m4/libunistring-base.m4.
49084         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49085         (Makefile.am): Build unicase.h from unicase.in.h.
49086         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
49087         Add m4/libunistring-base.m4.
49088         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49089         (Makefile.am): Build uniconv.h from uniconv.in.h.
49090         * modules/unictype/base (Files): Use unictype.in.h instead of
49091         unictype.h. Add m4/libunistring-base.m4.
49092         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49093         (Makefile.am): Build unictype.h from unictype.in.h.
49094         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
49095         Add m4/libunistring-base.m4.
49096         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49097         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
49098         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
49099         Add m4/libunistring-base.m4.
49100         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49101         (Makefile.am): Build uniname.h from uniname.in.h.
49102         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
49103         Add m4/libunistring-base.m4.
49104         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49105         (Makefile.am): Build uninorm.h from uninorm.in.h.
49106         * modules/unistdio/base (Files): Use unistdio.in.h instead of
49107         unistdio.h. Add m4/libunistring-base.m4.
49108         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49109         (Makefile.am): Build unistdio.h from unistdio.in.h.
49110         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
49111         Add m4/libunistring-base.m4.
49112         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49113         (Makefile.am): Build unistr.h from unistr.in.h.
49114         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
49115         Add m4/libunistring-base.m4.
49116         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49117         (Makefile.am): Build unitypes.h from unitypes.in.h.
49118         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
49119         Add m4/libunistring-base.m4.
49120         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49121         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
49122         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
49123         uniwidth.h. Add m4/libunistring-base.m4.
49124         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
49125         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
49126         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
49127         instead of augmenting lib_SOURCES.
49128         * modules/unicase/empty-suffix-context: Likewise.
49129         * modules/unicase/locale-language: Likewise.
49130         * modules/unicase/tolower: Likewise.
49131         * modules/unicase/totitle: Likewise.
49132         * modules/unicase/toupper: Likewise.
49133         * modules/unicase/u8-casecmp: Likewise.
49134         * modules/unicase/u8-casecoll: Likewise.
49135         * modules/unicase/u8-casefold: Likewise.
49136         * modules/unicase/u8-casexfrm: Likewise.
49137         * modules/unicase/u8-ct-casefold: Likewise.
49138         * modules/unicase/u8-ct-tolower: Likewise.
49139         * modules/unicase/u8-ct-totitle: Likewise.
49140         * modules/unicase/u8-ct-toupper: Likewise.
49141         * modules/unicase/u8-is-cased: Likewise.
49142         * modules/unicase/u8-is-casefolded: Likewise.
49143         * modules/unicase/u8-is-lowercase: Likewise.
49144         * modules/unicase/u8-is-titlecase: Likewise.
49145         * modules/unicase/u8-is-uppercase: Likewise.
49146         * modules/unicase/u8-prefix-context: Likewise.
49147         * modules/unicase/u8-suffix-context: Likewise.
49148         * modules/unicase/u8-tolower: Likewise.
49149         * modules/unicase/u8-totitle: Likewise.
49150         * modules/unicase/u8-toupper: Likewise.
49151         * modules/unicase/u16-casecmp: Likewise.
49152         * modules/unicase/u16-casecoll: Likewise.
49153         * modules/unicase/u16-casefold: Likewise.
49154         * modules/unicase/u16-casexfrm: Likewise.
49155         * modules/unicase/u16-ct-casefold: Likewise.
49156         * modules/unicase/u16-ct-tolower: Likewise.
49157         * modules/unicase/u16-ct-totitle: Likewise.
49158         * modules/unicase/u16-ct-toupper: Likewise.
49159         * modules/unicase/u16-is-cased: Likewise.
49160         * modules/unicase/u16-is-casefolded: Likewise.
49161         * modules/unicase/u16-is-lowercase: Likewise.
49162         * modules/unicase/u16-is-titlecase: Likewise.
49163         * modules/unicase/u16-is-uppercase: Likewise.
49164         * modules/unicase/u16-prefix-context: Likewise.
49165         * modules/unicase/u16-suffix-context: Likewise.
49166         * modules/unicase/u16-tolower: Likewise.
49167         * modules/unicase/u16-totitle: Likewise.
49168         * modules/unicase/u16-toupper: Likewise.
49169         * modules/unicase/u32-casecmp: Likewise.
49170         * modules/unicase/u32-casecoll: Likewise.
49171         * modules/unicase/u32-casefold: Likewise.
49172         * modules/unicase/u32-casexfrm: Likewise.
49173         * modules/unicase/u32-ct-casefold: Likewise.
49174         * modules/unicase/u32-ct-tolower: Likewise.
49175         * modules/unicase/u32-ct-totitle: Likewise.
49176         * modules/unicase/u32-ct-toupper: Likewise.
49177         * modules/unicase/u32-is-cased: Likewise.
49178         * modules/unicase/u32-is-casefolded: Likewise.
49179         * modules/unicase/u32-is-lowercase: Likewise.
49180         * modules/unicase/u32-is-titlecase: Likewise.
49181         * modules/unicase/u32-is-uppercase: Likewise.
49182         * modules/unicase/u32-prefix-context: Likewise.
49183         * modules/unicase/u32-suffix-context: Likewise.
49184         * modules/unicase/u32-tolower: Likewise.
49185         * modules/unicase/u32-totitle: Likewise.
49186         * modules/unicase/u32-toupper: Likewise.
49187         * modules/unicase/ulc-casecmp: Likewise.
49188         * modules/unicase/ulc-casecoll: Likewise.
49189         * modules/unicase/ulc-casexfrm: Likewise.
49190         * modules/uniconv/u8-conv-from-enc: Likewise.
49191         * modules/uniconv/u8-conv-to-enc: Likewise.
49192         * modules/uniconv/u8-strconv-from-enc: Likewise.
49193         * modules/uniconv/u8-strconv-from-locale: Likewise.
49194         * modules/uniconv/u8-strconv-to-enc: Likewise.
49195         * modules/uniconv/u8-strconv-to-locale: Likewise.
49196         * modules/uniconv/u16-conv-from-enc: Likewise.
49197         * modules/uniconv/u16-conv-to-enc: Likewise.
49198         * modules/uniconv/u16-strconv-from-enc: Likewise.
49199         * modules/uniconv/u16-strconv-from-locale: Likewise.
49200         * modules/uniconv/u16-strconv-to-enc: Likewise.
49201         * modules/uniconv/u16-strconv-to-locale: Likewise.
49202         * modules/uniconv/u32-conv-from-enc: Likewise.
49203         * modules/uniconv/u32-conv-to-enc: Likewise.
49204         * modules/uniconv/u32-strconv-from-enc: Likewise.
49205         * modules/uniconv/u32-strconv-from-locale: Likewise.
49206         * modules/uniconv/u32-strconv-to-enc: Likewise.
49207         * modules/uniconv/u32-strconv-to-locale: Likewise.
49208         * modules/unictype/bidicategory-byname: Likewise.
49209         * modules/unictype/bidicategory-name: Likewise.
49210         * modules/unictype/bidicategory-of: Likewise.
49211         * modules/unictype/bidicategory-test: Likewise.
49212         * modules/unictype/block-list: Likewise.
49213         * modules/unictype/block-test: Likewise.
49214         * modules/unictype/category-C: Likewise.
49215         * modules/unictype/category-Cc: Likewise.
49216         * modules/unictype/category-Cf: Likewise.
49217         * modules/unictype/category-Cn: Likewise.
49218         * modules/unictype/category-Co: Likewise.
49219         * modules/unictype/category-Cs: Likewise.
49220         * modules/unictype/category-L: Likewise.
49221         * modules/unictype/category-Ll: Likewise.
49222         * modules/unictype/category-Lm: Likewise.
49223         * modules/unictype/category-Lo: Likewise.
49224         * modules/unictype/category-Lt: Likewise.
49225         * modules/unictype/category-Lu: Likewise.
49226         * modules/unictype/category-M: Likewise.
49227         * modules/unictype/category-Mc: Likewise.
49228         * modules/unictype/category-Me: Likewise.
49229         * modules/unictype/category-Mn: Likewise.
49230         * modules/unictype/category-N: Likewise.
49231         * modules/unictype/category-Nd: Likewise.
49232         * modules/unictype/category-Nl: Likewise.
49233         * modules/unictype/category-No: Likewise.
49234         * modules/unictype/category-P: Likewise.
49235         * modules/unictype/category-Pc: Likewise.
49236         * modules/unictype/category-Pd: Likewise.
49237         * modules/unictype/category-Pe: Likewise.
49238         * modules/unictype/category-Pf: Likewise.
49239         * modules/unictype/category-Pi: Likewise.
49240         * modules/unictype/category-Po: Likewise.
49241         * modules/unictype/category-Ps: Likewise.
49242         * modules/unictype/category-S: Likewise.
49243         * modules/unictype/category-Sc: Likewise.
49244         * modules/unictype/category-Sk: Likewise.
49245         * modules/unictype/category-Sm: Likewise.
49246         * modules/unictype/category-So: Likewise.
49247         * modules/unictype/category-Z: Likewise.
49248         * modules/unictype/category-Zl: Likewise.
49249         * modules/unictype/category-Zp: Likewise.
49250         * modules/unictype/category-Zs: Likewise.
49251         * modules/unictype/category-and: Likewise.
49252         * modules/unictype/category-and-not: Likewise.
49253         * modules/unictype/category-byname: Likewise.
49254         * modules/unictype/category-name: Likewise.
49255         * modules/unictype/category-none: Likewise.
49256         * modules/unictype/category-of: Likewise.
49257         * modules/unictype/category-or: Likewise.
49258         * modules/unictype/category-test: Likewise.
49259         * modules/unictype/combining-class: Likewise.
49260         * modules/unictype/ctype-alnum: Likewise.
49261         * modules/unictype/ctype-alpha: Likewise.
49262         * modules/unictype/ctype-blank: Likewise.
49263         * modules/unictype/ctype-cntrl: Likewise.
49264         * modules/unictype/ctype-digit: Likewise.
49265         * modules/unictype/ctype-graph: Likewise.
49266         * modules/unictype/ctype-lower: Likewise.
49267         * modules/unictype/ctype-print: Likewise.
49268         * modules/unictype/ctype-punct: Likewise.
49269         * modules/unictype/ctype-space: Likewise.
49270         * modules/unictype/ctype-upper: Likewise.
49271         * modules/unictype/ctype-xdigit: Likewise.
49272         * modules/unictype/decimal-digit: Likewise.
49273         * modules/unictype/digit: Likewise.
49274         * modules/unictype/mirror: Likewise.
49275         * modules/unictype/numeric: Likewise.
49276         * modules/unictype/property-alphabetic: Likewise.
49277         * modules/unictype/property-ascii-hex-digit: Likewise.
49278         * modules/unictype/property-bidi-arabic-digit: Likewise.
49279         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
49280         * modules/unictype/property-bidi-block-separator: Likewise.
49281         * modules/unictype/property-bidi-boundary-neutral: Likewise.
49282         * modules/unictype/property-bidi-common-separator: Likewise.
49283         * modules/unictype/property-bidi-control: Likewise.
49284         * modules/unictype/property-bidi-embedding-or-override: Likewise.
49285         * modules/unictype/property-bidi-eur-num-separator: Likewise.
49286         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
49287         * modules/unictype/property-bidi-european-digit: Likewise.
49288         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
49289         * modules/unictype/property-bidi-left-to-right: Likewise.
49290         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
49291         * modules/unictype/property-bidi-other-neutral: Likewise.
49292         * modules/unictype/property-bidi-pdf: Likewise.
49293         * modules/unictype/property-bidi-segment-separator: Likewise.
49294         * modules/unictype/property-bidi-whitespace: Likewise.
49295         * modules/unictype/property-byname: Likewise.
49296         * modules/unictype/property-combining: Likewise.
49297         * modules/unictype/property-composite: Likewise.
49298         * modules/unictype/property-currency-symbol: Likewise.
49299         * modules/unictype/property-dash: Likewise.
49300         * modules/unictype/property-decimal-digit: Likewise.
49301         * modules/unictype/property-default-ignorable-code-point: Likewise.
49302         * modules/unictype/property-deprecated: Likewise.
49303         * modules/unictype/property-diacritic: Likewise.
49304         * modules/unictype/property-extender: Likewise.
49305         * modules/unictype/property-format-control: Likewise.
49306         * modules/unictype/property-grapheme-base: Likewise.
49307         * modules/unictype/property-grapheme-extend: Likewise.
49308         * modules/unictype/property-grapheme-link: Likewise.
49309         * modules/unictype/property-hex-digit: Likewise.
49310         * modules/unictype/property-hyphen: Likewise.
49311         * modules/unictype/property-id-continue: Likewise.
49312         * modules/unictype/property-id-start: Likewise.
49313         * modules/unictype/property-ideographic: Likewise.
49314         * modules/unictype/property-ids-binary-operator: Likewise.
49315         * modules/unictype/property-ids-trinary-operator: Likewise.
49316         * modules/unictype/property-ignorable-control: Likewise.
49317         * modules/unictype/property-iso-control: Likewise.
49318         * modules/unictype/property-join-control: Likewise.
49319         * modules/unictype/property-left-of-pair: Likewise.
49320         * modules/unictype/property-line-separator: Likewise.
49321         * modules/unictype/property-logical-order-exception: Likewise.
49322         * modules/unictype/property-lowercase: Likewise.
49323         * modules/unictype/property-math: Likewise.
49324         * modules/unictype/property-non-break: Likewise.
49325         * modules/unictype/property-not-a-character: Likewise.
49326         * modules/unictype/property-numeric: Likewise.
49327         * modules/unictype/property-other-alphabetic: Likewise.
49328         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
49329         * modules/unictype/property-other-grapheme-extend: Likewise.
49330         * modules/unictype/property-other-id-continue: Likewise.
49331         * modules/unictype/property-other-id-start: Likewise.
49332         * modules/unictype/property-other-lowercase: Likewise.
49333         * modules/unictype/property-other-math: Likewise.
49334         * modules/unictype/property-other-uppercase: Likewise.
49335         * modules/unictype/property-paired-punctuation: Likewise.
49336         * modules/unictype/property-paragraph-separator: Likewise.
49337         * modules/unictype/property-pattern-syntax: Likewise.
49338         * modules/unictype/property-pattern-white-space: Likewise.
49339         * modules/unictype/property-private-use: Likewise.
49340         * modules/unictype/property-punctuation: Likewise.
49341         * modules/unictype/property-quotation-mark: Likewise.
49342         * modules/unictype/property-radical: Likewise.
49343         * modules/unictype/property-sentence-terminal: Likewise.
49344         * modules/unictype/property-soft-dotted: Likewise.
49345         * modules/unictype/property-space: Likewise.
49346         * modules/unictype/property-terminal-punctuation: Likewise.
49347         * modules/unictype/property-test: Likewise.
49348         * modules/unictype/property-titlecase: Likewise.
49349         * modules/unictype/property-unassigned-code-value: Likewise.
49350         * modules/unictype/property-unified-ideograph: Likewise.
49351         * modules/unictype/property-uppercase: Likewise.
49352         * modules/unictype/property-variation-selector: Likewise.
49353         * modules/unictype/property-white-space: Likewise.
49354         * modules/unictype/property-xid-continue: Likewise.
49355         * modules/unictype/property-xid-start: Likewise.
49356         * modules/unictype/property-zero-width: Likewise.
49357         * modules/unictype/scripts: Likewise.
49358         * modules/unictype/syntax-c-ident: Likewise.
49359         * modules/unictype/syntax-c-whitespace: Likewise.
49360         * modules/unictype/syntax-java-ident: Likewise.
49361         * modules/unictype/syntax-java-whitespace: Likewise.
49362         * modules/unilbrk/u8-possible-linebreaks: Likewise.
49363         * modules/unilbrk/u8-width-linebreaks: Likewise.
49364         * modules/unilbrk/u16-possible-linebreaks: Likewise.
49365         * modules/unilbrk/u16-width-linebreaks: Likewise.
49366         * modules/unilbrk/u32-possible-linebreaks: Likewise.
49367         * modules/unilbrk/u32-width-linebreaks: Likewise.
49368         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
49369         * modules/unilbrk/ulc-width-linebreaks: Likewise.
49370         * modules/uniname/uniname: Likewise.
49371         * modules/uninorm/canonical-decomposition: Likewise.
49372         * modules/uninorm/composition: Likewise.
49373         * modules/uninorm/decomposing-form: Likewise.
49374         * modules/uninorm/decomposition: Likewise.
49375         * modules/uninorm/filter: Likewise.
49376         * modules/uninorm/nfc: Likewise.
49377         * modules/uninorm/nfd: Likewise.
49378         * modules/uninorm/nfkc: Likewise.
49379         * modules/uninorm/nfkd: Likewise.
49380         * modules/uninorm/u8-normalize: Likewise.
49381         * modules/uninorm/u8-normcmp: Likewise.
49382         * modules/uninorm/u8-normcoll: Likewise.
49383         * modules/uninorm/u8-normxfrm: Likewise.
49384         * modules/uninorm/u16-normalize: Likewise.
49385         * modules/uninorm/u16-normcmp: Likewise.
49386         * modules/uninorm/u16-normcoll: Likewise.
49387         * modules/uninorm/u16-normxfrm: Likewise.
49388         * modules/uninorm/u32-normalize: Likewise.
49389         * modules/uninorm/u32-normcmp: Likewise.
49390         * modules/uninorm/u32-normcoll: Likewise.
49391         * modules/uninorm/u32-normxfrm: Likewise.
49392         * modules/unistdio/u8-asnprintf: Likewise.
49393         * modules/unistdio/u8-asprintf: Likewise.
49394         * modules/unistdio/u8-snprintf: Likewise.
49395         * modules/unistdio/u8-sprintf: Likewise.
49396         * modules/unistdio/u8-u8-asnprintf: Likewise.
49397         * modules/unistdio/u8-u8-asprintf: Likewise.
49398         * modules/unistdio/u8-u8-snprintf: Likewise.
49399         * modules/unistdio/u8-u8-sprintf: Likewise.
49400         * modules/unistdio/u8-u8-vasnprintf: Likewise.
49401         * modules/unistdio/u8-u8-vasprintf: Likewise.
49402         * modules/unistdio/u8-u8-vsnprintf: Likewise.
49403         * modules/unistdio/u8-u8-vsprintf: Likewise.
49404         * modules/unistdio/u8-vasnprintf: Likewise.
49405         * modules/unistdio/u8-vasprintf: Likewise.
49406         * modules/unistdio/u8-vsnprintf: Likewise.
49407         * modules/unistdio/u8-vsprintf: Likewise.
49408         * modules/unistdio/u16-asnprintf: Likewise.
49409         * modules/unistdio/u16-asprintf: Likewise.
49410         * modules/unistdio/u16-snprintf: Likewise.
49411         * modules/unistdio/u16-sprintf: Likewise.
49412         * modules/unistdio/u16-u16-asnprintf: Likewise.
49413         * modules/unistdio/u16-u16-asprintf: Likewise.
49414         * modules/unistdio/u16-u16-snprintf: Likewise.
49415         * modules/unistdio/u16-u16-sprintf: Likewise.
49416         * modules/unistdio/u16-u16-vasnprintf: Likewise.
49417         * modules/unistdio/u16-u16-vasprintf: Likewise.
49418         * modules/unistdio/u16-u16-vsnprintf: Likewise.
49419         * modules/unistdio/u16-u16-vsprintf: Likewise.
49420         * modules/unistdio/u16-vasnprintf: Likewise.
49421         * modules/unistdio/u16-vasprintf: Likewise.
49422         * modules/unistdio/u16-vsnprintf: Likewise.
49423         * modules/unistdio/u16-vsprintf: Likewise.
49424         * modules/unistdio/u32-asnprintf: Likewise.
49425         * modules/unistdio/u32-asprintf: Likewise.
49426         * modules/unistdio/u32-snprintf: Likewise.
49427         * modules/unistdio/u32-sprintf: Likewise.
49428         * modules/unistdio/u32-u32-asnprintf: Likewise.
49429         * modules/unistdio/u32-u32-asprintf: Likewise.
49430         * modules/unistdio/u32-u32-snprintf: Likewise.
49431         * modules/unistdio/u32-u32-sprintf: Likewise.
49432         * modules/unistdio/u32-u32-vasnprintf: Likewise.
49433         * modules/unistdio/u32-u32-vasprintf: Likewise.
49434         * modules/unistdio/u32-u32-vsnprintf: Likewise.
49435         * modules/unistdio/u32-u32-vsprintf: Likewise.
49436         * modules/unistdio/u32-vasnprintf: Likewise.
49437         * modules/unistdio/u32-vasprintf: Likewise.
49438         * modules/unistdio/u32-vsnprintf: Likewise.
49439         * modules/unistdio/u32-vsprintf: Likewise.
49440         * modules/unistdio/ulc-asnprintf: Likewise.
49441         * modules/unistdio/ulc-asprintf: Likewise.
49442         * modules/unistdio/ulc-fprintf: Likewise.
49443         * modules/unistdio/ulc-snprintf: Likewise.
49444         * modules/unistdio/ulc-sprintf: Likewise.
49445         * modules/unistdio/ulc-vasnprintf: Likewise.
49446         * modules/unistdio/ulc-vasprintf: Likewise.
49447         * modules/unistdio/ulc-vfprintf: Likewise.
49448         * modules/unistdio/ulc-vsnprintf: Likewise.
49449         * modules/unistdio/ulc-vsprintf: Likewise.
49450         * modules/unistr/u8-check: Likewise.
49451         * modules/unistr/u8-chr: Likewise.
49452         * modules/unistr/u8-cmp: Likewise.
49453         * modules/unistr/u8-cmp2: Likewise.
49454         * modules/unistr/u8-cpy: Likewise.
49455         * modules/unistr/u8-cpy-alloc: Likewise.
49456         * modules/unistr/u8-endswith: Likewise.
49457         * modules/unistr/u8-mblen: Likewise.
49458         * modules/unistr/u8-mbsnlen: Likewise.
49459         * modules/unistr/u8-mbtouc: Likewise.
49460         * modules/unistr/u8-mbtouc-unsafe: Likewise.
49461         * modules/unistr/u8-mbtoucr: Likewise.
49462         * modules/unistr/u8-move: Likewise.
49463         * modules/unistr/u8-next: Likewise.
49464         * modules/unistr/u8-prev: Likewise.
49465         * modules/unistr/u8-set: Likewise.
49466         * modules/unistr/u8-startswith: Likewise.
49467         * modules/unistr/u8-stpcpy: Likewise.
49468         * modules/unistr/u8-stpncpy: Likewise.
49469         * modules/unistr/u8-strcat: Likewise.
49470         * modules/unistr/u8-strchr: Likewise.
49471         * modules/unistr/u8-strcmp: Likewise.
49472         * modules/unistr/u8-strcoll: Likewise.
49473         * modules/unistr/u8-strcpy: Likewise.
49474         * modules/unistr/u8-strcspn: Likewise.
49475         * modules/unistr/u8-strdup: Likewise.
49476         * modules/unistr/u8-strlen: Likewise.
49477         * modules/unistr/u8-strmblen: Likewise.
49478         * modules/unistr/u8-strmbtouc: Likewise.
49479         * modules/unistr/u8-strncat: Likewise.
49480         * modules/unistr/u8-strncmp: Likewise.
49481         * modules/unistr/u8-strncpy: Likewise.
49482         * modules/unistr/u8-strnlen: Likewise.
49483         * modules/unistr/u8-strpbrk: Likewise.
49484         * modules/unistr/u8-strrchr: Likewise.
49485         * modules/unistr/u8-strspn: Likewise.
49486         * modules/unistr/u8-strstr: Likewise.
49487         * modules/unistr/u8-strtok: Likewise.
49488         * modules/unistr/u8-to-u16: Likewise.
49489         * modules/unistr/u8-to-u32: Likewise.
49490         * modules/unistr/u8-uctomb: Likewise.
49491         * modules/unistr/u16-check: Likewise.
49492         * modules/unistr/u16-chr: Likewise.
49493         * modules/unistr/u16-cmp: Likewise.
49494         * modules/unistr/u16-cmp2: Likewise.
49495         * modules/unistr/u16-cpy: Likewise.
49496         * modules/unistr/u16-cpy-alloc: Likewise.
49497         * modules/unistr/u16-endswith: Likewise.
49498         * modules/unistr/u16-mblen: Likewise.
49499         * modules/unistr/u16-mbsnlen: Likewise.
49500         * modules/unistr/u16-mbtouc: Likewise.
49501         * modules/unistr/u16-mbtouc-unsafe: Likewise.
49502         * modules/unistr/u16-mbtoucr: Likewise.
49503         * modules/unistr/u16-move: Likewise.
49504         * modules/unistr/u16-next: Likewise.
49505         * modules/unistr/u16-prev: Likewise.
49506         * modules/unistr/u16-set: Likewise.
49507         * modules/unistr/u16-startswith: Likewise.
49508         * modules/unistr/u16-stpcpy: Likewise.
49509         * modules/unistr/u16-stpncpy: Likewise.
49510         * modules/unistr/u16-strcat: Likewise.
49511         * modules/unistr/u16-strchr: Likewise.
49512         * modules/unistr/u16-strcmp: Likewise.
49513         * modules/unistr/u16-strcoll: Likewise.
49514         * modules/unistr/u16-strcpy: Likewise.
49515         * modules/unistr/u16-strcspn: Likewise.
49516         * modules/unistr/u16-strdup: Likewise.
49517         * modules/unistr/u16-strlen: Likewise.
49518         * modules/unistr/u16-strmblen: Likewise.
49519         * modules/unistr/u16-strmbtouc: Likewise.
49520         * modules/unistr/u16-strncat: Likewise.
49521         * modules/unistr/u16-strncmp: Likewise.
49522         * modules/unistr/u16-strncpy: Likewise.
49523         * modules/unistr/u16-strnlen: Likewise.
49524         * modules/unistr/u16-strpbrk: Likewise.
49525         * modules/unistr/u16-strrchr: Likewise.
49526         * modules/unistr/u16-strspn: Likewise.
49527         * modules/unistr/u16-strstr: Likewise.
49528         * modules/unistr/u16-strtok: Likewise.
49529         * modules/unistr/u16-to-u32: Likewise.
49530         * modules/unistr/u16-to-u8: Likewise.
49531         * modules/unistr/u16-uctomb: Likewise.
49532         * modules/unistr/u32-check: Likewise.
49533         * modules/unistr/u32-chr: Likewise.
49534         * modules/unistr/u32-cmp: Likewise.
49535         * modules/unistr/u32-cmp2: Likewise.
49536         * modules/unistr/u32-cpy: Likewise.
49537         * modules/unistr/u32-cpy-alloc: Likewise.
49538         * modules/unistr/u32-endswith: Likewise.
49539         * modules/unistr/u32-mblen: Likewise.
49540         * modules/unistr/u32-mbsnlen: Likewise.
49541         * modules/unistr/u32-mbtouc: Likewise.
49542         * modules/unistr/u32-mbtouc-unsafe: Likewise.
49543         * modules/unistr/u32-mbtoucr: Likewise.
49544         * modules/unistr/u32-move: Likewise.
49545         * modules/unistr/u32-next: Likewise.
49546         * modules/unistr/u32-prev: Likewise.
49547         * modules/unistr/u32-set: Likewise.
49548         * modules/unistr/u32-startswith: Likewise.
49549         * modules/unistr/u32-stpcpy: Likewise.
49550         * modules/unistr/u32-stpncpy: Likewise.
49551         * modules/unistr/u32-strcat: Likewise.
49552         * modules/unistr/u32-strchr: Likewise.
49553         * modules/unistr/u32-strcmp: Likewise.
49554         * modules/unistr/u32-strcoll: Likewise.
49555         * modules/unistr/u32-strcpy: Likewise.
49556         * modules/unistr/u32-strcspn: Likewise.
49557         * modules/unistr/u32-strdup: Likewise.
49558         * modules/unistr/u32-strlen: Likewise.
49559         * modules/unistr/u32-strmblen: Likewise.
49560         * modules/unistr/u32-strmbtouc: Likewise.
49561         * modules/unistr/u32-strncat: Likewise.
49562         * modules/unistr/u32-strncmp: Likewise.
49563         * modules/unistr/u32-strncpy: Likewise.
49564         * modules/unistr/u32-strnlen: Likewise.
49565         * modules/unistr/u32-strpbrk: Likewise.
49566         * modules/unistr/u32-strrchr: Likewise.
49567         * modules/unistr/u32-strspn: Likewise.
49568         * modules/unistr/u32-strstr: Likewise.
49569         * modules/unistr/u32-strtok: Likewise.
49570         * modules/unistr/u32-to-u16: Likewise.
49571         * modules/unistr/u32-to-u8: Likewise.
49572         * modules/unistr/u32-uctomb: Likewise.
49573         * modules/uniwbrk/u8-wordbreaks: Likewise.
49574         * modules/uniwbrk/u16-wordbreaks: Likewise.
49575         * modules/uniwbrk/u32-wordbreaks: Likewise.
49576         * modules/uniwbrk/ulc-wordbreaks: Likewise.
49577         * modules/uniwbrk/wordbreak-property: Likewise.
49578         * modules/uniwidth/u8-strwidth: Likewise.
49579         * modules/uniwidth/u8-width: Likewise.
49580         * modules/uniwidth/u16-strwidth: Likewise.
49581         * modules/uniwidth/u16-width: Likewise.
49582         * modules/uniwidth/u32-strwidth: Likewise.
49583         * modules/uniwidth/u32-width: Likewise.
49584         * modules/uniwidth/width: Likewise.
49585         * modules/unicase/cased-tests (Makefile.am): Link all test programs
49586         with $(LIBUNISTRING).
49587         * modules/unicase/ignorable-tests: Likewise.
49588         * modules/unicase/locale-language-tests: Likewise.
49589         * modules/unicase/tolower-tests: Likewise.
49590         * modules/unicase/totitle-tests: Likewise.
49591         * modules/unicase/toupper-tests: Likewise.
49592         * modules/unicase/u8-casecmp-tests: Likewise.
49593         * modules/unicase/u8-casecoll-tests: Likewise.
49594         * modules/unicase/u8-casefold-tests: Likewise.
49595         * modules/unicase/u8-is-cased-tests: Likewise.
49596         * modules/unicase/u8-is-casefolded-tests: Likewise.
49597         * modules/unicase/u8-is-lowercase-tests: Likewise.
49598         * modules/unicase/u8-is-titlecase-tests: Likewise.
49599         * modules/unicase/u8-is-uppercase-tests: Likewise.
49600         * modules/unicase/u8-tolower-tests: Likewise.
49601         * modules/unicase/u8-totitle-tests: Likewise.
49602         * modules/unicase/u8-toupper-tests: Likewise.
49603         * modules/unicase/u16-casecmp-tests: Likewise.
49604         * modules/unicase/u16-casecoll-tests: Likewise.
49605         * modules/unicase/u16-casefold-tests: Likewise.
49606         * modules/unicase/u16-is-cased-tests: Likewise.
49607         * modules/unicase/u16-is-casefolded-tests: Likewise.
49608         * modules/unicase/u16-is-lowercase-tests: Likewise.
49609         * modules/unicase/u16-is-titlecase-tests: Likewise.
49610         * modules/unicase/u16-is-uppercase-tests: Likewise.
49611         * modules/unicase/u16-tolower-tests: Likewise.
49612         * modules/unicase/u16-totitle-tests: Likewise.
49613         * modules/unicase/u16-toupper-tests: Likewise.
49614         * modules/unicase/u32-casecmp-tests: Likewise.
49615         * modules/unicase/u32-casecoll-tests: Likewise.
49616         * modules/unicase/u32-casefold-tests: Likewise.
49617         * modules/unicase/u32-is-cased-tests: Likewise.
49618         * modules/unicase/u32-is-casefolded-tests: Likewise.
49619         * modules/unicase/u32-is-lowercase-tests: Likewise.
49620         * modules/unicase/u32-is-titlecase-tests: Likewise.
49621         * modules/unicase/u32-is-uppercase-tests: Likewise.
49622         * modules/unicase/u32-tolower-tests: Likewise.
49623         * modules/unicase/u32-totitle-tests: Likewise.
49624         * modules/unicase/u32-toupper-tests: Likewise.
49625         * modules/unicase/ulc-casecmp-tests: Likewise.
49626         * modules/unicase/ulc-casecoll-tests: Likewise.
49627         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
49628         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
49629         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
49630         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
49631         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
49632         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
49633         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
49634         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
49635         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
49636         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
49637         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
49638         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
49639         * modules/unictype/bidicategory-byname-tests: Likewise.
49640         * modules/unictype/bidicategory-name-tests: Likewise.
49641         * modules/unictype/bidicategory-of-tests: Likewise.
49642         * modules/unictype/bidicategory-test-tests: Likewise.
49643         * modules/unictype/block-list-tests: Likewise.
49644         * modules/unictype/block-of-tests: Likewise.
49645         * modules/unictype/block-test-tests: Likewise.
49646         * modules/unictype/category-C-tests: Likewise.
49647         * modules/unictype/category-Cc-tests: Likewise.
49648         * modules/unictype/category-Cf-tests: Likewise.
49649         * modules/unictype/category-Cn-tests: Likewise.
49650         * modules/unictype/category-Co-tests: Likewise.
49651         * modules/unictype/category-Cs-tests: Likewise.
49652         * modules/unictype/category-L-tests: Likewise.
49653         * modules/unictype/category-Ll-tests: Likewise.
49654         * modules/unictype/category-Lm-tests: Likewise.
49655         * modules/unictype/category-Lo-tests: Likewise.
49656         * modules/unictype/category-Lt-tests: Likewise.
49657         * modules/unictype/category-Lu-tests: Likewise.
49658         * modules/unictype/category-M-tests: Likewise.
49659         * modules/unictype/category-Mc-tests: Likewise.
49660         * modules/unictype/category-Me-tests: Likewise.
49661         * modules/unictype/category-Mn-tests: Likewise.
49662         * modules/unictype/category-N-tests: Likewise.
49663         * modules/unictype/category-Nd-tests: Likewise.
49664         * modules/unictype/category-Nl-tests: Likewise.
49665         * modules/unictype/category-No-tests: Likewise.
49666         * modules/unictype/category-P-tests: Likewise.
49667         * modules/unictype/category-Pc-tests: Likewise.
49668         * modules/unictype/category-Pd-tests: Likewise.
49669         * modules/unictype/category-Pe-tests: Likewise.
49670         * modules/unictype/category-Pf-tests: Likewise.
49671         * modules/unictype/category-Pi-tests: Likewise.
49672         * modules/unictype/category-Po-tests: Likewise.
49673         * modules/unictype/category-Ps-tests: Likewise.
49674         * modules/unictype/category-S-tests: Likewise.
49675         * modules/unictype/category-Sc-tests: Likewise.
49676         * modules/unictype/category-Sk-tests: Likewise.
49677         * modules/unictype/category-Sm-tests: Likewise.
49678         * modules/unictype/category-So-tests: Likewise.
49679         * modules/unictype/category-Z-tests: Likewise.
49680         * modules/unictype/category-Zl-tests: Likewise.
49681         * modules/unictype/category-Zp-tests: Likewise.
49682         * modules/unictype/category-Zs-tests: Likewise.
49683         * modules/unictype/category-and-not-tests: Likewise.
49684         * modules/unictype/category-and-tests: Likewise.
49685         * modules/unictype/category-byname-tests: Likewise.
49686         * modules/unictype/category-name-tests: Likewise.
49687         * modules/unictype/category-none-tests: Likewise.
49688         * modules/unictype/category-of-tests: Likewise.
49689         * modules/unictype/category-or-tests: Likewise.
49690         * modules/unictype/category-test-withtable-tests: Likewise.
49691         * modules/unictype/combining-class-tests: Likewise.
49692         * modules/unictype/ctype-alnum-tests: Likewise.
49693         * modules/unictype/ctype-alpha-tests: Likewise.
49694         * modules/unictype/ctype-blank-tests: Likewise.
49695         * modules/unictype/ctype-cntrl-tests: Likewise.
49696         * modules/unictype/ctype-digit-tests: Likewise.
49697         * modules/unictype/ctype-graph-tests: Likewise.
49698         * modules/unictype/ctype-lower-tests: Likewise.
49699         * modules/unictype/ctype-print-tests: Likewise.
49700         * modules/unictype/ctype-punct-tests: Likewise.
49701         * modules/unictype/ctype-space-tests: Likewise.
49702         * modules/unictype/ctype-upper-tests: Likewise.
49703         * modules/unictype/ctype-xdigit-tests: Likewise.
49704         * modules/unictype/decimal-digit-tests: Likewise.
49705         * modules/unictype/digit-tests: Likewise.
49706         * modules/unictype/mirror-tests: Likewise.
49707         * modules/unictype/numeric-tests: Likewise.
49708         * modules/unictype/property-alphabetic-tests: Likewise.
49709         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
49710         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
49711         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
49712         * modules/unictype/property-bidi-block-separator-tests: Likewise.
49713         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
49714         * modules/unictype/property-bidi-common-separator-tests: Likewise.
49715         * modules/unictype/property-bidi-control-tests: Likewise.
49716         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
49717         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
49718         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
49719         * modules/unictype/property-bidi-european-digit-tests: Likewise.
49720         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
49721         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
49722         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
49723         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
49724         * modules/unictype/property-bidi-pdf-tests: Likewise.
49725         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
49726         * modules/unictype/property-bidi-whitespace-tests: Likewise.
49727         * modules/unictype/property-byname-tests: Likewise.
49728         * modules/unictype/property-combining-tests: Likewise.
49729         * modules/unictype/property-composite-tests: Likewise.
49730         * modules/unictype/property-currency-symbol-tests: Likewise.
49731         * modules/unictype/property-dash-tests: Likewise.
49732         * modules/unictype/property-decimal-digit-tests: Likewise.
49733         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
49734         * modules/unictype/property-deprecated-tests: Likewise.
49735         * modules/unictype/property-diacritic-tests: Likewise.
49736         * modules/unictype/property-extender-tests: Likewise.
49737         * modules/unictype/property-format-control-tests: Likewise.
49738         * modules/unictype/property-grapheme-base-tests: Likewise.
49739         * modules/unictype/property-grapheme-extend-tests: Likewise.
49740         * modules/unictype/property-grapheme-link-tests: Likewise.
49741         * modules/unictype/property-hex-digit-tests: Likewise.
49742         * modules/unictype/property-hyphen-tests: Likewise.
49743         * modules/unictype/property-id-continue-tests: Likewise.
49744         * modules/unictype/property-id-start-tests: Likewise.
49745         * modules/unictype/property-ideographic-tests: Likewise.
49746         * modules/unictype/property-ids-binary-operator-tests: Likewise.
49747         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
49748         * modules/unictype/property-ignorable-control-tests: Likewise.
49749         * modules/unictype/property-iso-control-tests: Likewise.
49750         * modules/unictype/property-join-control-tests: Likewise.
49751         * modules/unictype/property-left-of-pair-tests: Likewise.
49752         * modules/unictype/property-line-separator-tests: Likewise.
49753         * modules/unictype/property-logical-order-exception-tests: Likewise.
49754         * modules/unictype/property-lowercase-tests: Likewise.
49755         * modules/unictype/property-math-tests: Likewise.
49756         * modules/unictype/property-non-break-tests: Likewise.
49757         * modules/unictype/property-not-a-character-tests: Likewise.
49758         * modules/unictype/property-numeric-tests: Likewise.
49759         * modules/unictype/property-other-alphabetic-tests: Likewise.
49760         * modules/unictype/property-other-default-ignorable-code-point-tests:
49761         Likewise.
49762         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
49763         * modules/unictype/property-other-id-continue-tests: Likewise.
49764         * modules/unictype/property-other-id-start-tests: Likewise.
49765         * modules/unictype/property-other-lowercase-tests: Likewise.
49766         * modules/unictype/property-other-math-tests: Likewise.
49767         * modules/unictype/property-other-uppercase-tests: Likewise.
49768         * modules/unictype/property-paired-punctuation-tests: Likewise.
49769         * modules/unictype/property-paragraph-separator-tests: Likewise.
49770         * modules/unictype/property-pattern-syntax-tests: Likewise.
49771         * modules/unictype/property-pattern-white-space-tests: Likewise.
49772         * modules/unictype/property-private-use-tests: Likewise.
49773         * modules/unictype/property-punctuation-tests: Likewise.
49774         * modules/unictype/property-quotation-mark-tests: Likewise.
49775         * modules/unictype/property-radical-tests: Likewise.
49776         * modules/unictype/property-sentence-terminal-tests: Likewise.
49777         * modules/unictype/property-soft-dotted-tests: Likewise.
49778         * modules/unictype/property-space-tests: Likewise.
49779         * modules/unictype/property-terminal-punctuation-tests: Likewise.
49780         * modules/unictype/property-test-tests: Likewise.
49781         * modules/unictype/property-titlecase-tests: Likewise.
49782         * modules/unictype/property-unassigned-code-value-tests: Likewise.
49783         * modules/unictype/property-unified-ideograph-tests: Likewise.
49784         * modules/unictype/property-uppercase-tests: Likewise.
49785         * modules/unictype/property-variation-selector-tests: Likewise.
49786         * modules/unictype/property-white-space-tests: Likewise.
49787         * modules/unictype/property-xid-continue-tests: Likewise.
49788         * modules/unictype/property-xid-start-tests: Likewise.
49789         * modules/unictype/property-zero-width-tests: Likewise.
49790         * modules/unictype/scripts-tests: Likewise.
49791         * modules/unictype/syntax-c-ident-tests: Likewise.
49792         * modules/unictype/syntax-c-whitespace-tests: Likewise.
49793         * modules/unictype/syntax-java-ident-tests: Likewise.
49794         * modules/unictype/syntax-java-whitespace-tests: Likewise.
49795         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
49796         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
49797         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
49798         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
49799         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
49800         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
49801         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
49802         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
49803         * modules/uniname/uniname-tests: Likewise.
49804         * modules/uninorm/canonical-decomposition-tests: Likewise.
49805         * modules/uninorm/compat-decomposition-tests: Likewise.
49806         * modules/uninorm/composition-tests: Likewise.
49807         * modules/uninorm/decomposing-form-tests: Likewise.
49808         * modules/uninorm/decomposition-tests: Likewise.
49809         * modules/uninorm/filter-tests: Likewise.
49810         * modules/uninorm/nfc-tests: Likewise.
49811         * modules/uninorm/nfd-tests: Likewise.
49812         * modules/uninorm/nfkc-tests: Likewise.
49813         * modules/uninorm/nfkd-tests: Likewise.
49814         * modules/uninorm/u8-normcmp-tests: Likewise.
49815         * modules/uninorm/u8-normcoll-tests: Likewise.
49816         * modules/uninorm/u16-normcmp-tests: Likewise.
49817         * modules/uninorm/u16-normcoll-tests: Likewise.
49818         * modules/uninorm/u32-normcmp-tests: Likewise.
49819         * modules/uninorm/u32-normcoll-tests: Likewise.
49820         * modules/unistdio/u8-asnprintf-tests: Likewise.
49821         * modules/unistdio/u8-vasnprintf-tests: Likewise.
49822         * modules/unistdio/u8-vasprintf-tests: Likewise.
49823         * modules/unistdio/u8-vsnprintf-tests: Likewise.
49824         * modules/unistdio/u8-vsprintf-tests: Likewise.
49825         * modules/unistdio/u16-asnprintf-tests: Likewise.
49826         * modules/unistdio/u16-vasnprintf-tests: Likewise.
49827         * modules/unistdio/u16-vasprintf-tests: Likewise.
49828         * modules/unistdio/u16-vsnprintf-tests: Likewise.
49829         * modules/unistdio/u16-vsprintf-tests: Likewise.
49830         * modules/unistdio/u32-asnprintf-tests: Likewise.
49831         * modules/unistdio/u32-vasnprintf-tests: Likewise.
49832         * modules/unistdio/u32-vasprintf-tests: Likewise.
49833         * modules/unistdio/u32-vsnprintf-tests: Likewise.
49834         * modules/unistdio/u32-vsprintf-tests: Likewise.
49835         * modules/unistdio/ulc-asnprintf-tests: Likewise.
49836         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
49837         * modules/unistdio/ulc-vasprintf-tests: Likewise.
49838         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
49839         * modules/unistdio/ulc-vsprintf-tests: Likewise.
49840         * modules/unistr/u8-check-tests: Likewise.
49841         * modules/unistr/u8-chr-tests: Likewise.
49842         * modules/unistr/u8-cmp-tests: Likewise.
49843         * modules/unistr/u8-cmp2-tests: Likewise.
49844         * modules/unistr/u8-cpy-alloc-tests: Likewise.
49845         * modules/unistr/u8-cpy-tests: Likewise.
49846         * modules/unistr/u8-mblen-tests: Likewise.
49847         * modules/unistr/u8-mbsnlen-tests: Likewise.
49848         * modules/unistr/u8-mbtouc-tests: Likewise.
49849         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
49850         * modules/unistr/u8-mbtoucr-tests: Likewise.
49851         * modules/unistr/u8-move-tests: Likewise.
49852         * modules/unistr/u8-next-tests: Likewise.
49853         * modules/unistr/u8-prev-tests: Likewise.
49854         * modules/unistr/u8-set-tests: Likewise.
49855         * modules/unistr/u8-stpcpy-tests: Likewise.
49856         * modules/unistr/u8-stpncpy-tests: Likewise.
49857         * modules/unistr/u8-strcat-tests: Likewise.
49858         * modules/unistr/u8-strcmp-tests: Likewise.
49859         * modules/unistr/u8-strcoll-tests: Likewise.
49860         * modules/unistr/u8-strcpy-tests: Likewise.
49861         * modules/unistr/u8-strdup-tests: Likewise.
49862         * modules/unistr/u8-strlen-tests: Likewise.
49863         * modules/unistr/u8-strmblen-tests: Likewise.
49864         * modules/unistr/u8-strmbtouc-tests: Likewise.
49865         * modules/unistr/u8-strncat-tests: Likewise.
49866         * modules/unistr/u8-strncmp-tests: Likewise.
49867         * modules/unistr/u8-strncpy-tests: Likewise.
49868         * modules/unistr/u8-strnlen-tests: Likewise.
49869         * modules/unistr/u8-to-u16-tests: Likewise.
49870         * modules/unistr/u8-to-u32-tests: Likewise.
49871         * modules/unistr/u8-uctomb-tests: Likewise.
49872         * modules/unistr/u16-check-tests: Likewise.
49873         * modules/unistr/u16-chr-tests: Likewise.
49874         * modules/unistr/u16-cmp-tests: Likewise.
49875         * modules/unistr/u16-cmp2-tests: Likewise.
49876         * modules/unistr/u16-cpy-alloc-tests: Likewise.
49877         * modules/unistr/u16-cpy-tests: Likewise.
49878         * modules/unistr/u16-mblen-tests: Likewise.
49879         * modules/unistr/u16-mbsnlen-tests: Likewise.
49880         * modules/unistr/u16-mbtouc-tests: Likewise.
49881         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
49882         * modules/unistr/u16-mbtoucr-tests: Likewise.
49883         * modules/unistr/u16-move-tests: Likewise.
49884         * modules/unistr/u16-next-tests: Likewise.
49885         * modules/unistr/u16-prev-tests: Likewise.
49886         * modules/unistr/u16-set-tests: Likewise.
49887         * modules/unistr/u16-stpcpy-tests: Likewise.
49888         * modules/unistr/u16-stpncpy-tests: Likewise.
49889         * modules/unistr/u16-strcat-tests: Likewise.
49890         * modules/unistr/u16-strcmp-tests: Likewise.
49891         * modules/unistr/u16-strcoll-tests: Likewise.
49892         * modules/unistr/u16-strcpy-tests: Likewise.
49893         * modules/unistr/u16-strdup-tests: Likewise.
49894         * modules/unistr/u16-strlen-tests: Likewise.
49895         * modules/unistr/u16-strmblen-tests: Likewise.
49896         * modules/unistr/u16-strmbtouc-tests: Likewise.
49897         * modules/unistr/u16-strncat-tests: Likewise.
49898         * modules/unistr/u16-strncmp-tests: Likewise.
49899         * modules/unistr/u16-strncpy-tests: Likewise.
49900         * modules/unistr/u16-strnlen-tests: Likewise.
49901         * modules/unistr/u16-to-u32-tests: Likewise.
49902         * modules/unistr/u16-to-u8-tests: Likewise.
49903         * modules/unistr/u16-uctomb-tests: Likewise.
49904         * modules/unistr/u32-check-tests: Likewise.
49905         * modules/unistr/u32-chr-tests: Likewise.
49906         * modules/unistr/u32-cmp-tests: Likewise.
49907         * modules/unistr/u32-cmp2-tests: Likewise.
49908         * modules/unistr/u32-cpy-alloc-tests: Likewise.
49909         * modules/unistr/u32-cpy-tests: Likewise.
49910         * modules/unistr/u32-mblen-tests: Likewise.
49911         * modules/unistr/u32-mbsnlen-tests: Likewise.
49912         * modules/unistr/u32-mbtouc-tests: Likewise.
49913         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
49914         * modules/unistr/u32-mbtoucr-tests: Likewise.
49915         * modules/unistr/u32-move-tests: Likewise.
49916         * modules/unistr/u32-next-tests: Likewise.
49917         * modules/unistr/u32-prev-tests: Likewise.
49918         * modules/unistr/u32-set-tests: Likewise.
49919         * modules/unistr/u32-stpcpy-tests: Likewise.
49920         * modules/unistr/u32-stpncpy-tests: Likewise.
49921         * modules/unistr/u32-strcat-tests: Likewise.
49922         * modules/unistr/u32-strcmp-tests: Likewise.
49923         * modules/unistr/u32-strcoll-tests: Likewise.
49924         * modules/unistr/u32-strcpy-tests: Likewise.
49925         * modules/unistr/u32-strdup-tests: Likewise.
49926         * modules/unistr/u32-strlen-tests: Likewise.
49927         * modules/unistr/u32-strmblen-tests: Likewise.
49928         * modules/unistr/u32-strmbtouc-tests: Likewise.
49929         * modules/unistr/u32-strncat-tests: Likewise.
49930         * modules/unistr/u32-strncmp-tests: Likewise.
49931         * modules/unistr/u32-strncpy-tests: Likewise.
49932         * modules/unistr/u32-strnlen-tests: Likewise.
49933         * modules/unistr/u32-to-u16-tests: Likewise.
49934         * modules/unistr/u32-to-u8-tests: Likewise.
49935         * modules/unistr/u32-uctomb-tests: Likewise.
49936         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
49937         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
49938         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
49939         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
49940         * modules/uniwidth/u8-strwidth-tests: Likewise.
49941         * modules/uniwidth/u8-width-tests: Likewise.
49942         * modules/uniwidth/u16-strwidth-tests: Likewise.
49943         * modules/uniwidth/u16-width-tests: Likewise.
49944         * modules/uniwidth/u32-strwidth-tests: Likewise.
49945         * modules/uniwidth/u32-width-tests: Likewise.
49946         * modules/uniwidth/width-tests: Likewise.
49948 2010-05-18  Richard Jones  <rjones@redhat.com>
49950         doc: users.txt: list hivex
49951         * users.txt: Add hivex.
49953 2010-05-18  Richard Jones  <rjones@redhat.com>
49955         doc: users.txt: list febootstrap
49956         * users.txt: Add febootstrap.
49958 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
49960         bootstrap: fix an error when gnulib is not used as a git submodule
49961         * build-aux/bootstrap (gnulib_path): If its length is zero then
49962         assign "gnulib" to it.
49963         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
49965 2010-05-16  Bruno Haible  <bruno@clisp.org>
49967         Avoid autoconf warnings about AM_ICONV.
49968         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
49969         2.64.
49971 2010-05-16  Bruno Haible  <bruno@clisp.org>
49973         absolute-header: Make the macro usable in more situations.
49974         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
49975         from gl_ABSOLUTE_HEADER.
49976         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
49978 2010-05-16  James Youngman  <jay@gnu.org>
49980         doc: update users.txt
49981         * users.txt: Add CSSC.
49983 2010-05-16  Jim Meyering  <meyering@redhat.com>
49985         init.sh: fix an error in the previous change; add more comments
49986         * tests/init.sh: Compare exit code in loop against 9, not 2.
49987         Patch by Bruno Haible.
49988         Make the two tests more similar by adding an empty "then" clause.
49989         Add comments.
49991         init.sh: avoid unnecessary shell re-exec
49992         * tests/init.sh: Improve the re-exec-required check to first test the
49993         current shell.  If it passes the test, do not search for a shell that
49994         does pass, and do not re-exec.  This test is particularly contorted to
49995         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
49996         of $(...) evokes a syntax error and causes immediate shell exit with
49997         status 2.  Bruno Haible reported that the re-exec made it impossible
49998         to single-step through any init.sh-using script.
50000 2010-05-16  Bruno Haible  <bruno@clisp.org>
50002         Fix collision between gnulib's and libintl's printf replacements.
50003         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
50004         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
50005         (printf): When using GNU C, map the __printf__ function to rpl_printf
50006         via __asm__. When not using GNU C, define rpl_printf instead of
50007         __printf__.
50008         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
50009         commit.
50010         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
50011         commit.
50012         * m4/asm-underscore.m4: New file.
50013         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
50014         * modules/stdio (Files): Add m4/asm-underscore.m4.
50015         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
50016         Reported by Ben Pfaff.
50018 2010-05-16  Bruno Haible  <bruno@clisp.org>
50020         verify: Avoid skipping the test on openSUSE 11.0.
50021         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
50023 2010-05-13  Bruno Haible  <bruno@clisp.org>
50025         Avoid useless warnings from G++.
50026         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
50027         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
50028         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
50030 2010-05-11  Jim Meyering  <meyering@redhat.com>
50032         maint.mk: tweak preceding change
50033         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
50034         regexps tighter by anchoring at EOL, and make the new group "shy"
50035         for slightly decreased overhead.
50037 2010-05-11  Eric Blake  <eblake@redhat.com>
50039         maint.mk: gnulib doesn't guarantee NSIG
50040         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
50042 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
50044         test-pwrite.c: Remove unused variable declaration.
50045         * tests/test-pwrite.c (main): Remove read_buf declaration.
50047         Remove useless test-pwrite.sh file.
50048         * tests/test-pwrite.sh: Delete file.
50049         * modules/pwrite-tests: Remove references.
50050         Reported by Bruno Haible.
50052 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
50054         init.sh: fix a typo
50055         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
50057 2010-05-10  Jim Meyering  <meyering@redhat.com>
50059         maint.mk: avoid using a temporary file in the always-defined-macros check
50060         * top/maint.mk (.re-defmac): Remove rule.
50061         (gl_trap_): Remove definition.
50062         (sc_prohibit_always-defined_macros): Rewrite not to create and
50063         depend on a temporary file.  Instead, depend on GNU grep's ability
50064         to read a list of regular expressions from stdin when given "-f -".
50066 2010-05-09  Bruno Haible  <bruno@clisp.org>
50068         Update to GNU gettext 0.18, part 1.
50069         * m4/gettext.m4: Update to GNU gettext 0.18.
50070         * m4/intl.m4: Likewise.
50071         * m4/po.m4: Likewise.
50072         * modules/gettext (Files): Add m4/fcntl-o.m4.
50073         (configure.ac): Require gettext infrastructure from version 0.18.
50075 2010-05-09  Jim Meyering  <meyering@redhat.com>
50077         init.sh: enable MALLOC_PERTURB_
50078         * tests/init.sh: Enable glibc's malloc-perturbing option.
50080         maint.mk: improve sc_cross_check_PATH_usage_in_tests
50081         With my recent change in init.sh from the two-line form:
50082             -#   : ${srcdir=.}
50083             -#   . "$srcdir/init.sh"; path_prepend_ .
50084             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
50085         I noticed that using the one-line form would cause this test
50086         to fail with a false-positive, or to stop working altogether,
50087         depending on whether help-version changed or all the tests did.
50088         * top/maint.mk (_hv_regex): Remove this definition.
50089         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
50090         (_hv_regex_strong): Use a stronger regex to check for conformance.
50091         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
50092         Give a separate diagnostic for lack of conforming use.
50094         maint.mk: prohibit definition of symbols defined by gnulib
50095         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
50096         definition of symbols defined by gnulib.
50098 2010-05-09  Bruno Haible  <bruno@clisp.org>
50100         acl: Avoid test failure on Cygwin-hosted mingw.
50101         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
50103 2010-05-09  Bruno Haible  <bruno@clisp.org>
50105         error: Use system's fcntl function.
50106         * lib/error.c (fcntl): Undefine.
50108 2010-05-09  Jim Meyering  <meyering@redhat.com>
50110         verify: adjust formatting to be more consistent
50111         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
50112         argument-list '('s, and after one comma.
50114 2010-05-09  Bruno Haible  <bruno@clisp.org>
50116         error: More reliable output on mingw.
50117         * lib/error.c: Include <windows.h>.
50118         (is_open): New function.
50119         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
50120         defined.
50122 2010-05-09  Bruno Haible  <bruno@clisp.org>
50124         vasnprintf: Fix syntax errors in libintl build on mingw.
50125         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
50126         pad_ourselves and prec_ourselves after use.
50128 2010-05-08  Bruno Haible  <bruno@clisp.org>
50130         * lib/config.charset: Update comments for Cygwin 1.7.
50131         * lib/localcharset.c: Likewise.
50133 2010-05-07  Jim Meyering  <meyering@redhat.com>
50135         init.sh: improve comments
50136         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
50137         . "${srcdir=.}/init.sh"; path_prepend_ .
50138         Add a note about path_prepend_ and the alternative of using
50139         TESTS_ENVIRONMENT.
50141 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
50143         exclude: Unescape hashed patterns in wildcard mode.
50144         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
50145         to the hash list.
50146         * tests/test-exclude8.sh: New test case.
50147         * modules/exclude-tests: Add new test.
50149 2010-05-05  Eric Blake  <eblake@redhat.com>
50151         verify: automate tests
50152         * modules/verify-tests: New module.
50153         * tests/test-verify.sh: New file.
50154         * tests/test-verify.c: Guard each negative test with a unique id.
50155         Also avoid warning about unused left hand of comma expressions.
50157 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
50159         Further improvements to verify.h, suggested by Eric Blake.
50160         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
50161         the GL_* versions, to avoid collision with OpenGL.
50162         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
50163         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
50164         than testing merely whether it's defined.
50166         Modify verify.h to pacify gcc -Wredundant_decls.
50167         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
50168         These use the prefix "GL_" since they're likely to be useful elsewhere.
50169         We may need to break them out into a different .h file.
50170         (__COUNTER__): Define to 0 if the compiler doesn't support it.
50171         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
50172         of verify_function__.
50174 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
50176         Tests for module pwrite.
50177         * modules/pwrite-tests: New file.
50178         * tests/test-pwrite.sh: New file.
50179         * tests/test-pwrite.c: New file.
50181         New module pwrite.
50182         * lib/unistd.in.h (pwrite): New declaration.
50183         * lib/pwrite.c: New file, from glibc with modifications.
50184         * m4/pwrite.m4: New file.
50185         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
50186         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
50187         REPLACE_PWRITE.
50188         * modules/pwrite: New file.
50189         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
50190         REPLACE_PWRITE.
50191         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
50192         * doc/posix-functions/pwrite.texi: Mention the new module.
50194 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
50196         pread: Update documentation.
50197         * doc/posix-functions/pread.texi: Mention the 'pread' module.
50199 2010-05-04  Eric Blake  <eblake@redhat.com>
50201         docs: update cygwin progress
50202         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
50203         this bug.
50204         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
50205         Added in cygwin 1.7.2.
50206         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
50207         Likewise.
50208         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
50209         Likewise.
50210         * doc/glibc-functions/dup3.texi (dup3): Likewise.
50211         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
50212         * doc/glibc-functions/accept4.texi (accept4): Likewise.
50213         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
50214         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
50215         Mention nproc module.
50216         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
50217         bug in cygwin 1.7.5 addition.
50218         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
50219         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
50220         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
50221         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
50222         1.7.5.
50223         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
50224         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
50225         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
50226         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
50227         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
50228         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
50229         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
50230         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
50231         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
50232         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
50233         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
50234         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
50235         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
50236         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
50237         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
50238         Likewise.
50239         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
50240         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
50241         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
50242         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
50243         Likewise.
50244         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
50245         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
50246         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
50247         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
50248         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
50249         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
50250         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
50251         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
50252         Likewise.
50253         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
50254         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
50255         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
50256         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
50257         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
50258         Likewise.
50259         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
50260         Likewise.
50261         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
50262         Likewise.
50263         * doc/glibc-functions/xdrrec_endofrecord.texi
50264         (xdrrec_endofrecord): Likewise.
50265         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
50266         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
50267         Likewise.
50268         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
50269         Likewise.
50271 2010-05-04  Jim Meyering  <meyering@redhat.com>
50273         gendocs.sh: make its "-s FILE" option more useful
50274         * build-aux/gendocs.sh: When honoring the -s FILE option, update
50275         $PACKAGE to reflect the probably-different basename of "FILE".
50277 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
50279         bootstrap: don't ignore download_po_files failure
50280         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
50281         failure.
50283 2010-05-03  Jim Meyering  <meyering@redhat.com>
50285         maint.mk: allow to pass options to gendocs.sh
50286         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
50287         (gendocs_options_): New overridable variable.
50289         gnu-web-doc-update: don't ignore configure or build failure
50290         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
50292         announce-gen: backslash-escape '@'s in --help output
50293         * build-aux/announce-gen: Fix syntax errors.
50295         maint.mk, announce-gen: allow project-specific announcement mail headers
50296         * top/maint.mk (translation_project_): Define default.
50297         (announcement_Cc_, announcement_mail_headers_): Likewise.
50298         (announcement): Invoke announce-gen with new --mail-headers option.
50299         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
50301         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
50302         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
50303         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
50304         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
50305         line in the "err2" output file when running "make check" in verbose
50306         mode (i.e., with set -x enabled).
50308 2010-05-03  Bruno Haible  <bruno@clisp.org>
50310         wctob: Fix for weird platforms.
50311         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
50312         argument value.
50314 2010-05-03  Jim Meyering  <meyering@redhat.com>
50316         maint.mk: prohibit unwarranted use of <strings.h>
50317         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
50318         strings.h in a file that does not also use strcasecmp, strncasecmp,
50319         ffs or ffsll.
50321         maint.mk: remove obsolete comments
50322         * top/maint.mk: Remove stale, commented-out rules.
50324 2010-05-02  Bruno Haible  <bruno@clisp.org>
50326         wcwidth: Declare also when it's aliased.
50327         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
50328         macro.
50330 2010-05-02  Bruno Haible  <bruno@clisp.org>
50332         Fix regression from 2010-04-25.
50333         * gnulib-tool (func_modules_transitive_closure): Check the status of
50334         all modules, not only of the tests that are of the form foo-tests where
50335         foo is a module.
50337 2010-05-02  Bruno Haible  <bruno@clisp.org>
50339         wctob: Work around nasty Cygwin 1.7.2 bug.
50340         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
50341         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
50343 2010-05-01  Bruno Haible  <bruno@clisp.org>
50345         fpurge: Sharper test.
50346         * tests/test-fpurge.c (main): Add one more ftell check.
50347         * modules/fpurge-tests (Depends-on): Add ftell.
50348         Suggested by Eric Blake.
50350 2010-05-01  Bruno Haible  <bruno@clisp.org>
50352         ftello: Another test.
50353         * tests/test-ftello3.c: New file.
50354         * modules/ftello-tests (Files): Add it.
50355         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
50356         MOSTLYCLEANFILES.
50358         ftell: Another test.
50359         * tests/test-ftell3.c: New file.
50360         * modules/ftell-tests (Files): Add it.
50361         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
50362         MOSTLYCLEANFILES.
50364 2010-05-01  Bruno Haible  <bruno@clisp.org>
50366         ftell, ftello: Work around Solaris bug.
50367         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
50368         * lib/ftello.c: Include stdio-impl.h.
50369         (ftello): On Solaris, when _IOWRT is set, compute the result without
50370         looking at _IOREAD.
50371         * modules/ftello (Files): Add lib/stdio-impl.h.
50372         * doc/posix-functions/ftell.texi: Mention Solaris bug.
50373         * doc/posix-functions/ftello.texi: Likewise.
50374         Reported by Eric Blake.
50376 2010-05-01  Bruno Haible  <bruno@clisp.org>
50378         freading: Adapt to special meaning of _IOREAD flag on Solaris.
50379         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
50380         the _IOWRT flag is also set.
50382 2010-05-01  Bruno Haible  <bruno@clisp.org>
50384         Fix doc about a HP-UX stdio bug.
50385         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
50386         * doc/posix-functions/ftello.texi: Likewise.
50388 2010-05-01  Bruno Haible  <bruno@clisp.org>
50390         lseek test: Fix failure on Solaris.
50391         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
50392         output.
50394 2010-04-30  Jim Meyering  <meyering@redhat.com>
50396         bootstrap: don't ignore failure to generate po*/Makevars
50397         * build-aux/bootstrap (with_gettext): Don't ignore failure
50398         to create po/Makevars or runtime-po/Makevars.
50400 2010-04-29  Eric Blake  <eblake@redhat.com>
50402         headers: relax license to LGPLv2+
50403         * modules/fcntl-h (License): Relax license.
50404         * modules/getopt-posix (License): Likewise.
50405         * modules/locale (License): Likewise.
50406         * modules/math (License): Likewise.
50407         * modules/pty (License): Likewise.
50408         * modules/sched (License): Likewise.
50409         * modules/search (License): Likewise.
50410         * modules/spawn (License): Likewise.
50411         * modules/stdarg (License): Likewise.
50412         * modules/sysexits (License): Likewise.
50414 2010-04-29  Jim Meyering  <meyering@redhat.com>
50416         inttypes: relax license to LGPLv2+
50417         * modules/inttypes (License): Relax license.
50419 2010-04-29  Simon Josefsson  <simon@josefsson.org>
50421         * top/maint.mk (indent): Run twice to produce idempotent results.
50423 2010-04-28  Bruno Haible  <bruno@clisp.org>
50425         getdate: Generate getdate.c in the source directory.
50426         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
50427         MOSTLYCLEANFILES.
50428         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
50430 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
50432         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
50433         is not declared as a const *; avoid warnings in that case.
50435 2010-04-28  Eric Blake  <eblake@redhat.com>
50437         canonicalize-lgpl: avoid compiler warning
50438         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
50439         declaration' / 'extraneous semicolon' warning with some compilers.
50440         Reported by Andreas Gruenbacher.
50442 2010-04-28  Jim Meyering  <meyering@redhat.com>
50444         init.sh: ensure a more reliable exit status when exiting via trap
50445         * tests/init.sh (setup_): Don't rely on $? in signal handler.
50446         Inspired by patches from Dmitry V. Levin.
50447         Also trap on signal 3 (SIGQUIT).
50449 2010-04-27  Bruno Haible  <bruno@clisp.org>
50451         Update doc about utimes().
50452         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
50453         'utimens' module.
50454         Reported by Andreas Gruenbacher <agruen@suse.de>.
50456 2010-04-27  Eric Blake  <eblake@redhat.com>
50458         full-read, full-write: relax license
50459         * modules/full-read (License): Drop to LGPLv2+.
50460         * modules/full-write (License): Likewise.
50461         * modules/safe-read (License): Likewise.
50462         * modules/safe-write (License): Likewise.
50464         pthread: mention library for linking
50465         * modules/pthread (Link): Mention $(LIB_PTHREAD).
50467 2010-04-27  Jim Meyering  <meyering@redhat.com>
50469         maint.mk: fix a bug introduced in last change
50470         * top/maint.mk (gl_assured_headers_): Now that all names are on
50471         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
50472         is not anchored to end of word, it should be adequate.
50474         maint.mk: avoid side-effect in latest syntax-check
50475         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
50476         to run commands via $(shell...), and hence to incur cost only when
50477         the new rule is actually run.
50479         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
50480         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
50481         and use that to create a regexp used to detect all #if HAVE_..._H uses.
50482         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
50483         (gl_assured_headers_, az_, AZ_): Define.
50484         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
50486 2010-04-26  Jim Meyering  <jim@meyering.net>
50487             Bruno Haible  <bruno@clisp.org>
50489         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
50490         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
50491         Prompted by an exchange with Gilles Espinasse.
50493 2010-04-26  Jim Meyering  <meyering@redhat.com>
50495         git-version-gen: aesthetic tweak
50496         * build-aux/git-version-gen: Use "$nl" rather than a literal,
50497         so that the command remains on a single line.
50499 2010-04-26  Eric Blake  <eblake@redhat.com>
50501         git-version-gen: allow use on EBCDIC hosts
50502         * build-aux/git-version-gen (dirty): Use literal rather than tying
50503         ourselves to ascii.
50504         Reported by Steve Goetze.
50506 2010-04-25  Bruno Haible  <bruno@clisp.org>
50508         netdb: Add support for GNULIB_POSIXCHECK.
50509         * lib/netdb.in.h: Include warn-on-use.h.
50510         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
50511         functions are used when GNULIB_POSIXCHECK is defined and the
50512         getaddrinfo module is not in use.
50513         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
50514         freeaddrinfo, gai_strerror, getnameinfo are declared.
50515         * modules/netdb (Depends-on): Add warn-on-use.
50516         (Makefile.am): Include warn-on-use.h in netdb.h.
50518 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
50520         build: avoid "make check" failure without .git/ directory
50521         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
50522         there is no .git/ directory.
50524 2010-04-25  Bruno Haible  <bruno@clisp.org>
50526         ptsname: Fix misuse of ttyname_r.
50527         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
50528         of errno.
50530 2010-04-25  Bruno Haible  <bruno@clisp.org>
50532         ttyname_r: Make it work on Solaris 10.
50533         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
50534         if the system function has the POSIX declaration. Test whether the
50535         function fails if the buffer is less than 128 bytes large.
50536         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
50537         system's ttyname_r function. Provide a reasonably large buffer.
50538         * modules/ttyname_r (Depends-on): Add extensions.
50539         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
50541 2010-04-25  Bruno Haible  <bruno@clisp.org>
50543         Use the 'extensions' module for some more functions on Solaris.
50544         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
50545         module.
50546         * doc/posix-functions/ctime_r.texi: Likewise.
50547         * doc/posix-functions/getgrgid_r.texi: Likewise.
50548         * doc/posix-functions/getgrnam_r.texi: Likewise.
50549         * doc/posix-functions/getpwnam_r.texi: Likewise.
50550         * doc/posix-functions/getpwuid_r.texi: Likewise.
50551         * doc/posix-functions/readdir_r.texi: Likewise.
50552         * doc/posix-functions/sigwait.texi: Likewise.
50553         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
50554         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
50556 2010-04-25  Bruno Haible  <bruno@clisp.org>
50558         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
50559         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
50560         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
50561         * lib/ttyname_r.c: Include <limits.h>.
50562         (ttyname_r): Define using the system's ttyname_r function, if it exists
50563         and not on Solaris.
50564         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
50565         set.
50566         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
50567         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
50568         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
50569         Reported by Simon Josefsson.
50571 2010-04-25  Bruno Haible  <bruno@clisp.org>
50573         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
50574         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
50575         * doc/posix-functions/ctime_r.texi: Likewise.
50576         * doc/posix-functions/getgrgid_r.texi: Likewise.
50577         * doc/posix-functions/getgrnam_r.texi: Likewise.
50578         * doc/posix-functions/getlogin_r.texi: Likewise.
50579         * doc/posix-functions/getpwnam_r.texi: Likewise.
50580         * doc/posix-functions/getpwuid_r.texi: Likewise.
50581         * doc/posix-functions/readdir_r.texi: Likewise.
50582         * doc/posix-functions/sigwait.texi: Likewise.
50583         * doc/posix-functions/ttyname_r.texi: Likewise.
50584         Reported by Simon Josefsson.
50586 2010-04-25  Bruno Haible  <bruno@clisp.org>
50588         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
50589         * gnulib-tool (func_usage): Document that --with-*-tests options apply
50590         also to --create-testdir.
50591         (func_acceptable): Don't consider the status of *-tests modules here.
50592         (func_modules_transitive_closure): Consider it here, before including a
50593         test module.
50594         (func_import, func_create_testdir): Set inc_all_direct_tests,
50595         inc_all_indirect_tests.
50596         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
50597         --create-testdir and --create-megatestdir.
50599 2010-04-25  Bruno Haible  <bruno@clisp.org>
50601         gnulib-tool: Add --without-*-tests options.
50602         * gnulib-tool (func_usage): Document the --without-*-tests options.
50603         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
50604         excl_unportable_tests): New variables.
50605         Fail if they are specified with --import or --update.
50606         (func_acceptable): Respect the excl_*_tests variables.
50607         (func_import): Set the excl_*_tests variables to empty.
50609 2010-04-25  Simon Josefsson  <simon@josefsson.org>
50610             Bruno Haible  <bruno@clisp.org>
50612         Work around a MacOS X 10.4 bug with openpty.
50613         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
50614         * tests/test-openpty.c (main): Close the master side explicitly.
50616 2010-04-25  Bruno Haible  <bruno@clisp.org>
50618         strnlen: Fix a C++ test error on MacOS X and Solaris.
50619         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
50620         the function is not declared.
50621         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
50622         Simon Josefsson.
50624 2010-04-24  Bruno Haible  <bruno@clisp.org>
50626         Avoid a gcc warning.
50627         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
50628         of correct type for %08lx directive.
50629         Reported by Eric Blake.
50631 2010-04-24  Bruno Haible  <bruno@clisp.org>
50633         vasnprintf: Correct errno value in case of out-of-memory.
50634         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
50635         or sprintf. Use the errno value from SNPRINTF or sprintf.
50636         Reported by Ian Beckwith <ianb@erislabs.net>.
50638 2010-04-24  Bruno Haible  <bruno@clisp.org>
50640         ansi-c++-opt: Find correct compiler when cross-compiling.
50641         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
50642         AC_CHECK_PROGS.
50643         Reported by Simon Josefsson.
50645 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
50647         vc-list-files: Add support for subversion
50648         * build-aux/vc-list-files: Use "svn list" to generate the list of
50649         files controlled by subversion.
50651 2010-04-23  Jim Meyering  <meyering@redhat.com>
50653         vc-list-files tests: convert to use init.sh
50654         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
50655         path_prepend_.
50656         Use Exit, not exit.
50657         Use skip_ rather than open coding it.
50658         Remove trap set-up and compare definitions.
50659         * tests/test-vc-list-files-git.sh: Likewise.
50660         * modules/vc-list-files-tests (Files): Add tests/init.sh.
50662 2010-04-22  Simon Josefsson  <simon@josefsson.org>
50664         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
50665         backup files.
50667 2010-04-21  Simon Josefsson  <simon@josefsson.org>
50669         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
50671 2010-04-20  Eric Blake  <eblake@redhat.com>
50673         tests: be robust to ignored SIGPIPE
50674         * tests/test-select-in.sh: Consume all output.
50675         * tests/test-lseek.sh: Check correct exit status, while avoiding
50676         EPIPE.
50678 2010-04-20  Simon Josefsson  <simon@josefsson.org>
50679             Bruno Haible  <bruno@clisp.org>
50681         visibility: Don't use -fvisibility if it leads to a warning.
50682         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
50683         yes, don't pretend that visibility works if it leads to a warning.
50684         Reported by Mike Gran <spk121@yahoo.com>.
50686 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
50688         * build-aux/bootstrap: Use "git -h" for testing for supported options
50689         instead of "git --help".  The short-form option only shows a summary,
50690         and doesn't layout the full man page.  Grep for the full option name
50691         in the summary, too.
50693 2010-04-19  Bruno Haible  <bruno@clisp.org>
50695         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
50696         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
50697         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
50698         mention of RELOCATABLE_STRIP.
50699         Reported by Sylvain Beucler <beuc@beuc.net>.
50701 2010-04-19  Bruno Haible  <bruno@clisp.org>
50703         * lib/diffseq.h: Fix typo in comment.
50704         Reported by Eric Blake.
50706 2010-04-19  Bruno Haible  <bruno@clisp.org>
50708         ioctl: Move autoconf macro to a .m4 file.
50709         * m4/ioctl.m4: New file, extracted from modules/ioctl.
50710         * modules/ioctl (Files): Add it.
50711         (configure.ac): Simply invoke gl_FUNC_IOCTL.
50712         Reported by Ian Beckwith <ianb@erislabs.net>.
50714 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
50715             Bruno Haible  <bruno@clisp.org>
50717         diffseq: Accommodate use-case with abstract arrays.
50718         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
50719         is not defined.
50720         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
50721         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
50723 2010-04-18  Bruno Haible  <bruno@clisp.org>
50725         * doc/posix-headers/stdbool.texi: More precise wording.
50727 2010-04-17  Jim Meyering  <meyering@redhat.com>
50729         maint.mk: use gnu-style indentation in an embedded perl script
50730         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
50731         Rename variable: s/two/last_two_bytes/
50733 2010-04-16  Eric Blake  <eblake@redhat.com>
50735         test-stdbool: skip test that fails with Solaris CC
50736         * tests/test-stdbool.c (f): Skip test that causes compilation
50737         error under buggy C++ compiler.
50738         * lib/stdbool.in.h: Document the limitation.
50739         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
50741         setenv: allow compilation with C++
50742         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
50743         register keyword.
50745         stdint: allow test to pass with C++
50746         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
50748         getopt: allow compilation with C++
50749         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
50750         struct.
50751         * lib/getopt.c (_getopt_internal_r): Use correct type.
50752         Reported by Dagobert Michelson, via Joel E. Denny.
50754 2010-04-16  Bruno Haible  <bruno@clisp.org>
50756         Override netdb.h always.
50757         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
50758         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
50759         Reported by Ludovic Courtès <ludo@gnu.org>.
50761 2010-04-15  Bruno Haible  <bruno@clisp.org>
50763         openpty: Fix mistake from 2010-03-21.
50764         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
50765         Reported by Simon Josefsson.
50767 2010-04-15  Eric Blake  <eblake@redhat.com>
50769         test-forkpty: fix expected signature
50770         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
50771         Reported by Simon Josefsson.
50773 2010-04-15  Jim Meyering  <meyering@redhat.com>
50775         maint.mk: texinfo_suffix_re_: correct the default regexp
50776         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
50778         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
50779         make it configurable via texinfo_suffix_re_.
50781 2010-04-14  Eric Blake  <eblake@redhat.com>
50783         strtok_r: relax license to LGPLv2+
50784         * modules/strtok_r (License): Relax license.
50785         Reported by Matthias Bolte.
50787 2010-04-14  Simon Josefsson  <simon@josefsson.org>
50789         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
50790         version 1.4.4 by default instead of requiring the libgcrypt
50791         version used during build.  This makes it possible to use the
50792         application with older but still binary compatible libgcrypt
50793         versions.
50795 2010-04-13  Eric Blake  <eblake@redhat.com>
50797         getopt-gnu: match recent glibc fixes and posix ruling
50798         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
50799         '+' handling, when requesting extensions.
50800         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
50801         'W;' handling.
50802         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
50803         * doc/posix-functions/getopt.texi (getopt): Document this.
50804         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
50805         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
50806         Likewise.
50808         getopt: merge bug fixes from glibc
50809         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
50810         diagnostics.  Honor '+:' correctly.  Reject ';'.
50812         getopt-posix: detect MacOS bug
50813         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
50814         optind when missing a required argument.
50815         * doc/posix-functions/getopt.texi (getopt): Document the bug.
50816         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
50817         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
50818         Likewise.
50820         getopt-posix: avoid spurious failure on Solaris
50821         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
50822         an indicator that setting optind=1 is sufficient for reset.
50824         getopt-posix: avoid spurious failure on FreeBSD
50825         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
50826         in POSIX mode, since the m4 test uses it.
50828         gnulib-tool: silence warning on BSD sh
50829         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
50831 2010-04-13  Jim Meyering  <meyering@redhat.com>
50833         doc: users.txt: GNU patch now uses gnulib
50834         * users.txt: Add patch.
50836 2010-04-12  Jim Meyering  <meyering@redhat.com>
50838         maint.mk: generate more concise timing data for syntax-check rules
50839         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
50840         " done" from each line that reports a syntax-check test duration.
50842 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
50844         git-version-gen: use "git update-index..." rather than "git status"
50845         * build-aux/git-version-gen: Use git update-index --refresh, not
50846         "git status".  With some versions of git, "git status" would fail
50847         to update the index and result in an unwarranted "-dirty" suffix.
50849 2010-04-11  Jim Meyering  <meyering@redhat.com>
50851         openat: correct formatting (no semantic change)
50852         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
50853         Suggested by Bruno Haible.
50855 2010-04-11  Bruno Haible  <bruno@clisp.org>
50857         Stricter declaration checking in testdirs.
50858         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50859         If for_tests is true, augment AM_CPPFLAGS to define
50860         GNULIB_STRICT_CHECKING.
50861         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
50862         GNULIB_STRICT_CHECKING is defined, verify that the function is
50863         declared.
50865 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
50866             Bruno Haible  <bruno@clisp.org>
50868         libunistring: Improve configure output.
50869         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
50870         Don't say "consider installing GNU libunistring" when checking again
50871         with libiconv.
50873 2010-04-11  Bruno Haible  <bruno@clisp.org>
50875         libunistring: Correct value of $LTLIBUNISTRING.
50876         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
50877         correct the value of $LTLIBUNISTRING.
50879 2010-04-11  Bruno Haible  <bruno@clisp.org>
50881         havelib: Add static libraries to LIBS in the right order.
50882         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
50883         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
50885 2010-04-11  Bruno Haible  <bruno@clisp.org>
50887         libunistring: Detect libunistring also when it depends on libiconv.
50888         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
50889         the second AC_LIB_HAVE_LINKFLAGS invocation.
50891 2010-04-11  James Youngman  <jay@gnu.org>
50893         close-stream: declare local scalars to be "const"
50894         * lib/close-stream.c (close_stream): Make boolean variables const
50895         to document the fact that we set but do not change them.
50897 2010-04-11  Bruno Haible  <bruno@clisp.org>
50899         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
50901 2010-04-11  Jim Meyering  <meyering@redhat.com>
50903         maint.mk: don't include dist-check.mk
50904         * top/maint.mk: Remove bogus include directive.
50906         maint.mk: improve empty-line-at-EOF check
50907         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
50908         solution, rather than tail+Perl-based one.  The latter would read
50909         a few kilobytes from the end of each file, and did not handle empty
50910         files properly.
50912         maint.mk: print the elapsed time for each syntax-check rule
50913         * top/maint.mk (sc_m_rules_): Save start time in a file.
50914         (sc_z_rules_): New rules: remove temp file and print elapsed time.
50915         (local-check): Interpose the .z rules
50917 2010-04-11  Jim Meyering  <meyering@redhat.com>
50919         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
50920         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
50921         empty file with one that ends in an empty line.
50923 2010-04-10  Bruno Haible  <bruno@clisp.org>
50925         mkdir: Make it work on mingw64.
50926         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
50927         * lib/mkdir.c: Update comment.
50928         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
50930 2010-04-10  Bruno Haible  <bruno@clisp.org>
50932         Don't override improved macro from newer autoconf.
50933         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
50934         autoconf >= 2.62.
50935         Reported by Joel E. Denny <jdenny@clemson.edu>.
50937 2010-04-10  Jim Meyering  <meyering@redhat.com>
50939         maint.mk: new syntax-check rule: prohibit empty lines at end of file
50940         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
50942         maint.mk: correct a diagnostic
50943         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
50944         in diagnostic; now use $prohibit.
50946 2010-04-10  Bruno Haible  <address@hidden>
50948         fchownat: Fix a C++ test error on Solaris 8.
50949         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
50950         the function does not exist.
50952 2010-04-10  Bruno Haible  <bruno@clisp.org>
50954         vasnprintf: Add more tests.
50955         * tests/test-vasnprintf-posix.c: Include <errno.h>.
50956         (test_function): Test converting an invalid wide string.
50958         vasnprintf: Correct handling of unconvertible wide string arguments.
50959         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
50960         VASNPRINTF.
50961         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
50962         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
50963         smaller than the expected maximum need for the directive. Set errno to
50964         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
50965         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
50966         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
50967         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
50968         * modules/vasnprintf (Files): Add m4/printf.m4.
50969         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
50971 2010-04-10  Bruno Haible  <bruno@clisp.org>
50973         vasnprintf: Fix crash in %ls directive.
50974         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
50975         string is passed as argument to %ls, with no precision and no width.
50976         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
50978 2010-04-10  Bruno Haible  <bruno@clisp.org>
50980         vasnprintf: Fix multiple test failures on mingw.
50981         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
50982         _snprintf, or snwprintf, not _snwprintf.
50984 2010-04-10  Bruno Haible  <bruno@clisp.org>
50986         write: Fix a C++ test error on mingw.
50987         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
50989 2010-04-10  Bruno Haible  <bruno@clisp.org>
50991         vasnprintf test: Reduce code duplication.
50992         * tests/test-vasnprintf.c (test_function): New function, extracted from
50993         test_vasnprintf.
50994         (test_vasnprintf, test_asnprintf): Invoke it.
50996 2010-04-10  Bruno Haible  <bruno@clisp.org>
50998         strnlen: Fix warning in C++ mode on MacOS X.
50999         * lib/string.in.h (strnlen): Use the modern idiom.
51000         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
51001         defining strnlen as a macro already in <config.h>.
51002         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51003         REPLACE_STRNLEN.
51004         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
51005         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51007 2010-04-08  James Youngman  <jay@gnu.org>
51009         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
51010         the example.
51012 2010-04-09  Jim Meyering  <meyering@redhat.com>
51014         maint.mk: print better diagnostic when there is no $(_hv_file)
51015         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
51016         announce that when $(_hv_file) (aka help-version) does not exist.
51018         init.sh: run tr in the "C" locale to avoid multibyte interpretation
51019         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
51020         not try to interpret its random input bytes.  Jarno Rajahalme reported
51021         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
51022         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
51023         (mktempd_): Likewise, just in case.
51025         ftruncate: add two years to projected module removal date: 2012
51026         * m4/ftruncate.m4: Adjust comments.
51028         ftruncate: mark module as obsolete; even MinGW provides it, now
51029         * modules/ftruncate (Status): Obsolete.
51030         (Notice): Say that.
51031         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
51032         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
51034 2010-04-08  Bruno Haible  <bruno@clisp.org>
51036         Fix side effects from tests-related modules.
51037         * modules/dprintf-posix (Comment): New section.
51038         * modules/fprintf-posix (Comment): Likewise.
51039         * modules/obstack-printf-posix (Comment): Likewise.
51040         * modules/printf-posix (Comment): Likewise.
51041         * modules/snprintf-posix (Comment): Likewise.
51042         * modules/sprintf-posix (Comment): Likewise.
51043         * modules/vasnprintf-posix (Comment): Likewise.
51044         * modules/vasprintf-posix (Comment): Likewise.
51045         * modules/vdprintf-posix (Comment): Likewise.
51046         * modules/vfprintf-posix (Comment): Likewise.
51047         * modules/vprintf-posix (Comment): Likewise.
51048         * modules/vsnprintf-posix (Comment): Likewise.
51049         * modules/vsprintf-posix (Comment): Likewise.
51050         * modules/xprintf-posix (Comment): Likewise.
51051         * modules/xvasprintf-posix (Comment): Likewise.
51052         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
51053         * modules/floorf-tests (Depends-on): Likewise.
51054         * modules/round-tests (Depends-on): Likewise.
51055         * modules/roundf-tests (Depends-on): Likewise.
51056         * modules/trunc-tests (Depends-on): Likewise.
51057         * modules/truncf-tests (Depends-on): Likewise.
51058         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
51059         'fprintf-posix' module is not present.
51060         * tests/test-floorf2.c (check): Likewise.
51061         * tests/test-trunc2.c (check): Likewise.
51062         * tests/test-truncf2.c (check): Likewise.
51063         * tests/test-round2.c (equal): Likewise.
51064         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51066 2010-04-07  Karl Berry  <karl@gnu.org>
51068         * config/srclist.txt,
51069         * config/srclistvars.sh,
51070         * config/srclist-update: doc fixes.
51072 2010-04-07  Jim Meyering  <meyering@redhat.com>
51074         maint.mk: add a PATH crosschecking syntax-check rule
51075         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
51076         Useful if you use a test like the one in help-version (coreutils,
51077         diffutils, grep, gzip) that ensures $(VERSION) matches what is
51078         printed by prog --version.
51080 2010-04-06  Bruno Haible  <bruno@clisp.org>
51082         Fix link error on mingw.
51083         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
51084         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
51086 2010-04-06  Bruno Haible  <bruno@clisp.org>
51088         Assume rmdir exists.
51089         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
51091 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
51093         doc: update users.txt
51094         * users.txt: Add gcal.
51096 2010-04-06  Jim Meyering  <meyering@redhat.com>
51098         init.sh: simply unset TMPDIR rather than risking env -i
51099         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
51100         although it probably works fine on all Unix-based systems, some
51101         systems (Cygwin?) cannot tolerate a totally cleared environment.
51102         Suggestion from Eric Blake.
51104 2010-04-06  Jim Meyering  <meyering@redhat.com>
51106         init.sh: portability fix: use env's POSIX-specified -i option not -u
51107         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
51108         than unportable env -u.  Solaris 5.11's env lacks support for -u.
51110 2010-04-05  Bruno Haible  <bruno@clisp.org>
51112         btowc: Work around Cygwin 1.7.2 bug.
51113         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
51114         does not map NUL to 0.
51115         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
51117 2010-04-05  Bruno Haible  <bruno@clisp.org>
51119         Make the multithread modules work on Cygwin 1.7.2.
51120         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
51121         imported symbols can be declared weak, so that it returns "no" on
51122         Cygwin 1.7.2.
51124 2010-04-05  Bruno Haible  <bruno@clisp.org>
51126         Use the module 'strncat'.
51127         * modules/unistr/u8-strncat (Depends-on): Add strncat.
51129         Tests for module 'strncat'.
51130         * modules/strncat-tests: New file.
51131         * tests/test-strncat.c: New file.
51133         New module 'strncat'.
51134         * lib/string.in.h (strncat): New declaration.
51135         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
51136         * m4/strncat.m4: New file, based on m4/memchr.m4.
51137         * modules/strncat: New file.
51138         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
51139         is declared.
51140         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
51141         REPLACE_STRNCAT.
51142         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
51143         REPLACE_STRNCAT.
51144         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
51145         module.
51146         * tests/test-string-c++.cc: Check signature of strncat.
51148 2010-04-05  Jim Meyering  <meyering@redhat.com>
51150         xstrtoumax-tests: convert to use init.sh
51151         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
51152         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
51153         Use Exit, not exit.
51154         Remove uses of $EXEEXT and "./" to run a program in the current dir.
51156         xstrtoimax-tests: convert to use init.sh
51157         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
51158         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
51159         Use Exit, not exit.
51160         Remove uses of $EXEEXT and "./" to run a program in the current dir.
51162 2010-04-05  Bruno Haible  <bruno@clisp.org>
51164         sys_socket: Avoid #define replacements in C++ mode.
51165         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
51166         warning to the function if possible, rather than #defining the symbol
51167         to a dysfunctional alias.
51169 2010-04-05  Bruno Haible  <bruno@clisp.org>
51171         fseeko: Fix C++ test error on mingw.
51172         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
51173         gl_FUNC_FSEEKO.
51174         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
51175         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
51176         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
51177         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
51179 2010-04-05  Bruno Haible  <bruno@clisp.org>
51181         duplocale: Improve test output.
51182         * tests/test-duplocale.c (main): Print reason for skipped test.
51184 2010-04-05  Bruno Haible  <bruno@clisp.org>
51186         Assume rmdir exists.
51187         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
51188         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
51190 2010-04-05  Bruno Haible  <bruno@clisp.org>
51192         Fix link error on Solaris 8 with cc.
51193         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
51195 2010-04-05  Bruno Haible  <bruno@clisp.org>
51197         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
51198         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
51200 2010-04-05  Bruno Haible  <bruno@clisp.org>
51202         vasprintf: Update documentation.
51203         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
51205 2010-04-05  Bruno Haible  <bruno@clisp.org>
51207         ptsname: Improve test.
51208         * tests/test-ptsname.c (main): Also try the various master names of BSD
51209         systems.
51211 2010-04-05  Bruno Haible  <bruno@clisp.org>
51213         memchr: Avoid a possible C++ test error.
51214         * lib/string.in.h (memchr): Provide declaration if function is missing.
51215         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
51216         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
51217         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
51218         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
51220 2010-04-05  Bruno Haible  <bruno@clisp.org>
51222         strtok_r: Improve idiom.
51223         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
51224         AC_LIBOBJ is used.
51226 2010-04-05  Bruno Haible  <bruno@clisp.org>
51228         strdup: Improve idiom.
51229         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
51230         AC_LIBOBJ is used.
51231         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
51232         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
51233         when AC_LIBOBJ is used.
51235 2010-04-05  Bruno Haible  <bruno@clisp.org>
51237         mbsinit, mbrtowc, wcrtomb: Improve idioms.
51238         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
51239         don't set REPLACE_MBSINIT to 1.
51240         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
51241         don't set REPLACE_MBRTOWC to 1.
51242         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
51243         exist, don't set REPLACE_MBSRTOWCS to 1.
51244         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
51245         exist, don't set REPLACE_MBSNRTOWCS to 1.
51246         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
51247         don't set REPLACE_WCRTOMB to 1.
51248         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
51249         exist, don't set REPLACE_WCSRTOMBS to 1.
51250         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
51251         exist, don't set REPLACE_WCSNRTOMBS to 1.
51253 2010-04-05  Bruno Haible  <bruno@clisp.org>
51255         ldexpl: Improve idiom.
51256         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
51257         make sure to set HAVE_DECL_LDEXPL to 0.
51259 2010-04-05  Jim Meyering  <meyering@redhat.com>
51261         xstrtol-tests: convert to use init.sh
51262         * modules/xstrtol-tests (Files): Add tests/init.sh.
51263         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
51264         Use Exit, not exit.
51265         Remove uses of $EXEEXT and "./" to run a program in the current dir.
51267         atexit-tests: convert to use init.sh
51268         * modules/atexit-tests (Files): Add tests/init.sh.
51269         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
51270         Use Exit, not exit.
51271         Remove uses of $EXEEXT and "./" to run a program in the current dir.
51273         init.sh: fix typo
51274         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
51276         init.sh: make it easier for a test script to write to the tty, ...
51277         when using automake's parallel-tests mode.
51278         * tests/init.sh (stderr_fileno_): Define overridable variable.
51279         (warn_): New function, to use it.
51280         (fail_, skip_, framework_failure_): Use warn_.
51282 2010-04-04  Bruno Haible  <bruno@clisp.org>
51284         btowc: Avoid warning.
51285         * lib/btowc.c: Include <stdlib.h>.
51286         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
51288 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
51289             Bruno Haible  <bruno@clisp.org>
51291         wchar: Port to NetBSD 1.5.
51292         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
51293         * lib/wctype.in.h (WEOF): Likewise.
51295 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
51296             Bruno Haible  <bruno@clisp.org>
51298         Port extended stdio to NetBSD 1.5.
51299         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
51300         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
51301         older.
51303 2010-04-04  Bruno Haible  <bruno@clisp.org>
51305         string: Remove unused substitution.
51306         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
51307         HAVE_DECL_STRERROR.
51308         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
51310 2010-04-04  Bruno Haible  <bruno@clisp.org>
51312         strtod: Avoid a possible C++ test error.
51313         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
51314         set REPLACE_STRTOD.
51316 2010-04-04  Bruno Haible  <bruno@clisp.org>
51318         strerror: Update documentation.
51319         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
51321 2010-04-04  Bruno Haible  <bruno@clisp.org>
51323         stdio: Fix some C++ test errors on Solaris 8 with GCC.
51324         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
51325         _GL_CXXALIAS_SYS_CAST.
51327 2010-04-04  Bruno Haible  <bruno@clisp.org>
51329         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
51330         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
51331         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
51332         REPLACE_FREXPL to 1.
51333         * doc/posix-functions/frexpl.texi: Update documentation.
51335 2010-04-04  Bruno Haible  <bruno@clisp.org>
51337         math: Fix some C++ test errors on Solaris 8 and Cygwin.
51338         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
51340 2010-04-04  Bruno Haible  <bruno@clisp.org>
51342         Implement nanosleep for native Windows.
51343         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
51345 2010-04-04  Bruno Haible  <bruno@clisp.org>
51347         math: Fix some C++ test errors on Solaris 8.
51348         * lib/math.in.h (truncf, trunc): Use simpler idiom.
51350 2010-04-04  Bruno Haible  <bruno@clisp.org>
51352         math: Fix some C++ test errors on Cygwin.
51353         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
51354         truncl): Provide declaration if the system does not have it.
51355         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
51356         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
51357         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
51358         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
51359         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
51360         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
51361         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
51362         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
51363         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
51364         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
51365         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
51366         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
51367         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
51368         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
51369         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
51370         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
51371         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
51372         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
51373         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
51374         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
51375         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
51376         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
51378 2010-04-04  Bruno Haible  <bruno@clisp.org>
51380         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
51381         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
51382         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
51383         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
51384         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
51385         * m4/isinf.m4 (gl_ISINF): Likewise.
51386         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
51388 2010-04-04  Bruno Haible  <bruno@clisp.org>
51390         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
51391         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
51393 2010-04-04  Bruno Haible  <bruno@clisp.org>
51395         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
51396         * modules/tmpfile (configure.ac): Update.
51398         tmpfile: Fix C++ test error on mingw.
51399         * lib/stdio.in.h (tmpfile): New declaration.
51400         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
51401         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
51402         * modules/tmpfile (Depends-on): Add stdio.
51403         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51404         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
51405         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
51406         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
51407         REPLACE_TMPFILE.
51408         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
51410 2010-04-04  Bruno Haible  <bruno@clisp.org>
51412         ioctl: Fix C++ test error on mingw.
51413         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
51414         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
51415         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
51417 2010-04-03  Bruno Haible  <bruno@clisp.org>
51419         wcwidth: Fix C++ test error on mingw.
51420         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
51421         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
51422         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
51424 2010-04-03  Bruno Haible  <bruno@clisp.org>
51426         nanosleep: Fix C++ test error on mingw.
51427         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
51428         * lib/time.in.h (nanosleep): Use modern idiom.
51429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
51430         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
51431         REPLACE_NANOSLEEP to 1.
51432         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
51433         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
51435 2010-04-03  Bruno Haible  <bruno@clisp.org>
51437         strptime: Fix C++ test error on mingw.
51438         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
51439         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
51440         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
51441         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
51442         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
51443         not REPLACE_STRPTIME.
51444         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
51445         REPLACE_STRPTIME.
51447 2010-04-03  Bruno Haible  <bruno@clisp.org>
51449         timegm: Fix C++ test error on mingw.
51450         * lib/time.in.h (timegm): Use modern idiom.
51451         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
51452         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
51453         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
51454         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
51456 2010-04-03  Bruno Haible  <bruno@clisp.org>
51458         timegm: Assume declaration if function exists.
51459         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
51460         if it exists. Don't clobber ac_cv_func_timegm.
51462 2010-04-03  Bruno Haible  <bruno@clisp.org>
51464         time_r: Fix C++ test error on mingw.
51465         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
51466         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
51467         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
51468         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
51469         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
51471 2010-04-03  Bruno Haible  <bruno@clisp.org>
51473         time_r: Minor updates.
51474         * modules/time_r (Description): Mention the provided functions.
51475         * lib/time_r.c: Don't include <string.h>.
51476         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
51477         * doc/posix-functions/localtime_r.texi: Likewise.
51479 2010-04-03  Bruno Haible  <bruno@clisp.org>
51481         time: Fix regression introduced on 2010-03-08.
51482         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
51483         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
51485 2010-04-03  Jim Meyering  <meyering@redhat.com>
51487         maint.mk: don't silently disable project-specific syntax-check rules
51488         * top/maint.mk (_prohibit_regexp): Define, to help people realize
51489         that they need to convert their project-specific syntax-check rules
51490         to use the new _sc_search_regexp.
51492 2010-04-03  Bruno Haible  <bruno@clisp.org>
51494         fchdir: Fix regression introduced on 2010-03-08.
51495         * lib/unistd.in.h (fchdir): Fix declaration.
51496         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
51497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
51498         REPLACE_FCHDIR.
51499         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
51500         REPLACE_FCHDIR.
51502 2010-04-03  Bruno Haible  <bruno@clisp.org>
51504         getpagesize: Fix C++ test error on mingw.
51505         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
51506         system does not declare the function.
51507         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
51508         declared.
51509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51510         HAVE_DECL_GETPAGESIZE.
51511         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
51513 2010-04-03  Bruno Haible  <bruno@clisp.org>
51515         stdio: Make C++ tests work on mingw.
51516         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
51517         does not declare the function.
51519 2010-04-03  Bruno Haible  <bruno@clisp.org>
51521         ftello: Fix C++ test error on mingw.
51522         * lib/stdio.in.h (ftello): Use modern idiom.
51523         * lib/ftello.c (ftello): Renamed from rpl_ftello.
51524         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
51525         is missing and that it needs to be replaced.
51526         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
51527         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
51528         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
51530 2010-04-03  Bruno Haible  <bruno@clisp.org>
51532         fseeko: Fix C++ test error on mingw.
51533         * lib/stdio.in.h (fseeko): Use modern idiom.
51534         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
51535         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
51536         is missing and that it needs to be replaced.
51537         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
51538         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
51539         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
51541 2010-04-03  Bruno Haible  <bruno@clisp.org>
51543         mkstemp: Fix C++ test error on mingw.
51544         * lib/stdlib.in.h (mkstemp): Use modern idiom.
51545         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
51546         function is missing and that it needs to be replaced.
51547         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
51548         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
51550 2010-04-03  Bruno Haible  <bruno@clisp.org>
51552         stpncpy: Fix C++ test error on mingw.
51553         * lib/string.in.h (stpncpy): Use modern idiom.
51554         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
51555         function is missing and that it needs to be replaced.
51556         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51557         REPLACE_STPNCPY.
51558         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
51560 2010-04-03  Bruno Haible  <bruno@clisp.org>
51562         sys_stat: Fix C++ test error on mingw.
51563         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
51564         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
51566 2010-04-03  Bruno Haible  <bruno@clisp.org>
51568         pty: Update doc.
51569         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
51571 2010-04-03  Bruno Haible  <bruno@clisp.org>
51573         unistd: Fix C++ test error on mingw.
51574         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
51576 2010-04-03  Bruno Haible  <bruno@clisp.org>
51578         Update doc regarding mingw.
51579         * doc/glibc-functions/openpty.texi: Update regarding mingw.
51580         * doc/glibc-functions/login_tty.texi: Likewise.
51581         * doc/glibc-functions/forkpty.texi: Likewise.
51583 2010-04-03  Bruno Haible  <bruno@clisp.org>
51585         stdlib: Avoid compilation failure of c-strtold on mingw.
51586         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
51588 2010-04-03  Bruno Haible  <bruno@clisp.org>
51590         locale: Make C++ tests work on Cygwin and mingw.
51591         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
51592         cannot provide the function.
51593         Reported by Simon Josefsson.
51595 2010-04-03  Bruno Haible  <bruno@clisp.org>
51597         localename: Port to MacOS X 10.6.
51598         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
51599         memory layout of the locales in MacOS X 10.6 as well.
51600         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
51602 2010-04-02  Bruno Haible  <bruno@clisp.org>
51604         gnulib-tool: Ensure that long-running tests are executed last.
51605         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
51606         running tests after the one for the other tests.
51608 2010-04-02  Bruno Haible  <bruno@clisp.org>
51610         gnulib-tool: Ensure the tests in the main directory are executed first.
51611         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
51612         start with the current directory.
51614 2010-04-02  Bruno Haible  <bruno@clisp.org>
51616         Tests for module 'havelib', moved here from GNU gettext.
51617         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
51618         modifications.
51619         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
51620         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
51621         with modifications.
51622         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
51623         modifications.
51624         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
51625         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
51626         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
51627         with modifications.
51628         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
51629         with modifications.
51630         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
51631         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
51632         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
51633         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
51634         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
51635         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
51636         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
51637         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
51638         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
51639         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
51640         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
51641         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
51642         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
51643         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
51644         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
51645         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
51646         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
51647         with modifications.
51648         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
51649         with modifications.
51650         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
51651         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
51652         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
51653         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
51654         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
51655         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
51656         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
51657         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
51658         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
51659         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
51660         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
51661         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
51662         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
51663         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
51664         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
51665         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
51666         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
51667         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
51668         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
51669         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
51670         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
51671         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
51672         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
51673         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
51674         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
51675         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
51676         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
51677         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
51678         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
51679         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
51680         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
51681         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
51682         * tests/havelib/rpathx/rpathx.c: New file, from
51683         gettext/autoconf-lib-link.
51684         * tests/havelib/rpathx/Makefile.am: New file, from
51685         gettext/autoconf-lib-link.
51686         * tests/havelib/rpathx/configure.ac: New file, from
51687         gettext/autoconf-lib-link with modifications.
51688         * tests/havelib/rpathy/rpathy.c: New file, from
51689         gettext/autoconf-lib-link.
51690         * tests/havelib/rpathy/Makefile.am: New file, from
51691         gettext/autoconf-lib-link.
51692         * tests/havelib/rpathy/configure.ac: New file, from
51693         gettext/autoconf-lib-link with modifications.
51694         * tests/havelib/rpathz/rpathz.c: New file, from
51695         gettext/autoconf-lib-link.
51696         * tests/havelib/rpathz/Makefile.am: New file, from
51697         gettext/autoconf-lib-link.
51698         * tests/havelib/rpathz/configure.ac: New file, from
51699         gettext/autoconf-lib-link with modifications.
51700         * tests/havelib/rpathlx/usex.c: New file, from
51701         gettext/autoconf-lib-link.
51702         * tests/havelib/rpathlx/Makefile.am: New file, from
51703         gettext/autoconf-lib-link.
51704         * tests/havelib/rpathlx/configure.ac: New file, from
51705         gettext/autoconf-lib-link with modifications.
51706         * tests/havelib/rpathly/usey.c: New file, from
51707         gettext/autoconf-lib-link.
51708         * tests/havelib/rpathly/Makefile.am: New file, from
51709         gettext/autoconf-lib-link.
51710         * tests/havelib/rpathly/configure.ac: New file, from
51711         gettext/autoconf-lib-link with modifications.
51712         * tests/havelib/rpathlz/usez.c: New file, from
51713         gettext/autoconf-lib-link.
51714         * tests/havelib/rpathlz/Makefile.am: New file, from
51715         gettext/autoconf-lib-link.
51716         * tests/havelib/rpathlz/configure.ac: New file, from
51717         gettext/autoconf-lib-link with modifications.
51718         * tests/havelib/rpathlyx/usey.c: New file, from
51719         gettext/autoconf-lib-link.
51720         * tests/havelib/rpathlyx/Makefile.am: New file, from
51721         gettext/autoconf-lib-link.
51722         * tests/havelib/rpathlyx/configure.ac: New file, from
51723         gettext/autoconf-lib-link with modifications.
51724         * tests/havelib/rpathlzyx/usez.c: New file, from
51725         gettext/autoconf-lib-link.
51726         * tests/havelib/rpathlzyx/Makefile.am: New file, from
51727         gettext/autoconf-lib-link.
51728         * tests/havelib/rpathlzyx/configure.ac: New file, from
51729         gettext/autoconf-lib-link with modifications.
51730         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
51731         with modifications.
51733 2010-04-02  Bruno Haible  <bruno@clisp.org>
51735         gnulib-tool: Create distributed built sources also for the tests.
51736         * gnulib-tool (func_create_testdir): Also generate distributed built
51737         sources in the tests directory.
51739 2010-04-02  Bruno Haible  <bruno@clisp.org>
51741         gnulib-tool: Obey user's environment variables.
51742         * gnulib-tool (func_create_testdir): When creating built sources,
51743         respect the environment variables for autoconf, automake, etc. given by
51744         the user.
51746 2010-04-02  Bruno Haible  <bruno@clisp.org>
51748         gnulib-tool: Provide the value of --m4-base to modules.
51749         * gnulib-tool (func_import, func_create_testdir): Emit a definition
51750         of gl_m4_base.
51752 2010-04-02  Eric Blake  <eblake@redhat.com>
51754         maint.mk: fix some fallout
51755         * NEWS: Document the incompatible change, and its effect on cfg.mk.
51756         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
51758 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
51760         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
51761         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
51762         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
51763         (sc_cast_of_x_alloc_return_value): Likewise.
51764         (sc_cast_of_alloca_return_value): Likewise.
51765         (sc_space_tab): Likewise.
51766         (sc_prohibit_atoi_atof): Likewise.
51767         (sc_prohibit_magic_number_exit): Likewise.
51768         (sc_error_exit_success): Likewise.
51769         (sc_file_system): Likewise.
51770         (sc_prohibit_have_config_h): Likewise.
51771         (sc_require_config_h): Likewise.
51772         (sc_prohibit_HAVE_MBRTOWC): Likewise.
51773         (sc_obsolete_symbols): Likewise.
51774         (sc_changelog): Likewise.
51775         (sc_program_name): Likewise.
51776         (sc_the_the): Likewise.
51777         (sc_trailing_blank): Likewise.
51778         (sc_two_space_separator_in_usage): Likewise.
51779         (sc_useless_cpp_parens): Likewise.
51780         (sc_GPL_version): Likewise.
51781         (sc_GFDL_version): Likewise.
51782         (sc_texinfo_acronym): Likewise.
51783         (sc_prohibit_cvs_keyword): Likewise.
51784         (sc_prohibit_stat_st_blocks): Likewise.
51785         (sc_prohibit_S_IS_definition): Likewise.
51786         (sc_redundant_const): Likewise.
51787         (sc_makefile_TAB_only_indentation): Likewise.
51788         (sc_m4_quote_check): Likewise.
51789         (sc_makefile_path_separator_check): Likewise.
51790         (sc_copyright_check): Likewise.
51791         (sc_Wundef_boolean): Likewise.
51792         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
51794         maint.mk: match 0 or more whitespace-before-function-call '('
51795         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
51796         that have zero or two-and-more spaces between the function name
51797         and the open parenthesis.
51798         (sc_error_message_warn_fatal): Likewise.
51799         (sc_error_message_uppercase): Likewise.
51800         (sc_error_message_period): Likewise.
51802 2010-03-31  Eric Blake  <eblake@redhat.com>
51804         maint.mk: check for [ as well as test
51805         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
51806         Based on a libvirt report by Matthias Bolte.
51808         gnumakefile: don't squelch _version output
51809         * top/GNUmakefile (_version): Create one-shot dependency rather
51810         than using $(shell) when version must be regenerated.
51811         (_autoreconf): Run verbosely, by default.
51813         sys_time: avoid compiler warnings
51814         * lib/sys_time.in.h (includes): Ensure gcc pragma is
51815         unconditional, fixing regression from 2010-03-29.
51816         Reported by Simon Josefsson.
51818 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
51820         maint.mk: s/_header_without_use/_sc_header_without_use/
51821         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
51822         (sc_prohibit_assert_without_use): Use the new name.
51823         (sc_prohibit_close_stream_without_use): Likewise.
51824         (sc_prohibit_getopt_without_use): Likewise.
51825         (sc_prohibit_quotearg_without_use): Likewise.
51826         (sc_prohibit_quote_without_use): Likewise.
51827         (sc_prohibit_long_options_without_use): Likewise.
51828         (sc_prohibit_inttostr_without_use): Likewise.
51829         (sc_prohibit_ignore_value_without_use): Likewise.
51830         (sc_prohibit_error_without_use): Likewise.
51831         (sc_prohibit_xalloc_without_use): Likewise.
51832         (sc_prohibit_hash_without_use): Likewise.
51833         (sc_prohibit_hash_pjw_without_use): Likewise.
51834         (sc_prohibit_safe_read_without_use): Likewise.
51835         (sc_prohibit_argmatch_without_use): Likewise.
51836         (sc_prohibit_canonicalize_without_use): Likewise.
51837         (sc_prohibit_root_dev_ino_without_use): Likewise.
51838         (sc_prohibit_openat_without_use): Likewise.
51839         (sc_prohibit_c_ctype_without_use): Likewise.
51840         (sc_prohibit_signal_without_use): Likewise.
51841         (sc_prohibit_intprops_without_use): Likewise.
51843 2010-03-30  Eric Blake  <eblake@redhat.com>
51845         maint: improve module indicators
51846         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
51847         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
51848         columns, and avoid extra macro expansion.
51850         fdopendir: work around FreeBSD bug
51851         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
51852         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
51853         * modules/dirent (Makefile.am): Substitute it.
51854         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
51855         declaration.
51856         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
51857         fix.
51858         Reported by Christian Weisgerber <naddy@mips.inka.de>.
51860 2010-03-29  Bruno Haible  <bruno@clisp.org>
51862         Emit #pragma system_header after the inclusion guard, not before.
51863         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
51864         guard that spans the entire file, not before. This enables an
51865         optimization in GCC's preprocessor.
51866         * lib/ctype.in.h: Likewise.
51867         * lib/dirent.in.h: Likewise.
51868         * lib/errno.in.h: Likewise.
51869         * lib/float.in.h: Likewise.
51870         * lib/getopt.in.h: Likewise.
51871         * lib/iconv.in.h: Likewise.
51872         * lib/langinfo.in.h: Likewise.
51873         * lib/locale.in.h: Likewise.
51874         * lib/math.in.h: Likewise.
51875         * lib/netdb.in.h: Likewise.
51876         * lib/netinet_in.in.h: Likewise.
51877         * lib/pty.in.h: Likewise.
51878         * lib/sched.in.h: Likewise.
51879         * lib/se-selinux.in.h: Likewise.
51880         * lib/search.in.h: Likewise.
51881         * lib/spawn.in.h: Likewise.
51882         * lib/stdarg.in.h: Likewise.
51883         * lib/stdint.in.h: Likewise.
51884         * lib/string.in.h: Likewise.
51885         * lib/strings.in.h: Likewise.
51886         * lib/sys_file.in.h: Likewise.
51887         * lib/sys_ioctl.in.h: Likewise.
51888         * lib/sys_time.in.h: Likewise.
51889         * lib/sys_times.in.h: Likewise.
51890         * lib/sys_utsname.in.h: Likewise.
51891         * lib/sys_wait.in.h: Likewise.
51892         * lib/sysexits.in.h: Likewise.
51893         * lib/wctype.in.h: Likewise.
51895 2010-03-28  James Youngman  <jay@gnu.org>
51897         save-cwd: don't leak a file descriptor when the caller execs.
51898         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
51899         saved file descriptor.
51900         * modules/save-cwd (Depends-on): Depend on cloexec.
51902 2010-03-29  Bruno Haible  <bruno@clisp.org>
51904         Remove vestiges of fts-lgpl module.
51905         * lib/fts_.h: Assume GNULIB_FTS is 1.
51906         * lib/fts.c: Likewise.
51907         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
51909 2010-03-28  Bruno Haible  <bruno@clisp.org>
51911         Fix definition of tests witness macro.
51912         * gnulib-tool (func_import): Fix definition of witness macro.
51914 2010-03-28  Bruno Haible  <bruno@clisp.org>
51916         Fix ioctl's protoype on glibc systems.
51917         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
51918         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
51919         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
51920         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
51921         signature. If not, arrange to replace the ioctl function.
51922         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
51923         REPLACE_IOCTL.
51924         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
51925         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
51926         Reported by Ludovic Courtès <ludo@gnu.org>.
51928 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
51930         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
51931         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
51932         made it so grep -r --include=GLOB* ... did not work.
51934 2010-03-26  Jim Meyering  <meyering@redhat.com>
51935             Eric Blake  <eblake@redhat.com>
51937         maint.mk: prohibit use of test's -o and -a operators
51938         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
51940 2010-03-28  Bruno Haible  <bruno@clisp.org>
51942         Remove unused GNULIB_XYZ macro definitions.
51943         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
51944         invocation.
51946 2010-03-28  Bruno Haible  <bruno@clisp.org>
51948         Mark privileged tests modules.
51949         * modules/idpriv-drop-tests (Status): New section.
51950         * modules/idpriv-droptemp-tests (Status): New section.
51952 2010-03-28  Bruno Haible  <bruno@clisp.org>
51954         Split C++ tests into separate tests modules.
51955         * modules/dirent-c++-tests: New file, extracted from
51956         modules/dirent-tests.
51957         * modules/dirent-tests: Depend on it.
51958         * modules/fcntl-h-c++-tests: New file, extracted from
51959         modules/fcntl-h-tests.
51960         * modules/fcntl-h-tests: Depend on it.
51961         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
51962         * modules/glob-tests: Depend on it.
51963         * modules/iconv-h-c++-tests: New file, extracted from
51964         modules/iconv-h-tests.
51965         * modules/iconv-h-tests: Depend on it.
51966         * modules/langinfo-c++-tests: New file, extracted from
51967         modules/langinfo-tests.
51968         * modules/langinfo-tests: Depend on it.
51969         * modules/locale-c++-tests: New file, extracted from
51970         modules/locale-tests.
51971         * modules/locale-tests: Depend on it.
51972         * modules/math-c++-tests: New file, extracted from modules/math-tests.
51973         * modules/math-tests: Depend on it.
51974         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
51975         * modules/pty-tests: Depend on it.
51976         * modules/search-c++-tests: New file, extracted from
51977         modules/search-tests.
51978         * modules/search-tests: Depend on it.
51979         * modules/signal-c++-tests: New file, extracted from
51980         modules/signal-tests.
51981         * modules/signal-tests: Depend on it.
51982         * modules/spawn-c++-tests: New file, extracted from
51983         modules/spawn-tests.
51984         * modules/spawn-tests: Depend on it.
51985         * modules/stdio-c++-tests: New file, extracted from
51986         modules/stdio-tests.
51987         * modules/stdio-tests: Depend on it.
51988         * modules/stdlib-c++-tests: New file, extracted from
51989         modules/stdlib-tests.
51990         * modules/stdlib-tests: Depend on it.
51991         * modules/string-c++-tests: New file, extracted from
51992         modules/string-tests.
51993         * modules/string-tests: Depend on it.
51994         * modules/sys_ioctl-c++-tests: New file, extracted from
51995         modules/sys_ioctl-tests.
51996         * modules/sys_ioctl-tests: Depend on it.
51997         * modules/sys_select-c++-tests: New file, extracted from
51998         modules/sys_select-tests.
51999         * modules/sys_select-tests: Depend on it.
52000         * modules/sys_socket-c++-tests: New file, extracted from
52001         modules/sys_socket-tests.
52002         * modules/sys_socket-tests: Depend on it.
52003         * modules/sys_stat-c++-tests: New file, extracted from
52004         modules/sys_stat-tests.
52005         * modules/sys_stat-tests: Depend on it.
52006         * modules/sys_time-c++-tests: New file, extracted from
52007         modules/sys_time-tests.
52008         * modules/sys_time-tests: Depend on it.
52009         * modules/time-c++-tests: New file, extracted from modules/time-tests.
52010         * modules/time-tests: Depend on it.
52011         * modules/unistd-c++-tests: New file, extracted from
52012         modules/unistd-tests.
52013         * modules/unistd-tests: Depend on it.
52014         * modules/wchar-c++-tests: New file, extracted from
52015         modules/wchar-tests.
52016         * modules/wchar-tests: Depend on it.
52017         * modules/wctype-c++-tests: New file, extracted from
52018         modules/wctype-tests.
52019         * modules/wctype-tests: Depend on it.
52020         Reported by Simon Josefsson.
52022 2010-03-28  Bruno Haible  <bruno@clisp.org>
52024         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
52025         * gnulib-tool (func_exists_module): New function, extracted from
52026         func_verify_module.
52027         (func_verify_module): Use it.
52028         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
52029         'foo' only if 'foo' exists.
52030         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
52031         module.
52033 2010-03-28  Bruno Haible  <bruno@clisp.org>
52035         gnulib-tool: Add support for special categories of tests.
52036         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
52037         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
52038         (func_usage): Document them.
52039         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
52040         inc_unportable_tests, inc_all_tests): New variables.
52041         (func_acceptable): Consider these variables.
52042         (func_modules_transitive_closure): Make it work when the 'Status' field
52043         consists of multiple words.
52044         (func_import): Store and restore the values of inc_cxx_tests,
52045         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
52046         inc_all_tests in gnulib-comp.m4.
52047         (func_create_testdir): Set inc_all_tests to true.
52048         * doc/gnulib.texi (Extra tests modules): New section.
52049         Suggested by Jim Meyering.
52051 2010-03-28  Bruno Haible  <bruno@clisp.org>
52053         ansi-c++-opt: Allow turning off the C++ build by default.
52054         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
52055         gl_CXX_CHOICE_DEFAULT_NO is defined.
52056         Requested by Eric Blake.
52058 2010-03-28  Bruno Haible  <bruno@clisp.org>
52060         unistd: Avoid #define replacements in C++ mode.
52061         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
52062         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
52063         setsockopt, shutdown, select): In C++, attach a warning to the function
52064         if possible, rather than #defining the symbol to a dysfunctional alias.
52065         Reported by John W. Eaton <jwe@gnu.org>.
52067 2010-03-28  Bruno Haible  <bruno@clisp.org>
52069         Fix link errors on mingw.
52070         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
52071         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
52072         $(LIBSOCKET).
52073         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
52074         $(LIBSOCKET).
52076 2010-03-28  Bruno Haible  <bruno@clisp.org>
52077             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52079         lib-ignore: Determine different options for different compilers.
52080         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
52081         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
52082         Add comments.
52083         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
52084         * NEWS: Mention the change.
52086 2010-03-27  Bruno Haible  <bruno@clisp.org>
52088         Remove unused GNULIB_XYZ macro definitions.
52089         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
52090         * modules/fseek (configure.ac): Likewise.
52091         * modules/ioctl (configure.ac): Likewise.
52092         * modules/open (configure.ac): Likewise.
52093         * modules/stdlib-safer (configure.ac): Likewise.
52095 2010-03-27  Bruno Haible  <bruno@clisp.org>
52097         Add a remark about certain modules.
52098         * modules/malloc (Comment): New section.
52099         * modules/realloc (Comment): Likewise.
52100         * modules/sigpipe (Comment): Likewise.
52102 2010-03-27  Bruno Haible  <bruno@clisp.org>
52104         Resolve conflict between the two kinds of module indicators.
52105         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
52106         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
52107         * modules/canonicalize (configure.ac): Invoke
52108         gl_MODULE_INDICATOR_FOR_TESTS.
52109         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
52110         GNULIB_XYZ.
52111         * tests/test-dirent-c++.cc: Likewise.
52112         * tests/test-dirent-safer.c: Likewise.
52113         * tests/test-dup2.c: Likewise.
52114         * tests/test-fchdir.c: Likewise.
52115         * tests/test-fcntl-h-c++.cc: Likewise.
52116         * tests/test-getopt.c: Likewise.
52117         * tests/test-getopt.h: Likewise.
52118         * tests/test-langinfo-c++.cc: Likewise.
52119         * tests/test-locale-c++.cc: Likewise.
52120         * tests/test-math-c++.cc: Likewise.
52121         * tests/test-pty-c++.cc: Likewise.
52122         * tests/test-search-c++.cc: Likewise.
52123         * tests/test-signal-c++.cc: Likewise.
52124         * tests/test-spawn-c++.cc: Likewise.
52125         * tests/test-stdio-c++.cc: Likewise.
52126         * tests/test-stdlib-c++.cc: Likewise.
52127         * tests/test-string-c++.cc: Likewise.
52128         * tests/test-sys_ioctl-c++.cc: Likewise.
52129         * tests/test-sys_select-c++.cc: Likewise.
52130         * tests/test-sys_socket-c++.cc: Likewise.
52131         * tests/test-sys_stat-c++.cc: Likewise.
52132         * tests/test-sys_time-c++.cc: Likewise.
52133         * tests/test-time-c++.cc: Likewise.
52134         * tests/test-unistd-c++.cc: Likewise.
52135         * tests/test-wchar-c++.cc: Likewise.
52136         * tests/uninorm/test-u8-nfc.c: Likewise.
52137         * tests/uninorm/test-u8-nfd.c: Likewise.
52138         * tests/uninorm/test-u8-nfkc.c: Likewise.
52139         * tests/uninorm/test-u8-nfkd.c: Likewise.
52140         * tests/uninorm/test-u16-nfc.c: Likewise.
52141         * tests/uninorm/test-u16-nfd.c: Likewise.
52142         * tests/uninorm/test-u16-nfkc.c: Likewise.
52143         * tests/uninorm/test-u16-nfkd.c: Likewise.
52144         * tests/uninorm/test-u32-nfc.c: Likewise.
52145         * tests/uninorm/test-u32-nfc-big.c: Likewise.
52146         * tests/uninorm/test-u32-nfd.c: Likewise.
52147         * tests/uninorm/test-u32-nfd-big.c: Likewise.
52148         * tests/uninorm/test-u32-nfkc.c: Likewise.
52149         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
52150         * tests/uninorm/test-u32-nfkd.c: Likewise.
52151         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
52152         * tests/uninorm/test-u32-normalize-big.c: Likewise.
52154 2010-03-27  Bruno Haible  <bruno@clisp.org>
52156         Distinguish two kinds of module indicators.
52157         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
52158         gl_MODULE_INDICATOR.
52159         (gl_MODULE_INDICATOR): New macro.
52160         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
52161         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
52162         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
52163         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
52164         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
52165         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
52166         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
52167         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
52168         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
52169         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
52170         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
52171         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
52172         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
52173         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
52174         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
52175         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
52176         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
52177         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
52178         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
52179         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
52180         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
52181         * modules/cloexec (configure.ac): Likewise.
52182         * modules/getopt-gnu (configure.ac): Likewise.
52183         * modules/uninorm/u8-normalize (configure.ac): Likewise.
52184         * modules/uninorm/u16-normalize (configure.ac): Likewise.
52185         * modules/uninorm/u32-normalize (configure.ac): Likewise.
52186         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
52188 2010-03-27  Bruno Haible  <bruno@clisp.org>
52190         New module description field 'Comment'.
52191         * gnulib-tool: New option --extract-comment.
52192         (func_usage): Document it.
52193         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
52194         (func_get_comment): New function.
52195         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
52197 2010-03-27  Bruno Haible  <bruno@clisp.org>
52199         Addendum to 2010-02-07 commit.
52200         * gnulib-tool (func_usage): Document --extract-applicability option.
52202 2010-03-27  Bruno Haible  <bruno@clisp.org>
52204         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
52205         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
52206         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
52207         rather than link errors.
52209 2010-03-27  Bruno Haible  <bruno@clisp.org>
52211         Avoid side effects from tests-related modules on the compilation of lib.
52212         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
52213         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
52214         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
52215         parameter. Emit into AM_CPPFLAGS a definition of the designated C
52216         macro.
52217         (func_import): Define a witness macro. Assign it a value that depends
52218         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
52219         tests-related modules.
52220         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
52221         Reported by Jim Meyering.
52223 2010-03-27  Bruno Haible  <bruno@clisp.org>
52225         Factorize common .m4 code.
52226         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
52227         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
52228         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
52229         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
52230         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
52231         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
52232         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
52233         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
52234         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
52235         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
52236         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
52237         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
52238         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
52239         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
52240         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
52241         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
52242         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
52243         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
52244         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
52245         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
52246         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
52247         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
52248         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
52249         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
52250         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
52251         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
52252         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
52253         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
52254         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
52255         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
52256         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
52257         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
52259 2010-03-27  Bruno Haible  <bruno@clisp.org>
52261         Fix a compilation error on Cygwin with g++ >= 4.3.
52262         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
52263         if it is undefined or if we alias it to chmod.
52264         (lstat): Don't warn about the use of this function if it is undefined
52265         or if we alias it to stat.
52266         Reported by Simon Josefsson.
52268 2010-03-27  Bruno Haible  <bruno@clisp.org>
52270         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
52271         * modules/getlogin (configure.ac): Update.
52273         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
52274         * modules/getlogin_r (configure.ac): Update.
52276         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
52277         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
52278         * modules/inet_ntop (configure.ac): Update.
52280         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
52281         * modules/inet_pton (configure.ac): Update.
52283         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
52284         * modules/mbslen (configure.ac): Update.
52286         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
52287         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
52288         * modules/forkpty (configure.ac): Update.
52289         * modules/openpty (configure.ac): Update.
52291 2010-03-26  Simon Josefsson  <simon@josefsson.org>
52293         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
52294         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
52296 2010-03-25  Eric Blake  <eblake@redhat.com>
52298         maint: use pragma consistently across replacement headers
52299         * lib/ctype.in.h (system_header): Hoist for consistent placement.
52300         * lib/dirent.in.h (system_header): Likewise.
52301         * lib/errno.in.h (system_header): Likewise.
52302         * lib/float.in.h (system_header): Likewise.
52303         * lib/getopt.in.h (system_header): Likewise.
52304         * lib/iconv.in.h (system_header): Likewise.
52305         * lib/inttypes.in.h (system_header): Likewise.
52306         * lib/langinfo.in.h (system_header): Likewise.
52307         * lib/locale.in.h (system_header): Likewise.
52308         * lib/math.in.h (system_header): Likewise.
52309         * lib/netdb.in.h (system_header): Likewise.
52310         * lib/netinet_in.in.h (system_header): Likewise.
52311         * lib/pty.in.h (system_header): Likewise.
52312         * lib/sched.in.h (system_header): Likewise.
52313         * lib/se-selinux.in.h (system_header): Likewise.
52314         * lib/search.in.h (system_header): Likewise.
52315         * lib/spawn.in.h (system_header): Likewise.
52316         * lib/stdarg.in.h (system_header): Likewise.
52317         * lib/stdint.in.h (system_header): Likewise.
52318         * lib/string.in.h (system_header): Likewise.
52319         * lib/strings.in.h (system_header): Likewise.
52320         * lib/sys_file.in.h (system_header): Likewise.
52321         * lib/sys_ioctl.in.h (system_header): Likewise.
52322         * lib/sys_socket.in.h (system_header): Likewise.
52323         * lib/sys_times.in.h (system_header): Likewise.
52324         * lib/sys_utsname.in.h (system_header): Likewise.
52325         * lib/sys_wait.in.h (system_header): Likewise.
52326         * lib/sysexits.in.h (system_header): Likewise.
52327         * lib/unistd.in.h (system_header): Likewise.
52328         * lib/wctype.in.h (system_header): Likewise.
52330         arpa/inet: fix mingw compilation warning
52331         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
52332         Reported by Matthew Bolte.
52334 2010-03-25  Bruno Haible  <bruno@clisp.org>
52336         Avoid collision between gnulib wrapper and libintl wrapper.
52337         * lib/printf.c (printf): Don't define if a printf wrapper is already
52338         defined in intl/printf.c.
52339         Reported by Michel Boaventura <michel@michelboaventura.com>.
52341 2010-03-25  Bruno Haible  <bruno@clisp.org>
52343         Use ANSI C.
52344         * lib/readutmp.h (getutent): Provide ANSI C prototype.
52346 2010-03-25  Bruno Haible  <bruno@clisp.org>
52348         Minor formatting changes.
52349         * lib/acosl.c: Insert space before function argument list.
52350         * lib/argz.c: Likewise.
52351         * lib/asinl.c: Likewise.
52352         * lib/expl.c: Likewise.
52353         * lib/gen-uni-tables.c: Likewise.
52354         * lib/gettext.h: Likewise.
52355         * lib/glthread/lock.h: Likewise.
52356         * lib/tanl.c: Likewise.
52357         * lib/uniname/uniname.c: Likewise.
52358         * tests/test-idpriv-drop.c: Likewise.
52359         * tests/test-idpriv-droptemp.c: Likewise.
52360         * tests/test-lock.c: Likewise.
52361         * tests/test-tls.c: Likewise.
52362         * lib/argp-help.c: Insert space before function-like macro argument
52363         list.
52364         * lib/memcmp.c: Likewise.
52365         * tests/test-base64.c: Likewise.
52366         * lib/localename.c: Insert space before sizeof's argument list.
52367         * lib/safe-alloc.h: Likewise.
52368         * lib/file-set.h: Insert space before macro argument list.
52369         * tests/test-argp.c: Likewise.
52370         * lib/argp-namefrob.h: Insert space before function parameter list.
52371         * lib/getaddrinfo.c: Likewise.
52372         * lib/netdb.in.h: Likewise.
52373         * lib/parse-duration.h: Likewise.
52374         * lib/parse-duration.c: Likewise.
52375         * lib/poll.c: Likewise.
52376         * lib/select.c: Likewise.
52377         * lib/trim.h: Likewise.
52378         * tests/test-usleep.c: Likewise.
52379         * lib/ldexpl.c: Insert space before function parameter list and before
52380         function argument list.
52381         * lib/logl.c: Likewise.
52382         * lib/sqrtl.c: Likewise.
52383         * lib/trim.c: Likewise.
52384         * lib/cosl.c: Use GNU style indentation. Insert space before function
52385         argument list.
52386         * lib/sinl.c: Likewise.
52387         * lib/tsearch.c: Insert space after 'for'.
52388         Reported by Jim Meyering.
52390 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
52392         * maint.mk (sc_Wundef_boolean): Check for the presence of the
52393         config header before grepping, as it's not present before
52394         autoreconf/configure are run.  Reported by Simon Josefsson.
52396 2010-03-23  Bruno Haible  <bruno@clisp.org>
52398         pt_chown: Make it work with automake < 1.11.
52399         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
52400         Reported by Simon Josefsson.
52402 2010-03-23  Bruno Haible  <bruno@clisp.org>
52404         pt_chown: Don't depend on GPLed modules.
52405         * lib/pt_chown.c: Don't include idpriv.h.
52406         (main): Don't drop privileges.
52407         * modules/pt_chown (Depends-on): Remove idpriv-drop.
52408         Reported by Simon Josefsson.
52410 2010-03-24  Simon Josefsson  <simon@josefsson.org>
52412         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
52413         suggestions from karl@freefriends.org (Karl Berry).
52415 2010-03-22  Eric Blake  <eblake@redhat.com>
52417         gethostname: further tweaks
52418         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
52419         are overriding gethostname.
52420         Suggested by Bruno Haible.
52422 2010-03-21  Bruno Haible  <bruno@clisp.org>
52424         Fix comments.
52425         * lib/forkpty.c (rpl_forkpty): Fix comment.
52426         * lib/openpty.c (rpl_openpty): Likewise.
52427         Reported by Eric Blake.
52429 2010-03-22  Eric Blake  <eblake@redhat.com>
52431         gethostname: fix build on mingw
52432         * lib/unistd.in.h (includes): Work around fact that mingw
52433         <winsock2.h> re-includes <unistd.h>, by avoiding any
52434         redeclarations if we are being included by <winsock2.h>.
52435         Reported by Matthias Bolte.
52437 2010-03-21  Bruno Haible  <bruno@clisp.org>
52439         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
52440         * lib/forkpty.c (forkpty): New replacement function, from glibc with
52441         modifications.
52442         * lib/pty.in.h (forkpty): Update declaration. Add comments.
52443         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
52444         provide the replacement.
52445         * modules/forkpty (Depends-on): Add openpty, login_tty.
52446         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
52447         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
52448         * doc/glibc-functions/forkpty.texi: More supported platforms.
52449         * config/srclist.txt: Add forkpty.c (commented).
52451 2010-03-21  Bruno Haible  <bruno@clisp.org>
52453         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
52454         (Makefile.am): Verify that PTY_LIB is defined.
52456         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
52458 2010-03-21  Bruno Haible  <bruno@clisp.org>
52460         Tests for module 'login_tty'.
52461         * modules/login_tty-tests: New file.
52462         * tests/test-login_tty.c: New file.
52464         New module 'login_tty'.
52465         * lib/login_tty.c: New file.
52466         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
52467         * modules/login_tty: New file.
52468         * doc/glibc-functions/login_tty.texi: Mention the new module.
52470 2010-03-21  Bruno Haible  <bruno@clisp.org>
52472         login_tty: Documentation.
52473         * doc/glibc-functions/login_tty.texi: New file.
52474         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
52476 2010-03-21  Bruno Haible  <bruno@clisp.org>
52478         pty: Consistent macro naming.
52479         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
52480         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
52481         * modules/pty (configure.ac): Update.
52483 2010-03-21  Bruno Haible  <bruno@clisp.org>
52485         Tests for openpty: Make stricter.
52486         * tests/test-openpty.c (main): Add test of canonical processing and
52487         erase.
52488         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
52490         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
52491         * lib/openpty.c (openpty): New replacement function.
52492         * lib/pty.in.h: Include <termios.h>.
52493         (openpty): Update declaration. Add comments.
52494         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
52495         is not declared, arrange to provide the replacement. Check for _getpty
52496         and posix_openpt.
52497         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
52498         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
52499         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
52500         * modules/pty-tests (test_pty_c___LDADD): New variable.
52501         * doc/glibc-functions/openpty.texi: More supported platforms.
52503 2010-03-21  Bruno Haible  <bruno@clisp.org>
52505         setenv: Tweaks.
52506         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
52507         the test program.
52508         * doc/posix-functions/setenv.texi: Update platforms list.
52510 2010-03-21  Bruno Haible  <bruno@clisp.org>
52512         New module 'unlockpt'.
52513         * lib/unlockpt.c: New file, from glibc with modifications.
52514         * m4/unlockpt.m4: New file.
52515         * modules/unlockpt: New file.
52516         * lib/stdlib.in.h (unlockpt): New declaration.
52517         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
52518         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
52519         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
52520         HAVE_UNLOCKPT.
52521         * doc/posix-functions/unlockpt.texi: Mention the new module.
52522         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
52523         * config/srclist.txt: Add unlockpt.c (commented).
52525 2010-03-21  Jim Meyering  <meyering@redhat.com>
52527         maint.mk: prohibit inclusion of "intprops.h" without use
52528         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
52530 2010-03-21  Bruno Haible  <bruno@clisp.org>
52532         New module 'grantpt'.
52533         * lib/grantpt.c: New file, from glibc with modifications.
52534         * m4/grantpt.m4: New file.
52535         * modules/grantpt: New file.
52536         * lib/stdlib.in.h (grantpt): New declaration.
52537         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
52538         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
52539         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
52540         HAVE_GRANTPT.
52541         * doc/posix-functions/grantpt.texi: Mention the new module.
52542         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
52543         * config/srclist.txt: Add grantpt.c (commented).
52545 2010-03-21  Bruno Haible  <bruno@clisp.org>
52547         New module 'pt_chown'.
52548         * lib/pt_chown.c: New file, from glibc with modifications.
52549         * lib/pty-private.h: New file, from glibc with modifications.
52550         * modules/pt_chown: New file.
52551         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
52553 2010-03-21  Bruno Haible  <bruno@clisp.org>
52555         Tests for module 'ptsname'.
52556         * modules/ptsname-tests: New file.
52557         * tests/test-ptsname.c: New file.
52559         New module 'ptsname'.
52560         * lib/ptsname.c: New file, from glibc with modifications.
52561         * m4/ptsname.m4: New file.
52562         * modules/ptsname: New file.
52563         * lib/stdlib.in.h (ptsname): New declaration.
52564         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
52565         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
52566         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
52567         HAVE_PTSNAME.
52568         * doc/posix-functions/ptsname.texi: Mention the new module.
52569         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
52570         * config/srclist.txt: Add ptsname.c (commented).
52572 2010-03-21  Bruno Haible  <bruno@clisp.org>
52574         Tests for module 'ttyname_r'.
52575         * modules/ttyname_r-tests: New file.
52576         * tests/test-ttyname_r.c: New file.
52578         New module 'ttyname_r'.
52579         * lib/ttyname_r.c: New file.
52580         * m4/ttyname_r.m4: New file.
52581         * modules/ttyname_r: New file.
52582         * lib/unistd.in.h (ttyname_r): New declaration.
52583         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
52584         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
52585         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
52586         HAVE_TTYNAME_R.
52587         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
52588         * doc/posix-functions/ttyname_r.texi: Mention the new module.
52590 2010-03-20  Bruno Haible  <bruno@clisp.org>
52592         signal: Undefine macro definitions in C++ mode.
52593         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
52594         sigfillset): Undefine macro definitions from the system header in C++
52595         mode.
52596         Reported by John W. Eaton <jwe@gnu.org>.
52598 2010-03-20  Bruno Haible  <bruno@clisp.org>
52600         Ensure no #include statements inside extern "C" { ... }.
52601         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
52602         contain #include statements.
52603         * lib/time.in.h: Likewise.
52605 2010-03-20  Bruno Haible  <bruno@clisp.org>
52607         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
52608         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
52609         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
52610         Reported by John W. Eaton <jwe@gnu.org>.
52612 2010-03-20  Bruno Haible  <bruno@clisp.org>
52614         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
52615         Reported by Jim Meyering.
52617 2010-03-20  Bruno Haible  <bruno@clisp.org>
52619         pipe: Set errno upon failure.
52620         * lib/pipe.h: Specify that when -1 is returned, errno is set.
52621         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
52622         errno value in error message.
52624 2010-03-20  Bruno Haible  <bruno@clisp.org>
52625             Jim Meyering  <meyering@redhat.com>
52627         lchown: Avoid "unused variable" warning.
52628         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
52630 2010-03-20  Bruno Haible  <bruno@clisp.org>
52632         Work around unlink() bug on MacOS X 10.5.6.
52633         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
52634         attempting to unlink a parent directory.
52635         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
52636         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
52637         activate for the replacement function.
52638         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
52640 2010-03-20  Bruno Haible  <bruno@clisp.org>
52642         Fix link errors on Solaris 8.
52643         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
52644         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
52646 2010-03-19  Jim Meyering  <meyering@redhat.com>
52648         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
52649         The _LIBC implementation of build_range_exp correctly honors the
52650         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
52651         However, the non-_LIBC implementation would ignore that syntax-bit
52652         flag and return REG_ERANGE unconditionally.
52653         This change makes it honor that flag.
52654         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
52655         Make two pointer parameters "const".
52656         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
52657         (parse_bracket_exp): Update caller.
52659         regex.m4: correct the reversed range endpoint ([b-a]) test
52660         * m4/regex.m4: When requiring that [b-a] evoke failure,
52661         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
52662         test pass once again for x86-based systems.
52664 2010-03-19  Bruno Haible  <bruno@clisp.org>
52666         scandir: Fix link error on Solaris 8.
52667         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
52668         macros.
52670 2010-03-19  Bruno Haible  <bruno@clisp.org>
52672         getusershell: Fix documentation.
52673         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
52674         module.
52675         * doc/glibc-functions/setusershell.texi: Likewise.
52677         getusershell: Provide declaration, missing on Solaris 9.
52678         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
52679         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
52680         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
52681         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
52682         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52683         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
52684         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
52685         HAVE_GETUSERSHELL.
52686         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
52688 2010-03-19  Bruno Haible  <bruno@clisp.org>
52690         wctype: Provide iswblank function.
52691         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
52692         exists and is fine.
52693         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
52694         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
52695         * tests/test-wctype.c (main): Re-enable the iswblank tests.
52696         * doc/posix-functions/iswblank.texi: Update.
52698 2010-03-19  Bruno Haible  <bruno@clisp.org>
52700         Tests of module 'pty' in C++ mode.
52701         * modules/pty-tests: New file.
52702         * tests/test-pty-c++.cc: New file.
52703         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
52705 2010-03-19  Eric Blake  <eblake@redhat.com>
52707         logb: fix documentation
52708         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
52709         1.5 declaration bug.
52711         forkpty, openpty: prefer glibc's const-safe prototype
52712         * lib/forkpty.c (rpl_forkpty): New file.
52713         * lib/openpty.c (rpl_openpty): Likewise.
52714         * modules/forkpty (Files): Distribute it.
52715         * modules/openpty (Files): Likewise.
52716         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
52717         check...
52718         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
52719         replacement for non-const BSD signature.
52720         * modules/pty (Makefile.am): Substitute witnesses.
52721         * lib/pty.in.h (forkpty, openpty): Declare replacements.
52722         * tests/test-forkpty.c: Update signature check.
52723         * tests/test-openpty.c: Likewise.
52724         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
52725         * doc/glibc-functions/openpty.texi (openpty): Likewise.
52727         forkpty, openpty: split functions into new modules
52728         * modules/pty (Makefile.am): Substitute new witnesses.
52729         (Libraries): Move library detection...
52730         * modules/forkpty: ...into new module.
52731         * modules/openpty: Another new module.
52732         * modules/pty-tests: Rename and split...
52733         * modules/forkpty-tests: ...to this...
52734         * modules/openpty-tests: ...and this.
52735         * tests/test-pty.c: Rename and split...
52736         * tests/test-forkpty.c: ...to this...
52737         * tests/test-openpty.c: ...and this.
52738         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
52739         (gl_PTY): Split library searching...
52740         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
52741         (gl_FORKPTY, gl_OPENPTY): New macros.
52742         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
52743         * NEWS: Mention the split.
52744         * MODULES.html.sh (Misc): Document the modules.
52745         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
52746         * doc/glibc-functions/openpty.texi (openpty): Likewise.
52748         pty: improve replacement header
52749         * lib/pty.in.h: New file.
52750         * modules/pty (Files): Ship it.
52751         (Makefile.am): Always build replacement.
52752         * m4/pty.m4: Rename...
52753         * m4/pty_h.m4: ...to this.
52754         (gl_PTY): Modernize setting of witness macros; update check of
52755         forkpty to take proper advantage of cache.
52756         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
52758         getopt: avoid compiler warning
52759         * lib/getopt.c (attribute_hidden): Remove unused macro.
52761 2010-03-18  Bruno Haible  <bruno@clisp.org>
52763         Fix link errors on Solaris 8.
52764         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
52765         * modules/search-tests (test_search_c___LDADD): Likewise.
52766         * modules/signal-tests (test_signal_c___LDADD): Likewise.
52767         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
52768         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
52769         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
52770         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
52771         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
52772         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
52774 2010-03-18  Bruno Haible  <bruno@clisp.org>
52776         Fix bug introduced on 2010-03-14.
52777         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
52778         (gl_SPAWN_H): Require it.
52779         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
52780         Reported by Simon Josefsson.
52782 2010-03-18  Bruno Haible  <bruno@clisp.org>
52784         Fix typo introduced on 2009-12-31.
52785         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
52786         posix_spawn_file_actions_adddup2.
52788 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
52789         and Eric Blake  <eblake@redhat.com>
52791         test-vc-list-files-git: make more robust
52792         * tests/test-vc-list-files-git.sh: Unset problematic environment
52793         variables.  Chain commands together.
52795 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
52797         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
52798         `AC_CHECK_DECL' invocation.
52800 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
52802         * lib/inttostr.c (inttostr): Make sure the invocation of verify
52803         appears before executable statements. Suggested by Petr Sumbera
52804         <Petr.Sumbera@Sun.COM>.
52806 2010-03-14  Bruno Haible  <bruno@clisp.org>
52808         * tests/test-flock.c (test_exclusive): Comment out a test that causes
52809         portability problems. Instead use a simpler test.
52810         (main): Check that invalid arguments are rejected only on Linux.
52812 2010-03-14  Bruno Haible  <bruno@clisp.org>
52814         Fix bug introduced on 2009-12-31.
52815         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
52816         gl_PREREQ_SYS_H_WINSOCK2 always.
52817         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
52818         SYS_SOCKET_H variable.
52819         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
52820         Update comments.
52821         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
52822         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
52823         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
52824         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
52825         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
52827 2010-03-14  Bruno Haible  <bruno@clisp.org>
52829         Fix values returned by sinl, cosl.
52830         * lib/trigl.h: Add specification comments.
52831         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
52832         that combines the values from the precomputed table with the values of
52833         the Chebyshev polynomials.
52835 2010-03-14  Bruno Haible  <bruno@clisp.org>
52837         Fix compilation error when modules 'posix_spawn[p]' are not used.
52838         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
52839         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
52841 2010-03-14  Bruno Haible  <bruno@clisp.org>
52843         Fix compilation error on mingw when module 'time_r' is not used.
52844         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
52845         is 1.
52846         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
52847         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
52848         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
52849         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
52851 2010-03-14  Bruno Haible  <bruno@clisp.org>
52853         Fix compilation error with Sun C.
52854         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
52855         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
52856         instead of GCC specific ULONG_LONG_MAX.
52857         * lib/xstrtoll.c: Likewise.
52858         * lib/xstrtoull.c: Likewise.
52860 2010-03-13  Bruno Haible  <bruno@clisp.org>
52862         Allow the user to disable C++ code and tests.
52863         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
52864         (gl_PROG_ANSI_CXX): Require it.
52866 2010-03-13  Bruno Haible  <bruno@clisp.org>
52868         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
52869         cases.
52871 2010-03-13  Bruno Haible  <bruno@clisp.org>
52873         Test that gnulib does not break the standard C++ headers.
52874         * tests/test-locale-c++2.cc: New file.
52875         * modules/locale-tests (Files): Add it.
52876         (Makefile.am): Compile it for test-locale-c++.
52877         * tests/test-math-c++2.cc: New file.
52878         * modules/math-tests (Files): Add it.
52879         (Makefile.am): Compile it for test-math-c++.
52880         * tests/test-signal-c++2.cc: New file.
52881         * modules/signal-tests (Files): Add it.
52882         (Makefile.am): Compile it for test-signal-c++.
52883         * tests/test-stdio-c++2.cc: New file.
52884         * modules/stdio-tests (Files): Add it.
52885         (Makefile.am): Compile it for test-stdio-c++.
52886         * tests/test-stdlib-c++2.cc: New file.
52887         * modules/stdlib-tests (Files): Add it.
52888         (Makefile.am): Compile it for test-stdlib-c++.
52889         * tests/test-string-c++2.cc: New file.
52890         * modules/string-tests (Files): Add it.
52891         (Makefile.am): Compile it for test-string-c++.
52892         * tests/test-time-c++2.cc: New file.
52893         * modules/time-tests (Files): Add it.
52894         (Makefile.am): Compile it for test-time-c++.
52895         Reported by John W. Eaton <jwe@gnu.org>.
52897 2010-03-13  Bruno Haible  <bruno@clisp.org>
52899         * gnulib-tool (func_usage): Clarify which options are available for
52900         --create-testdir and --create-megatestdir.
52902 2010-03-13  Bruno Haible  <bruno@clisp.org>
52904         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
52905         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
52906         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
52907         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
52908         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
52909         when appropriate.
52910         Reported by Jim Meyering.
52912 2010-03-12  Simon Josefsson  <simon@josefsson.org>
52914         * gnulib-tool (func_import): Explain origin of code.
52916 2010-03-12  Bruno Haible  <bruno@clisp.org>
52918         Fix problem with automake's definition of CXXLINK.
52919         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
52920         Reported by Simon Josefsson and Ludovic Courtès.
52922 2010-03-12  Bruno Haible  <bruno@clisp.org>
52924         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
52925         stable releases.
52927 2010-03-11  Bruno Haible  <bruno@clisp.org>
52929         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
52930         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
52931         whether the system provides one variant or multiple variants of the
52932         function.
52933         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
52934         C++ compilers.
52935         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
52936         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
52937         Reported by Jim Meyering.
52939 2010-03-09  Simon Josefsson  <simon@josefsson.org>
52941         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
52943 2010-03-08  Bruno Haible  <bruno@clisp.org>
52945         gnulib-tool: Add support for --libtool in --create-testdir.
52946         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
52947         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
52949 2010-03-08  Eric Blake  <eblake@redhat.com>
52951         gnulib-tool.texi: mention possibility of git submodule
52952         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
52953         submodules.
52954         * doc/.gitignore: Ignore another generated file.
52956 2010-03-08  Karl Berry  <karl@gnu.org>
52958         * doc/gnulib-tool.texi (VCS Issues): Mention third option
52959         of committing gnulib files while skipping others.
52961 2010-03-07  Bruno Haible  <bruno@clisp.org>
52963         Tests of module 'wctype' in C++ mode.
52964         * tests/test-wctype-c++.cc: New file.
52965         * modules/wctype-tests (Files): Add it and tests/signature.h.
52966         (Depends-on): Add ansi-c++-opt.
52967         (Makefile.am): Arrange to compile and run test-wctype-c++.
52969         Tests of module 'wchar' in C++ mode.
52970         * tests/test-wchar-c++.cc: New file.
52971         * modules/wchar-tests (Files): Add it and tests/signature.h.
52972         (Depends-on): Add ansi-c++-opt.
52973         (Makefile.am): Arrange to compile and run test-wchar-c++.
52974         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
52975         gl_MODULE_INDICATOR.
52977         Tests of module 'unistd' in C++ mode.
52978         * tests/test-unistd-c++.cc: New file.
52979         * modules/unistd-tests (Files): Add it and tests/signature.h.
52980         (Depends-on): Add ansi-c++-opt.
52981         (Makefile.am): Arrange to compile and run test-unistd-c++.
52982         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
52983         gl_MODULE_INDICATOR.
52985         Tests of module 'time' in C++ mode.
52986         * tests/test-time-c++.cc: New file.
52987         * modules/time-tests (Files): Add it and tests/signature.h.
52988         (Depends-on): Add ansi-c++-opt.
52989         (Makefile.am): Arrange to compile and run test-time-c++.
52990         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
52992         Tests of module 'sys_time' in C++ mode.
52993         * tests/test-sys_time-c++.cc: New file.
52994         * modules/sys_time-tests (Files): Add it and tests/signature.h.
52995         (Depends-on): Add ansi-c++-opt.
52996         (Makefile.am): Arrange to compile and run test-sys_time-c++.
52997         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
52998         gl_MODULE_INDICATOR.
53000         Tests of module 'sys_stat' in C++ mode.
53001         * tests/test-sys_stat-c++.cc: New file.
53002         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
53003         (Depends-on): Add ansi-c++-opt.
53004         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
53005         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
53006         gl_MODULE_INDICATOR.
53008         Tests of module 'sys_socket' in C++ mode.
53009         * tests/test-sys_socket-c++.cc: New file.
53010         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
53011         (Depends-on): Add ansi-c++-opt.
53012         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
53013         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
53014         gl_MODULE_INDICATOR.
53016         Tests of module 'sys_select' in C++ mode.
53017         * tests/test-sys_select-c++.cc: New file.
53018         * modules/sys_select-tests (Files): Add it and tests/signature.h.
53019         (Depends-on): Add ansi-c++-opt.
53020         (Makefile.am): Arrange to compile and run test-sys_select-c++.
53021         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
53022         gl_MODULE_INDICATOR.
53024         Tests of module 'sys_ioctl' in C++ mode.
53025         * tests/test-sys_ioctl-c++.cc: New file.
53026         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
53027         (Depends-on): Add ansi-c++-opt.
53028         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
53029         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
53030         gl_MODULE_INDICATOR.
53032         Tests of module 'string' in C++ mode.
53033         * tests/test-string-c++.cc: New file.
53034         * modules/string-tests (Files): Add it and tests/signature.h.
53035         (Depends-on): Add ansi-c++-opt.
53036         (Makefile.am): Arrange to compile and run test-string-c++.
53037         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
53038         gl_MODULE_INDICATOR.
53040         Tests of module 'stdlib' in C++ mode.
53041         * tests/test-stdlib-c++.cc: New file.
53042         * modules/stdlib-tests (Files): Add it and tests/signature.h.
53043         (Depends-on): Add ansi-c++-opt.
53044         (Makefile.am): Arrange to compile and run test-stdlib-c++.
53045         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
53046         gl_MODULE_INDICATOR.
53048         Tests of module 'stdio' in C++ mode.
53049         * tests/test-stdio-c++.cc: New file.
53050         * modules/stdio-tests (Files): Add it and tests/signature.h.
53051         (Depends-on): Add ansi-c++-opt.
53052         (Makefile.am): Arrange to compile and run test-stdio-c++.
53053         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
53054         gl_MODULE_INDICATOR.
53056         Tests of module 'spawn' in C++ mode.
53057         * tests/test-spawn-c++.cc: New file.
53058         * modules/spawn-tests (Files): Add it and tests/signature.h.
53059         (Depends-on): Add ansi-c++-opt.
53060         (Makefile.am): Arrange to compile and run test-spawn-c++.
53061         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
53062         gl_MODULE_INDICATOR.
53064         Tests of module 'signal' in C++ mode.
53065         * tests/test-signal-c++.cc: New file.
53066         * modules/signal-tests (Files): Add it and tests/signature.h.
53067         (Depends-on): Add ansi-c++-opt.
53068         (Makefile.am): Arrange to compile and run test-signal-c++.
53069         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
53070         gl_MODULE_INDICATOR.
53072         Tests of module 'search' in C++ mode.
53073         * tests/test-search-c++.cc: New file.
53074         * modules/search-tests (Files): Add it and tests/signature.h.
53075         (Depends-on): Add ansi-c++-opt.
53076         (Makefile.am): Arrange to compile and run test-search-c++.
53077         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
53078         gl_MODULE_INDICATOR.
53080         Tests of module 'math' in C++ mode.
53081         * tests/test-math-c++.cc: New file.
53082         * modules/math-tests (Files): Add it and tests/signature.h.
53083         (Depends-on): Add ansi-c++-opt.
53084         (Makefile.am): Arrange to compile and run test-math-c++.
53085         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
53087         Tests of module 'locale' in C++ mode.
53088         * tests/test-locale-c++.cc: New file.
53089         * modules/locale-tests (Files): Add it and tests/signature.h.
53090         (Depends-on): Add ansi-c++-opt.
53091         (Makefile.am): Arrange to compile and run test-locale-c++.
53092         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
53093         gl_MODULE_INDICATOR.
53095         Tests of module 'langinfo' in C++ mode.
53096         * tests/test-langinfo-c++.cc: New file.
53097         * modules/langinfo-tests (Files): Add it and tests/signature.h.
53098         (Depends-on): Add ansi-c++-opt.
53099         (Makefile.am): Arrange to compile and run test-langinfo-c++.
53100         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
53101         gl_MODULE_INDICATOR.
53103         Tests of module 'iconv-h' in C++ mode.
53104         * tests/test-iconv-h-c++.cc: New file.
53105         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
53106         (Depends-on): Add ansi-c++-opt.
53107         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
53109         Tests of module 'glob' in C++ mode.
53110         * tests/test-glob-c++.cc: New file.
53111         * modules/glob-tests (Files): Add it.
53112         (Depends-on): Add ansi-c++-opt.
53113         (Makefile.am): Arrange to compile and run test-glob-c++.
53115         Tests of module 'fcntl-h' in C++ mode.
53116         * tests/test-fcntl-h-c++.cc: New file.
53117         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
53118         (Depends-on): Add ansi-c++-opt.
53119         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
53120         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
53121         gl_MODULE_INDICATOR.
53123         Tests of module 'dirent' in C++ mode.
53124         * tests/test-dirent-c++.cc: New file.
53125         * modules/dirent-tests (Files): Add it and tests/signature.h.
53126         (Depends-on): Add ansi-c++-opt.
53127         (Makefile.am): Arrange to compile and run test-dirent-c++.
53128         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
53129         gl_MODULE_INDICATOR.
53131         New module 'ansi-c++-opt'.
53132         * modules/ansi-c++-opt: New file.
53133         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
53135         Document C++ namespace mode.
53136         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
53138         wctype: Avoid #define replacements in C++ mode.
53139         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
53140         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
53141         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
53142         In C++, define a namespaced alias symbol.
53143         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
53144         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
53145         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
53146         rule.
53148         wchar: Avoid #define replacements in C++ mode.
53149         * lib/wchar.in.h: Include c++defs.h.
53150         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
53151         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
53152         symbol.
53153         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
53154         * modules/wchar (Depends-on): Add c++defs.
53155         (Makefile.am): Update wchar.h rule.
53157         unistd: Avoid #define replacements in C++ mode.
53158         * lib/unistd.in.h: Include c++defs.h.
53159         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
53160         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
53161         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
53162         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
53163         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
53164         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
53165         symbol.
53166         (environ): Update.
53167         * modules/unistd (Depends-on): Add c++defs.
53168         (Makefile.am): Update unistd.h rule.
53170         time: Avoid #define replacements in C++ mode.
53171         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
53172         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
53173         define a namespaced alias symbol.
53174         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
53175         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
53176         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
53177         * modules/time (Depends-on): Add c++defs, warn-on-use.
53178         (Makefile.am): Update time.h rule.
53179         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
53180         * modules/nanosleep (configure.ac): Likewise.
53181         * modules/strptime (configure.ac): Likewise.
53182         * modules/timegm (configure.ac): Likewise.
53184         sys_time: Avoid #define replacements in C++ mode.
53185         * lib/sys_time.in.h: Include c++defs.h.
53186         (gettimeofday): In C++, define a namespaced alias symbol.
53187         * modules/sys_time (Depends-on): Add c++defs.
53188         (Makefile.am): Update sys/time.h rule.
53190         sys_stat: Avoid #define replacements in C++ mode.
53191         * lib/sys_stat.in.h: Include c++defs.h.
53192         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
53193         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
53194         namespaced alias symbol.
53195         In C++, define a namespaced alias symbol.
53196         * modules/sys_stat (Depends-on): Add c++defs.
53197         (Makefile.am): Update sys/stat.h rule.
53199         sys_socket: Avoid #define replacements in C++ mode.
53200         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
53201         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
53202         definitions also when the system has a <sys/socket.h>.
53203         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
53204         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
53205         In C++, define a namespaced alias symbol.
53206         * modules/sys_socket (Depends-on): Add c++defs.
53207         (Makefile.am): Update sys/socket.h rule.
53209         sys_select: Avoid #define replacements in C++ mode.
53210         * lib/sys_select.in.h: Include c++defs.h. Enable the function
53211         definitions also when the system has a <sys/select.h>.
53212         (select): In C++, define a namespaced alias symbol.
53213         * modules/sys_select (Depends-on): Add c++defs.
53214         (Makefile.am): Update sys/select.h rule.
53216         sys_ioctl: Avoid #define replacements in C++ mode.
53217         * lib/sys_ioctl.in.h: Include c++defs.h.
53218         (ioctl): In C++, define a namespaced alias symbol.
53219         * modules/sys_ioctl (Depends-on): Add c++defs.
53220         (Makefile.am): Update sys/ioctl.h rule.
53222         string: Avoid #define replacements in C++ mode.
53223         * lib/string.in.h: Include c++defs.h.
53224         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
53225         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
53226         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
53227         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
53228         strsignal, strverscmp): In C++, define a namespaced alias symbol.
53229         * modules/string (Depends-on): Add c++defs.
53230         (Makefile.am): Update string.h rule.
53232         stdlib: Avoid #define replacements in C++ mode.
53233         * lib/stdlib.in.h: Include c++defs.h.
53234         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
53235         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
53236         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
53237         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
53238         symbol.
53239         * modules/stdlib (Depends-on): Add c++defs.
53240         (Makefile.am): Update stdlib.h rule.
53242         stdio: Avoid #define replacements in C++ mode.
53243         * lib/stdio.in.h: Include c++defs.h.
53244         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
53245         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
53246         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
53247         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
53248         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
53249         namespaced alias symbol.
53250         * modules/stdio (Depends-on): Add c++defs.
53251         (Makefile.am): Update stdio.h rule.
53253         spawn: Avoid #define replacements in C++ mode.
53254         * lib/spawn.in.h: Include c++defs.h.
53255         (posix_spawn, posix_spawnp, posix_spawnattr_init,
53256         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
53257         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
53258         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
53259         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
53260         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
53261         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
53262         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
53263         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
53264         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
53265         In C++, define a namespaced alias symbol.
53266         * modules/spawn (Depends-on): Add c++defs.
53267         (Makefile.am): Update spawn.h rule.
53269         signal: Avoid #define replacements in C++ mode.
53270         * lib/signal.in.h: Include c++defs.h.
53271         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
53272         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
53273         namespaced alias symbol.
53274         * modules/signal (Depends-on): Add c++defs.
53275         (Makefile.am): Update signal.h rule.
53277         search: Avoid #define replacements in C++ mode.
53278         * lib/search.in.h: Include c++defs.h.
53279         (_gl_search_compar_fn, _gl_search_action_fn): New types.
53280         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
53281         symbol.
53282         * modules/search (Depends-on): Add c++defs.
53283         (Makefile.am): Update search.h rule.
53285         math: Avoid #define replacements in C++ mode.
53286         * lib/math.in.h: Include c++defs.h.
53287         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
53288         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
53289         trunc, truncl): In C++, define a namespaced alias symbol.
53290         * modules/math (Depends-on): Add c++defs.
53291         (Makefile.am): Update math.h rule.
53293         locale: Avoid #define replacements in C++ mode.
53294         * lib/locale.in.h: Include c++defs.h.
53295         (duplocale): In C++, define a namespaced alias symbol.
53296         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
53297         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
53298         * modules/locale (Depends-on): Add c++defs.
53299         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
53301         langinfo: Avoid #define replacements in C++ mode.
53302         * lib/langinfo.in.h: Include c++defs.h.
53303         (nl_langinfo): In C++, define a namespaced alias symbol.
53304         * modules/langinfo (Depends-on): Add c++defs.
53305         (Makefile.am): Update langinfo.h rule.
53307         iconv-h: Avoid #define replacements in C++ mode.
53308         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
53309         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
53310         symbol.
53311         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
53312         whenever iconv is present.
53313         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
53314         (Makefile.am): Update iconv.h rule.
53316         glob: Avoid #define replacements in C++ mode.
53317         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
53318         (_gl_glob_errfunc_fn): New type.
53319         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
53320         symbol.
53321         * modules/glob (Depends-on): Add c++defs, warn-on-use.
53322         (Makefile.am): Update glob.h rule.
53324         fcntl-h: Avoid #define replacements in C++ mode.
53325         * lib/fcntl.in.h: Include c++defs.h.
53326         (fcntl, open, openat): In C++, define a namespaced alias symbol.
53327         * modules/fcntl-h (Depends-on): Add c++defs.
53328         (Makefile.am): Update fcntl.h rule.
53330         dirent: Avoid #define replacements in C++ mode.
53331         * lib/dirent.in.h: Include c++defs.h.
53332         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
53333         namespaced alias symbol.
53334         (dirfd): Update declaration.
53335         * modules/dirent (Depends-on): Add c++defs.
53336         (Makefile.am): Update dirent.h rule.
53338         ctype: Make it usable in C++ code.
53339         * lib/ctype.in.h: Include c++defs.h.
53340         (isblank): Declare as extern "C".
53341         * modules/ctype (Depends-on): Add c++defs.
53342         (Makefile.am): Update ctype.h rule.
53344         New module 'c++defs'.
53345         * modules/c++defs: New file.
53346         * build-aux/c++defs.h: New file.
53347         Reported by John W. Eaton <jwe@gnu.org>.
53349 2010-03-07  Bruno Haible  <bruno@clisp.org>
53351         logb: Provide missing declaration for Cygwin.
53352         * lib/math.in.h (logb): New declaration.
53353         * m4/logb.m4: New file.
53354         * modules/logb (Files): Add m4/logb.m4.
53355         (Depends-on): Add math.
53356         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
53357         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
53358         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
53359         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
53360         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
53362 2010-03-07  Bruno Haible  <bruno@clisp.org>
53364         Fix test-cond link error.
53365         * tests/test-cond.c: Include <stdio.h>.
53367 2010-03-07  Bruno Haible  <bruno@clisp.org>
53369         Fix test-dirent-safer link error.
53370         * modules/dirent-safer-tests (Makefile.am): Define
53371         test_dirent_safer_LDADD.
53373 2010-03-07  Bruno Haible  <bruno@clisp.org>
53375         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
53376         among default module list.
53378 2010-03-07  Bruno Haible  <bruno@clisp.org>
53380         Fix link error on platforms with GNU libiconv.
53381         * modules/unistr/u8-strcoll-tests (Makefile): Define
53382         test_u8_strcoll_LDADD.
53383         * modules/unistr/u16-strcoll-tests (Makefile): Define
53384         test_u16_strcoll_LDADD.
53385         * modules/unistr/u32-strcoll-tests (Makefile): Define
53386         test_u32_strcoll_LDADD.
53388 2010-03-07  Bruno Haible  <bruno@clisp.org>
53390         Use POSIX declarations for socket functions.
53391         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
53392         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
53393         rpl_sendto): Change declaration to match POSIX.
53394         * lib/connect.c (rpl_connect): Likewise.
53395         * lib/accept.c (rpl_accept): Likewise.
53396         * lib/bind.c (rpl_bind): Likewise.
53397         * lib/getpeername.c (rpl_getpeername): Likewise.
53398         * lib/getsockname.c (rpl_getsockname): Likewise.
53399         * lib/recv.c (rpl_recv): Likewise.
53400         * lib/send.c (rpl_send): Likewise.
53401         * lib/recvfrom.c (rpl_recvfrom): Likewise.
53402         * lib/sendto.c (rpl_sendto): Likewise.
53404 2010-03-06  Bruno Haible  <bruno@clisp.org>
53406         Clarify access, euidaccess, faccessat.
53407         * doc/posix-functions/faccessat.texi: Mention security problem under
53408         "Other problems", not "Portability problems".
53409         * doc/posix-functions/access.texi: Likewise. Mention a related security
53410         problem.
53411         * doc/glibc-functions/euidaccess.texi: Mention security problems.
53412         * lib/euidaccess.c: Add comments about platforms.
53413         * lib/unistd.in.h (access, euidaccess): Add warnings.
53415 2010-03-07  Bruno Haible  <bruno@clisp.org>
53417         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
53418         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
53419         (POSIX_SPAWN_SETSCHEDULER): Likewise.
53420         (POSIX_SPAWN_USEVFORK): Define in a way that works when
53421         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
53422         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
53423         declare when POSIX_SPAWN_SETSCHEDULER is zero.
53424         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
53425         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
53426         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
53427         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
53428         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
53429         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
53430         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
53431         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
53432         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
53433         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
53434         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
53435         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
53436         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
53437         Likewise.
53438         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
53439         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
53440         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
53441         Likewise.
53442         * tests/test-spawn.c (main): Make it work when
53443         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
53445 2010-03-07  Bruno Haible  <bruno@clisp.org>
53447         Fix incorrect Makefile.am generation in German locale.
53448         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53449         Execute sed command with character range in C locale.
53451 2010-03-06  Bruno Haible  <bruno@clisp.org>
53453         Tests for module 'iconv-h'.
53454         * modules/iconv-h-tests: New file.
53455         * tests/test-iconv-h.c: New file.
53457         New module 'iconv-h'.
53458         * modules/iconv-h: New file.
53459         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
53460         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
53461         (configure.ac): Remove gl_ICONV_H.
53462         (Makefile.am): Remove rule for iconv.h.
53464 2010-03-06  Bruno Haible  <bruno@clisp.org>
53466         More consistent naming of *.m4 files.
53467         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
53468         * modules/wctype (Files): Update.
53470         More consistent naming of *.m4 files.
53471         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
53472         * modules/wchar (Files): Update.
53474 2010-03-06  Jim Meyering  <meyering@redhat.com>
53476         euidaccess: relax license to LGPLv2+
53477         * modules/euidaccess (License): Relax to LGPLv2+.
53479 2010-03-06  Bruno Haible  <bruno@clisp.org>
53481         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
53482         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
53483         (Makefile.am): Augment lib_SOURCES instead.
53485 2010-03-04  Jim Meyering  <meyering@redhat.com>
53487         utime: remove obsolete module
53488         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
53489         unnecessary for years, and has been marked as obsolete for 10 months.
53490         * modules/utime: Remove file.
53491         * lib/utime.c: Remove file.
53492         * m4/utime.m4: Remove file.
53493         * m4/utimes-null.m4: Remove file.
53494         * doc/posix-functions/utime.texi (utime): Remove reference to
53495         the module.  Move the sole "fixed by gnulib" item into the
53496         "problems not fixed by Gnulib" list.
53497         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
53499 2010-03-05  Simon Josefsson  <simon@josefsson.org>
53501         * modules/exit (License): Relax license to LGPLv2+.
53502         (Status): Mark as obsolete.
53503         * NEWS: Mention deprecated 'exit' module.
53504         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
53505         of now obsolete 'exit'.
53507 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53509         fts-lgpl: remove unused module
53510         * modules/fts-lgpl: Remove.
53511         * MODULES.html.sh (func_all_modules): Adjust.
53512         * check-module (find_included_lib_files): Adjust.
53513         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
53515 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
53517         copy-acl: enhance Solaris ACL error handling
53518         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
53519         * lib/set-mode-acl.c (qset_acl): Likewise.
53521 2010-03-02  Bruno Haible  <bruno@clisp.org>
53523         spawn: Don't override the system defined values on FreeBSD 8.
53524         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
53525         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
53526         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
53527         if HAVE_POSIX_SPAWN is 1.
53528         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
53530 2010-03-01  Bruno Haible  <bruno@clisp.org>
53532         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
53533         regarding Automake.
53535 2010-02-25  Bruno Haible  <bruno@clisp.org>
53537         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
53538         * gnulib-tool: Define 'echo' as a function only before the ksh alias
53539         setting, not afterwards.
53540         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
53542 2010-02-24  Eric Blake  <eblake@redhat.com>
53544         bootstrap, git-version-gen: use timestamp
53545         * build-aux/git-version-gen (scriptversion): Force UTC.
53546         * build-aux/bootstrap (scriptversion): New variable.
53548         bootstrap: allow older git
53549         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
53550         older than 1.6.4.  Requested by the libvirt project.
53552 2010-02-23  Eric Blake  <eblake@redhat.com>
53554         warn-on-use: work with old autoconf
53555         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
53556         AS_VAR semantics of autoconf 2.60.
53557         Reported by Bruno Haible.
53559         bootstrap: improve some comments
53560         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
53561         clarification comments.
53563         gettimeofday: provide correct function
53564         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
53565         when replacement is declared, otherwise provide gettimeofday.
53566         Reported by Michael Goffioul.
53568 2010-02-23  Jim Meyering  <meyering@redhat.com>
53570         lib-ignore: relax license to "unlimited", not LGPLv2+
53571         * modules/lib-ignore (License): Relax to "unlimited".
53573 2010-02-23  Jim Meyering  <meyering@redhat.com>
53575         lib-ignore: relax license to LGPLv2+
53576         * modules/lib-ignore (License): Relax to LGPLv2+.
53578 2010-02-22  Eric Blake  <eblake@redhat.com>
53580         lseek: avoid bash 3.2 broken pipe bug
53581         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
53582         warning from bash 3.2.
53583         Reported by Ben Pfaff, with analysis from Bruno Haible.
53585         bootstrap: support non-FSF copyright holder
53586         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
53587         bootstrap.conf override of COPYRIGHT_HOLDER.
53588         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
53590         bootstrap: interoperate with gettext 0.14.1
53591         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
53593         bootstrap: allow for alternate submodule location
53594         * build-aux/bootstrap (gnulib_path): New variable; use instead of
53595         hardcoding submodule location.
53596         (gnulib_mk): Allow direct use of Makefile.am.
53598         bootstrap: use GNULIB_SRCDIR to reduce disk usage
53599         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
53600         rather than reconfiguring where the submodule points.
53602         gettimeofday: restore support for platforms that lack function
53603         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
53604         replacement if function is missing.
53605         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
53606         * modules/sys_time (Makefile.am): Substitute it.
53607         * lib/sys_time.in.h (gettimeofday): Check it.
53608         Reported by Michael Goffioul.
53610 2010-02-21  Bruno Haible  <bruno@clisp.org>
53612         * lib/stdio.in.h (obstack_printf): Fix typo.
53614 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
53616         vc-list-files: use bzr ls's -R option
53617         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
53618         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
53620 2010-02-21  Jim Meyering  <meyering@redhat.com>
53622         init.sh: fix EXEEXT shims to work also for names like test-prog
53623         * tests/init.sh: Re-exec a better shell, when needed.
53624         If the current shell lacks support for posix $(...), an init.sh-using
53625         test will now try to find a shell that supports that.  If EXEEXT is
53626         nonempty, we also require support for hyphen-in-alias-name and shell
53627         substitutions like ${var#glob}.  Failure to find such a shell results
53628         in a skipped test.
53630 2010-02-21  Bruno Haible  <bruno@clisp.org>
53632         Really work around "broken pipe" error message from bash 3.2.
53633         * gnulib-tool (func_reset_sigpipe): Remove function.
53634         (echo): In bash 3.2, define to a function that uses printf.
53635         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
53637 2010-02-20  Bruno Haible  <bruno@clisp.org>
53639         Restore support for automake 1.9.6 with autoconf 2.61.
53640         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
53641         Reported by James Youngman <jay@gnu.org>.
53643 2010-02-20  Bruno Haible  <bruno@clisp.org>
53645         Improve *printf warning condition.
53646         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
53647         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
53648         and the function is overridden due to SIGPIPE emulation.
53650 2010-02-20  Bruno Haible  <bruno@clisp.org>
53652         * lib/stdio.in.h: Tweak comments.
53654 2010-02-19  Bruno Haible  <bruno@clisp.org>
53656         Make it easier to find modules. New gnulib-tool option '--find'.
53657         * gnulib-tool: New option --find.
53658         (func_usage): Document it.
53659         (func_sanitize_modulelist): New function, extracted from
53660         func_all_modules.
53661         (func_all_modules): Invoke it.
53662         * doc/gnulib-tool.texi (Which modules?): New node.
53664 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
53666         * lib/sys_select.in.h: Provide select replacement even if
53667         sys/select.h exists on a system, for Interix.
53669 2010-02-18  Jim Meyering  <meyering@redhat.com>
53671         init.sh: don't use $(...) just yet
53672         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
53673         to accommodate e.g., Solaris' /bin/sh.
53675 2010-02-17  Bruno Haible  <bruno@clisp.org>
53677         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
53678         Reported by Ludovic Courtès <ludo@gnu.org>.
53680 2010-02-16  Simon Josefsson  <simon@josefsson.org>
53682         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
53683         linking with -lintl.
53685 2010-02-17  Simon Josefsson  <simon@josefsson.org>
53687         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
53688         if not provided by the system's netdb.h.  Reported by
53689         ludo@gnu.org (Ludovic Courtès).
53691 2010-02-15  Jim Meyering  <meyering@redhat.com>
53693         init.sh: improve portability and efficiency
53694         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
53695         "dummy" in a for loop.
53696         Use '!', not '^' to select the complement of a character set used
53697         in a "case" statement.
53698         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
53699         Suggestions from Eric Blake.
53701         init.sh: automatically accommodate programs with the .exe suffix
53702         Automatically arrange for an invocation of "prog" to execute the
53703         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
53704         may use the simpler "prog", yet still work when built on a system
53705         that requires specifying the added suffix.
53706         Do this by constructing a function named "prog" that invokes
53707         "prog.exe" for each .exe file in selected directories.
53708         * tests/init.sh (find_exe_basenames_): New function.
53709         (create_exe_shim_functions_): New function.
53710         (path_prepend_): Use it.
53712         maint.mk: mark syntax-check sc_*.m rules as .PHONY
53713         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
53714         "make -t syntax-check" doesn't create a ton of sc_*.m files.
53716 2010-02-14  Jim Meyering  <meyering@redhat.com>
53718         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
53719         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
53720         (sc_prohibit_hash_pjw_without_use): New rule.
53722         maint.mk: allow the default upload destination dir to be overridden
53723         * top/maint.mk (upload_dest_dir_): Define with a default that
53724         preserves the status quo.
53725         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
53726         Reported by Peter Simons.
53728         maint.mk: prohibit inclusion of "hash.h" without_use
53729         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
53731 2010-02-10  Jim Meyering  <meyering@redhat.com>
53733         maint.mk: prohibit inclusion of "ignore-value.h" without_use
53734         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
53736 2010-02-09  Eric Blake  <ebb9@byu.net>
53737         and Bruno Haible  <bruno@clisp.org>
53739         obstack-printf-posix: ensure declaration
53740         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
53741         extracted from gl_FUNC_OBSTACK_PRINTF.
53742         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
53743         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
53744         Likewise.
53745         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
53746         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
53747         0.
53749 2010-02-08  Bruno Haible  <bruno@clisp.org>
53751         gnulib-tool: Fix typo in 2010-02-07 commit.
53752         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
53753         Reported by Eric Blake.
53755 2010-02-07  Bruno Haible  <bruno@clisp.org>
53757         gnulib-tool: Fix up caching patches.
53758         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
53759         option --no-cache. Use associative arrays when supported by the shell.
53760         (sed_comments): New variable.
53761         (modcache): Renamed from do_cache.
53762         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
53763         abbreviate unnecessarily.
53764         (have_associative): New variable.
53765         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
53766         way also for ksh and zsh.
53767         (func_init_sed_convert_to_cache_statements): New function, extracted
53768         from func_cache_lookup_module. Add support for associative arrays.
53769         Don't set the c_MODULE_cached variable here. Ignore all lines before
53770         the first field header. Remove only the final newline, not all trailing
53771         newlines. Support empty fields correctly. Limit the use of 'eval' to
53772         assignments.
53773         (func_get_description, func_get_status, func_get_notice,
53774         func_get_applicability, func_get_filelist, func_get_dependencies,
53775         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
53776         func_get_automake_snippet, func_get_include_directive,
53777         func_get_link_directive, func_get_license, func_get_maintainer):
53778         Update documentation. List the unoptimized code first. Add support for
53779         associative arrays. Limit the use of 'eval' to assignments.
53780         (func_get_applicability): Undo stylistic pessimisations.
53781         (func_get_automake_snippet, func_get_include_directive): Reduce code
53782         duplication.
53783         (func_modules_transitive_closure, func_modules_add_dummy,
53784         func_modules_notice, func_modules_to_filelist, func_add_file,
53785         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
53786         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
53787         func_create_testdir, func_create_megatestdir): Update documentation.
53789 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53791         * gnulib-tool (func_cache_lookup_module): Store the module name
53792         belonging to the cache variable; error out if two different
53793         module names map to the same cache variable name.
53795 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53797         gnulib-tool: Make caching optional.
53798         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
53799         Update matching short versions of --no-changelog.
53800         (func_usage): Update.
53801         (sed_extract_cache_prog): Renamed from ...
53802         (sed_extract_prog): ... this; revert to old extraction script.
53803         (func_get_description, func_get_status)
53804         (func_get_notice, func_get_applicability, func_get_filelist)
53805         (func_get_dependencies, func_get_autoconf_early_snippet)
53806         (func_get_autoconf_snippet, func_get_automake_snippet)
53807         (func_get_include_directive, func_get_link_directive)
53808         (func_get_license, func_get_maintainer): If $do_cache is false,
53809         use old, non-caching extraction scripts.
53810         Suggestion by Bruno Haible.
53812 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53814         gnulib-tool: cache module metainformation.
53815         * gnulib-tool (sed_extract_prog): Match newline before each
53816         header, and rewrite header to a shell variable suffix.
53817         (func_cache_var, func_cache_lookup_module): New functions,
53818         to turn a module name into a cache variable prefix, and to
53819         look up and cache module metainformation.
53820         (func_get_description, func_get_status)
53821         (func_get_notice, func_get_applicability, func_get_filelist)
53822         (func_get_dependencies, func_get_autoconf_early_snippet)
53823         (func_get_autoconf_snippet, func_get_automake_snippet)
53824         (func_get_include_directive, func_get_link_directive)
53825         (func_get_license, func_get_maintainer): Use
53826         func_cache_lookup_module.
53828 2010-02-07  Bruno Haible  <bruno@clisp.org>
53830         fnctl: Fix missing dependency.
53831         * modules/fcntl (Depends-on): Add getdtablesize.
53832         Reported by John W. Eaton <jwe@gnu.org>.
53834 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
53836         Argp: fix recognition of short alias options.
53838         * lib/argp-parse.c (convert_options): Fix improper use of
53839         `|' between character values.
53840         * tests/test-argp.c (group1_option): New alias option
53841         --read (-r).
53842         (group1_parser): Special handling for 'r'.
53843         (test15): New test case.
53844         (test_fun): Add test15.
53845         * tests/test-argp-2.sh: Update expected --help and --usage
53846         outputs.
53848 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
53850         * tests/test-argp.c: Fix indentation.
53852 2010-02-04  Eric Blake  <ebb9@byu.net>
53854         gettimeofday: expose type of second argument
53855         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
53856         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
53857         * tests/test-gettimeofday.c: Use it to silence warning.
53858         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
53859         the issue.
53861 2010-02-03  Jim Meyering  <meyering@redhat.com>
53863         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
53864         * lib/regcomp.c (TYPE_SIGNED): Define.
53865         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
53867         regcomp.c: avoid a new -Wshadow warning
53868         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
53870 2010-02-01  Jim Meyering  <meyering@redhat.com>
53872         removing useless parentheses in cpp #define directives
53873         For motivation, see commit c0221df4, "define STREQ(a,b)
53874         consistently, removing useless parentheses"
53875         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
53876         * lib/mountlist.c (MNT_IGNORE): Likewise.
53877         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
53879 2010-02-01  Eric Blake  <ebb9@byu.net>
53881         sys_time: use link-warning
53882         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
53883         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
53884         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
53885         * modules/sys_time (Depends-on): Add warn-on-use.
53886         (Makefile.am): Always build replacement.
53887         (configure.ac): Update substitutions.
53888         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
53889         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
53890         bother with SYS_TIME_H.
53891         * modules/gettimeofday (configure.ac): Declare indicator.
53892         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
53893         in use.
53895         closein-tests: silence compiler warning
53896         * tests/test-closein.c (main): Ignore fread result.
53897         * modules/closein-tests (Depends-on): Add ignore-value.
53899         tests: silence warning about system return
53900         * tests/test-areadlink-with-size.c (main): Ignore system result.
53901         * tests/test-areadlink.c (main): Likewise.
53902         * tests/test-areadlinkat-with-size.c (main): Likewise.
53903         * tests/test-areadlinkat.c (main): Likewise.
53904         * tests/test-canonicalize-lgpl.c (main): Likewise.
53905         * tests/test-canonicalize.c (main): Likewise.
53906         * tests/test-chown.c (main): Likewise.
53907         * tests/test-fchownat.c (main): Likewise.
53908         * tests/test-fdutimensat.c (main): Likewise.
53909         * tests/test-fstatat.c (main): Likewise.
53910         * tests/test-futimens.c (main): Likewise.
53911         * tests/test-lchown.c (main): Likewise.
53912         * tests/test-link.c (main): Likewise.
53913         * tests/test-linkat.c (main): Likewise.
53914         * tests/test-lstat.c (main): Likewise.
53915         * tests/test-mkdir.c (main): Likewise.
53916         * tests/test-mkdirat.c (main): Likewise.
53917         * tests/test-mkfifo.c (main): Likewise.
53918         * tests/test-mkfifoat.c (main): Likewise.
53919         * tests/test-mknod.c (main): Likewise.
53920         * tests/test-readlink.c (main): Likewise.
53921         * tests/test-remove.c (main): Likewise.
53922         * tests/test-rename.c (main): Likewise.
53923         * tests/test-renameat.c (main): Likewise.
53924         * tests/test-rmdir.c (main): Likewise.
53925         * tests/test-symlink.c (main): Likewise.
53926         * tests/test-symlinkat.c (main): Likewise.
53927         * tests/test-unlink.c (main): Likewise.
53928         * tests/test-unlinkat.c (main): Likewise.
53929         * tests/test-utimens.c (main): Likewise.
53930         * tests/test-utimensat.c (main): Likewise.
53931         * modules/areadlink-tests (Depends-on): Add ignore-value.
53932         * modules/areadlink-with-size-tests (Depends-on): Likewise.
53933         * modules/areadlinkat-tests (Depends-on): Likewise.
53934         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
53935         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
53936         * modules/canonicalize-tests (Depends-on): Likewise.
53937         * modules/chown-tests (Depends-on): Likewise.
53938         * modules/fdutimensat-tests (Depends-on): Likewise.
53939         * modules/futimens-tests (Depends-on): Likewise.
53940         * modules/lchown-tests (Depends-on): Likewise.
53941         * modules/link-tests (Depends-on): Likewise.
53942         * modules/linkat-tests (Depends-on): Likewise.
53943         * modules/lstat-tests (Depends-on): Likewise.
53944         * modules/mkdir-tests (Depends-on): Likewise.
53945         * modules/mkfifo-tests (Depends-on): Likewise.
53946         * modules/mkfifoat-tests (Depends-on): Likewise.
53947         * modules/mknod-tests (Depends-on): Likewise.
53948         * modules/openat-tests (Depends-on): Likewise.
53949         * modules/readlink-tests (Depends-on): Likewise.
53950         * modules/remove-tests (Depends-on): Likewise.
53951         * modules/rename-tests (Depends-on): Likewise.
53952         * modules/renameat-tests (Depends-on): Likewise.
53953         * modules/rmdir-tests (Depends-on): Likewise.
53954         * modules/symlink-tests (Depends-on): Likewise.
53955         * modules/symlinkat-tests (Depends-on): Likewise.
53956         * modules/unlink-tests (Depends-on): Likewise.
53957         * modules/utimens-tests (Depends-on): Likewise.
53958         * modules/utimensat-tests (Depends-on): Likewise.
53960 2010-01-31  Bruno Haible  <bruno@clisp.org>
53962         Perform the same test for many <math.h> functions.
53963         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
53964         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
53965         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
53966         of gl_MATHFUNC.
53967         * modules/acos (configure.ac): Likewise.
53968         * modules/asin (configure.ac): Likewise.
53969         * modules/atan (configure.ac): Likewise.
53970         * modules/atan2 (configure.ac): Likewise.
53971         * modules/cbrt (configure.ac): Likewise.
53972         * modules/copysign (configure.ac): Likewise.
53973         * modules/cos (configure.ac): Likewise.
53974         * modules/cosh (configure.ac): Likewise.
53975         * modules/erf (configure.ac): Likewise.
53976         * modules/erfc (configure.ac): Likewise.
53977         * modules/exp (configure.ac): Likewise.
53978         * modules/fmod (configure.ac): Likewise.
53979         * modules/hypot (configure.ac): Likewise.
53980         * modules/j0 (configure.ac): Likewise.
53981         * modules/j1 (configure.ac): Likewise.
53982         * modules/jn (configure.ac): Likewise.
53983         * modules/lgamma (configure.ac): Likewise.
53984         * modules/log (configure.ac): Likewise.
53985         * modules/log10 (configure.ac): Likewise.
53986         * modules/log1p (configure.ac): Likewise.
53987         * modules/pow (configure.ac): Likewise.
53988         * modules/remainder (configure.ac): Likewise.
53989         * modules/sin (configure.ac): Likewise.
53990         * modules/sinh (configure.ac): Likewise.
53991         * modules/tan (configure.ac): Likewise.
53992         * modules/tanh (configure.ac): Likewise.
53993         * modules/y0 (configure.ac): Likewise.
53994         * modules/y1 (configure.ac): Likewise.
53995         * modules/yn (configure.ac): Likewise.
53996         Suggested by Paolo Bonzini.
53998 2010-01-31  Bruno Haible  <bruno@clisp.org>
54000         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
54002 2010-01-31  Bruno Haible  <bruno@clisp.org>
54004         Work around getdelim() bug on FreeBSD 8.0.
54005         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
54006         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
54007         not work.
54008         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
54009         is 1.
54010         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
54011         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
54012         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
54013         a non-zero size.
54014         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
54016 2010-01-31  Bruno Haible  <bruno@clisp.org>
54018         Work around getline() bug on FreeBSD 8.0.
54019         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
54020         and a non-zero size.
54021         * tests/test-getline.c (main): Likewise.
54022         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
54023         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
54025 2010-01-28  Eric Blake  <ebb9@byu.net>
54027         regex: fix build failure
54028         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
54029         platforms.
54031 2010-01-28  Jim Meyering  <meyering@redhat.com>
54033         regex: do not ignore memory allocation failure
54034         * lib/regex_internal.c (create_cd_newstate): Detect
54035         re_node_set_init_copy failure.   Extracted from glibc commit
54036         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
54038         regex: sync more white-space changes from libc
54039         * lib/regex_internal.c: White-space only changes.
54040         * lib/regexec.c: Likewise.
54042         regex: add many uses of __attribute_warn_unused_result__
54043         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
54044         * lib/regexec.c: Likewise.
54045         Extracted from a messy glibc commit.
54047         regcomp.c: spelling and merge-artifact from glibc
54048         * lib/regcomp.c: Merge remainder of glibc's
54049         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
54051         regcomp.c: sync white-space changes from glibc
54052         * lib/regcomp.c: Merge to accommodate white space
54053         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
54055         regcomp.c: do not ignore internal return values
54056         * lib/regcomp.c: Do not ignore internal return values.
54057         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
54058         but without its white-space changes and spelling fixes.
54060         regex_internal.h: define __attribute_warn_unused_result__
54061         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
54063         maint: add a syntax-check rule to check for vulnerable Makefile.in
54064         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
54066 2010-01-27  Jim Meyering  <meyering@redhat.com>
54068         ncftpput-ftp: clean up spaces
54069         * build-aux/ncftpput-ftp: Make Copyright line consistent.
54070         Remove trailing blanks.
54072 2010-01-27  Simon Josefsson  <simon@josefsson.org>
54074         * build-aux/git-version-gen: Fix copyright statement.
54075         * build-aux/gnupload: Likewise.
54076         * tests/test-arcfour.c: Likewise.
54077         * tests/test-arctwo.c: Likewise.
54078         * tests/test-count-one-bits.c: Likewise.
54079         * tests/test-crc.c: Likewise.
54080         * tests/test-des.c: Likewise.
54081         * tests/test-gc-arcfour.c: Likewise.
54082         * tests/test-gc-arctwo.c: Likewise.
54083         * tests/test-gc-des.c: Likewise.
54084         * tests/test-gc-hmac-md5.c: Likewise.
54085         * tests/test-gc-hmac-sha1.c: Likewise.
54086         * tests/test-gc-md2.c: Likewise.
54087         * tests/test-gc-md4.c: Likewise.
54088         * tests/test-gc-md5.c: Likewise.
54089         * tests/test-gc-pbkdf2-sha1.c: Likewise.
54090         * tests/test-gc-rijndael.c: Likewise.
54091         * tests/test-gc-sha1.c: Likewise.
54092         * tests/test-gc.c: Likewise.
54093         * tests/test-gethostname.c: Likewise.
54094         * tests/test-gettimeofday.c: Likewise.
54095         * tests/test-hash.c: Likewise.
54096         * tests/test-hmac-md5.c: Likewise.
54097         * tests/test-hmac-sha1.c: Likewise.
54098         * tests/test-md2.c: Likewise.
54099         * tests/test-md4.c: Likewise.
54100         * tests/test-md5.c: Likewise.
54101         * tests/test-memchr.c: Likewise.
54102         * tests/test-memchr2.c: Likewise.
54103         * tests/test-memcmp.c: Likewise.
54104         * tests/test-memmem.c: Likewise.
54105         * tests/test-memrchr.c: Likewise.
54106         * tests/test-rawmemchr.c: Likewise.
54107         * tests/test-read-file.c: Likewise.
54108         * tests/test-rijndael.c: Likewise.
54109         * tests/test-sockets.c: Likewise.
54110         * tests/test-strchrnul.c: Likewise.
54111         * tests/test-strstr.c: Likewise.
54112         * tests/test-strtod.c: Likewise.
54113         * build-aux/ncftpput-ftp: Likewise.
54115 2010-01-26  Eric Blake  <ebb9@byu.net>
54117         ignore-value: update recommended header name
54118         * modules/ignore-value (Include): Only use <> for headers that
54119         exist in glibc.
54121 2010-01-26  Jim Meyering  <meyering@redhat.com>
54123         test-userspec.c: avoid compiler warnings
54124         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
54125         and "initialization discards qualifiers..." warnings.
54126         Put the first "uid" in its own scope, and make char* members "const".
54128 2010-01-25  Bruno Haible  <bruno@clisp.org>
54130         gnulib-tool: Make warning diagnostics consistent.
54131         * gnulib-tool (func_warning): New function.
54132         Use it everywhere where gnulib-tool produces output to stderr and it is
54133         not a fatal error.
54135 2010-01-25  Bruno Haible  <bruno@clisp.org>
54137         Fix test dependencies.
54138         * modules/xstrtol-tests (Depends-on): Add inttypes.
54139         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
54141 2010-01-25  Pádraig Brady  <P@draigBrady.com>
54143         syntax-check: detect incorrect boolean macro values in config.h
54144         * modules/maintainer-makefile (configure.ac): Parameterize the location
54145         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
54146         The logic is from Eric Blake and the location indicated by Jim Meyering.
54147         Note the more natural CONFIG_HEADER name is prohibited by automake
54148         for backwards compatibility reasons.
54149         * top/maint.mk (sc_Wundef_boolean): New rule.
54151 2010-01-25  Jim Meyering  <meyering@redhat.com>
54153         bootstrap: detect MacOS 10.6's shasum, too
54154         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
54155         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
54157 2010-01-23  Jim Meyering  <meyering@redhat.com>
54159         xstrtoll: new module
54160         * modules/xstrtoll: New file.
54161         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
54162         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
54163         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
54164         ./configure fails if you use this module and lack "long long".
54165         * modules/xstrtoll-tests: New module.
54166         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
54167         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
54168         new init.sh-based test framework.
54170 2010-01-24  Bruno Haible  <bruno@clisp.org>
54172         Tests for module 'yn'.
54173         * modules/yn-tests: New file.
54174         * tests/test-yn.c: New file.
54176         Tests for module 'y1'.
54177         * modules/y1-tests: New file.
54178         * tests/test-y1.c: New file.
54180         Tests for module 'y0'.
54181         * modules/y0-tests: New file.
54182         * tests/test-y0.c: New file.
54184         Tests for module 'tanh'.
54185         * modules/tanh-tests: New file.
54186         * tests/test-tanh.c: New file.
54188         Tests for module 'tan'.
54189         * modules/tan-tests: New file.
54190         * tests/test-tan.c: New file.
54192         Tests for module 'sqrt'.
54193         * modules/sqrt-tests: New file.
54194         * tests/test-sqrt.c: New file.
54196         Tests for module 'sinh'.
54197         * modules/sinh-tests: New file.
54198         * tests/test-sinh.c: New file.
54200         Tests for module 'sin'.
54201         * modules/sin-tests: New file.
54202         * tests/test-sin.c: New file.
54204         Tests for module 'rint'.
54205         * modules/rint-tests: New file.
54206         * tests/test-rint.c: New file.
54208         Tests for module 'remainder'.
54209         * modules/remainder-tests: New file.
54210         * tests/test-remainder.c: New file.
54212         Tests for module 'pow'.
54213         * modules/pow-tests: New file.
54214         * tests/test-pow.c: New file.
54216         Tests for module 'nextafter'.
54217         * modules/nextafter-tests: New file.
54218         * tests/test-nextafter.c: New file.
54220         Tests for module 'modf'.
54221         * modules/modf-tests: New file.
54222         * tests/test-modf.c: New file.
54224         Tests for module 'logb'.
54225         * modules/logb-tests: New file.
54226         * tests/test-logb.c: New file.
54228         Tests for module 'log1p'.
54229         * modules/log1p-tests: New file.
54230         * tests/test-log1p.c: New file.
54232         Tests for module 'log10'.
54233         * modules/log10-tests: New file.
54234         * tests/test-log10.c: New file.
54236         Tests for module 'log'.
54237         * modules/log-tests: New file.
54238         * tests/test-log.c: New file.
54240         Tests for module 'lgamma'.
54241         * modules/lgamma-tests: New file.
54242         * tests/test-lgamma.c: New file.
54244         Tests for module 'ldexp'.
54245         * modules/ldexp-tests: New file.
54246         * tests/test-ldexp.c: New file.
54248         Tests for module 'jn'.
54249         * modules/jn-tests: New file.
54250         * tests/test-jn.c: New file.
54252         Tests for module 'j1'.
54253         * modules/j1-tests: New file.
54254         * tests/test-j1.c: New file.
54256         Tests for module 'j0'.
54257         * modules/j0-tests: New file.
54258         * tests/test-j0.c: New file.
54260         Tests for module 'hypot'.
54261         * modules/hypot-tests: New file.
54262         * tests/test-hypot.c: New file.
54264         Tests for module 'fmod'.
54265         * modules/fmod-tests: New file.
54266         * tests/test-fmod.c: New file.
54268         Tests for module 'fabs'.
54269         * modules/fabs-tests: New file.
54270         * tests/test-fabs.c: New file.
54272         Tests for module 'exp'.
54273         * modules/exp-tests: New file.
54274         * tests/test-exp.c: New file.
54276         Tests for module 'erfc'.
54277         * modules/erfc-tests: New file.
54278         * tests/test-erfc.c: New file.
54280         Tests for module 'erf'.
54281         * modules/erf-tests: New file.
54282         * tests/test-erf.c: New file.
54284         Tests for module 'cosh'.
54285         * modules/cosh-tests: New file.
54286         * tests/test-cosh.c: New file.
54288         Tests for module 'cos'.
54289         * modules/cos-tests: New file.
54290         * tests/test-cos.c: New file.
54292         Tests for module 'copysign'.
54293         * modules/copysign-tests: New file.
54294         * tests/test-copysign.c: New file.
54296         Tests for module 'cbrt'.
54297         * modules/cbrt-tests: New file.
54298         * tests/test-cbrt.c: New file.
54300         Tests for module 'atan2'.
54301         * modules/atan2-tests: New file.
54302         * tests/test-atan2.c: New file.
54304         Tests for module 'atan'.
54305         * modules/atan-tests: New file.
54306         * tests/test-atan.c: New file.
54308         Tests for module 'asin'.
54309         * modules/asin-tests: New file.
54310         * tests/test-asin.c: New file.
54312         Tests for module 'acos'.
54313         * modules/acos-tests: New file.
54314         * tests/test-acos.c: New file.
54316 2010-01-24  Bruno Haible  <bruno@clisp.org>
54318         Fix tests for common <math.h> functions.
54319         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
54320         code snippet that references the function pointer, rather than merely
54321         calling the function. Substitute the FUNC_LIBM variable.
54322         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
54323         * modules/acos (configure.ac): Likewise.
54324         * modules/asin (configure.ac): Likewise.
54325         * modules/atan (configure.ac): Likewise.
54326         * modules/atan2 (configure.ac): Likewise.
54327         * modules/cbrt (configure.ac): Likewise.
54328         * modules/copysign (configure.ac): Likewise.
54329         * modules/cos (configure.ac): Likewise.
54330         * modules/cosh (configure.ac): Likewise.
54331         * modules/erf (configure.ac): Likewise.
54332         * modules/erfc (configure.ac): Likewise.
54333         * modules/exp (configure.ac): Likewise.
54334         * modules/fabs (configure.ac): Likewise.
54335         * modules/fmod (configure.ac): Likewise.
54336         * modules/hypot (configure.ac): Likewise.
54337         * modules/j0 (configure.ac): Likewise.
54338         * modules/j1 (configure.ac): Likewise.
54339         * modules/jn (configure.ac): Likewise.
54340         * modules/ldexp (configure.ac): Likewise.
54341         * modules/lgamma (configure.ac): Likewise.
54342         * modules/log (configure.ac): Likewise.
54343         * modules/log10 (configure.ac): Likewise.
54344         * modules/log1p (configure.ac): Likewise.
54345         * modules/logb (configure.ac): Likewise.
54346         * modules/modf (configure.ac): Likewise.
54347         * modules/nextafter (configure.ac): Likewise.
54348         * modules/pow (configure.ac): Likewise.
54349         * modules/remainder (configure.ac): Likewise.
54350         * modules/rint (configure.ac): Likewise.
54351         * modules/sin (configure.ac): Likewise.
54352         * modules/sinh (configure.ac): Likewise.
54353         * modules/tan (configure.ac): Likewise.
54354         * modules/tanh (configure.ac): Likewise.
54355         * modules/y0 (configure.ac): Likewise.
54356         * modules/y1 (configure.ac): Likewise.
54357         * modules/yn (configure.ac): Likewise.
54359 2010-01-24  Bruno Haible  <bruno@clisp.org>
54361         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
54362         * tests/test-acosl.c (x): New variable.
54363         (main): Store argument in x and fetch it from x.
54364         * tests/test-asinl.c (x): New variable.
54365         (main): Store argument in x and fetch it from x.
54366         * tests/test-atanl.c (x): New variable.
54367         (main): Store argument in x and fetch it from x.
54368         * tests/test-cosl.c (x): New variable.
54369         (main): Store argument in x and fetch it from x.
54370         * tests/test-expl.c (x): New variable.
54371         (main): Store argument in x and fetch it from x.
54372         * tests/test-logl.c (x): New variable.
54373         (main): Store argument in x and fetch it from x.
54374         * tests/test-sinl.c (x): New variable.
54375         (main): Store argument in x and fetch it from x.
54376         * tests/test-sqrtl.c (x): New variable.
54377         (main): Store argument in x and fetch it from x.
54378         * tests/test-tanl.c (x): New variable.
54379         (main): Store argument in x and fetch it from x.
54381 2010-01-24  Bruno Haible  <bruno@clisp.org>
54383         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
54384         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
54385         assignments to the initial TESTS_ENVIRONMENT.
54386         * doc/gnulib.texi (Unit test modules): Document it.
54387         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
54388         TESTS_ENVIRONMENT.
54389         * modules/btowc-tests (Makefile.am): Likewise.
54390         * modules/c-stack-tests (Makefile.am): Likewise.
54391         * modules/c-strcase-tests (Makefile.am): Likewise.
54392         * modules/copy-file-tests (Makefile.am): Likewise.
54393         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
54394         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
54395         * modules/mbrtowc-tests (Makefile.am): Likewise.
54396         * modules/mbscasecmp-tests (Makefile.am): Likewise.
54397         * modules/mbscasestr-tests (Makefile.am): Likewise.
54398         * modules/mbschr-tests (Makefile.am): Likewise.
54399         * modules/mbscspn-tests (Makefile.am): Likewise.
54400         * modules/mbsinit-tests (Makefile.am): Likewise.
54401         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
54402         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
54403         * modules/mbspbrk-tests (Makefile.am): Likewise.
54404         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
54405         * modules/mbsrchr-tests (Makefile.am): Likewise.
54406         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
54407         * modules/mbsspn-tests (Makefile.am): Likewise.
54408         * modules/mbsstr-tests (Makefile.am): Likewise.
54409         * modules/nl_langinfo-tests (Makefile.am): Likewise.
54410         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
54411         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
54412         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
54413         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
54414         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
54415         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
54416         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
54417         * modules/wcrtomb-tests (Makefile.am): Likewise.
54418         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
54419         * modules/wcsrtombs-tests (Makefile.am): Likewise.
54420         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
54421         assignments from TESTS_ENVIRONMENT.
54422         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
54423         augmentation.
54424         * modules/argp-version-etc-tests (Makefile.am): Likewise.
54425         * modules/atexit-tests (Makefile.am): Likewise.
54426         * modules/binary-io-tests (Makefile.am): Likewise.
54427         * modules/closein-tests (Makefile.am): Likewise.
54428         * modules/dprintf-posix-tests (Makefile.am): Likewise.
54429         * modules/exclude-tests (Makefile.am): Likewise.
54430         * modules/fflush-tests (Makefile.am): Likewise.
54431         * modules/fpending-tests (Makefile.am): Likewise.
54432         * modules/fprintf-posix-tests (Makefile.am): Likewise.
54433         * modules/freadahead-tests (Makefile.am): Likewise.
54434         * modules/freadptr-tests (Makefile.am): Likewise.
54435         * modules/freadseek-tests (Makefile.am): Likewise.
54436         * modules/fseek-tests (Makefile.am): Likewise.
54437         * modules/fseeko-tests (Makefile.am): Likewise.
54438         * modules/ftell-tests (Makefile.am): Likewise.
54439         * modules/ftello-tests (Makefile.am): Likewise.
54440         * modules/idpriv-drop-tests (Makefile.am): Likewise.
54441         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
54442         * modules/lseek-tests (Makefile.am): Likewise.
54443         * modules/parse-duration-tests (Makefile.am): Likewise.
54444         * modules/perror-tests (Makefile.am): Likewise.
54445         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
54446         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
54447         * modules/pipe-tests (Makefile.am): Likewise.
54448         * modules/pread-tests (Makefile.am): Likewise.
54449         * modules/printf-posix-tests (Makefile.am): Likewise.
54450         * modules/select-tests (Makefile.am): Likewise.
54451         * modules/sigpipe-tests (Makefile.am): Likewise.
54452         * modules/tsearch-tests (Makefile.am): Likewise.
54453         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
54454         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
54455         * modules/uniname/uniname-tests (Makefile.am): Likewise.
54456         * modules/uniwidth/width-tests (Makefile.am): Likewise.
54457         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
54458         * modules/version-etc-tests (Makefile.am): Likewise.
54459         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
54460         * modules/vprintf-posix-tests (Makefile.am): Likewise.
54461         * modules/xalloc-die-tests (Makefile.am): Likewise.
54462         * modules/xprintf-posix-tests (Makefile.am): Likewise.
54463         * modules/xstrtoimax-tests (Makefile.am): Likewise.
54464         * modules/xstrtol-tests (Makefile.am): Likewise.
54465         * modules/xstrtoumax-tests (Makefile.am): Likewise.
54466         * modules/yesno-tests (Makefile.am): Likewise.
54467         Suggested by Jim Meyering.
54469 2010-01-24  Bruno Haible  <bruno@clisp.org>
54471         More documentation.
54472         * doc/gnulib.texi (Writing modules): New chapter.
54473         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
54474         the new chapter.
54476 2010-01-24  Jim Meyering  <meyering@redhat.com>
54478         maint.mk: do not prepend "./" after filtering
54479         * top/maint.mk (_prepend_srcdir_prefix): New variable
54480         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
54481         "./" when $(srcdir) is ".".
54483         define STREQ(a,b) consistently, removing useless parentheses
54484         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
54485         since the only risk is that "a" or "b" contains an unparenthesized
54486         comma, but if either did that, STREQ would have 3 or more arguments.
54487         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
54488         * lib/fts.c (STREQ): Remove unnecessary parentheses.
54489         * lib/hash-triple.c (STREQ): Likewise.
54490         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
54491         * lib/getugroups.c (STREQ): Likewise.
54493 2010-01-23  Jim Meyering  <meyering@redhat.com>
54495         maint.mk: fix syntax-check in a non-srcdir build directory
54496         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
54497         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
54499 2010-01-22  Jim Meyering  <meyering@redhat.com>
54501         userspec: add unit tests
54502         * tests/test-userspec.c: New file.
54503         * modules/userspec-tests: Likewise.
54505 2010-01-21  Jim Meyering  <meyering@redhat.com>
54507         maint.mk: handle source file names containing "." robustly
54508         * top/maint.mk (_dot_escaped_srcdir): Define.
54509         (VC_LIST): Use it in LHS of sed substitution.
54511 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
54513         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
54514         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
54515         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
54516         from a non-srcdir build.
54518 2010-01-20  Eric Blake  <ebb9@byu.net>
54520         warn-on-use: use instead of link-warning
54521         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
54522         * modules/unistd (Depends-on, Makefile.am): Likewise.
54523         * modules/arpa_inet (Depends-on): Replace link-warning with
54524         warn-on-use.
54525         (Makefile.am): Update rules accordingly.
54526         * modules/ctype (Depends-on, Makefile.am): Likewise.
54527         * modules/dirent (Depends-on, Makefile.am): Likewise.
54528         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
54529         * modules/inttypes (Depends-on, Makefile.am): Likewise.
54530         * modules/langinfo (Depends-on, Makefile.am): Likewise.
54531         * modules/locale (Depends-on, Makefile.am): Likewise.
54532         * modules/math (Depends-on, Makefile.am): Likewise.
54533         * modules/search (Depends-on, Makefile.am): Likewise.
54534         * modules/signal (Depends-on, Makefile.am): Likewise.
54535         * modules/spawn (Depends-on, Makefile.am): Likewise.
54536         * modules/stdlib (Depends-on, Makefile.am): Likewise.
54537         * modules/string (Depends-on, Makefile.am): Likewise.
54538         * modules/strings (Depends-on, Makefile.am): Likewise.
54539         * modules/sys_file (Depends-on, Makefile.am): Likewise.
54540         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
54541         * modules/sys_select (Depends-on, Makefile.am): Likewise.
54542         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
54543         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
54544         * modules/sys_times (Depends-on, Makefile.am): Likewise.
54545         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
54546         * modules/wchar (Depends-on, Makefile.am): Likewise.
54547         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
54548         should be poisoned.
54549         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
54550         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
54551         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
54552         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54553         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
54554         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
54555         * m4/math_h.m4 (gl_MATH_H): Likewise.
54556         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
54557         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
54558         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
54559         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
54560         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
54561         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
54562         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
54563         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
54564         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
54565         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54566         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54567         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
54568         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
54569         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
54570         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
54571         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
54572         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
54573         GL_LINK_WARNING.
54574         * lib/ctype.in.h: Likewise.
54575         * lib/dirent.in.h: Likewise.
54576         * lib/fcntl.in.h: Likewise.
54577         * lib/inttypes.in.h: Likewise.
54578         * lib/langinfo.in.h: Likewise.
54579         * lib/locale.in.h: Likewise.
54580         * lib/math.in.h: Likewise.
54581         * lib/search.in.h: Likewise.
54582         * lib/signal.in.h: Likewise.
54583         * lib/spawn.in.h: Likewise.
54584         * lib/stdio.in.h: Likewise.
54585         * lib/stdlib.in.h: Likewise.
54586         * lib/string.in.h: Likewise.
54587         * lib/strings.in.h: Likewise.
54588         * lib/sys_file.in.h: Likewise.
54589         * lib/sys_ioctl.in.h: Likewise.
54590         * lib/sys_select.in.h: Likewise.
54591         * lib/sys_socket.in.h: Likewise.
54592         * lib/sys_stat.in.h: Likewise.
54593         * lib/sys_times.in.h: Likewise.
54594         * lib/sys_utsname.in.h: Likewise.
54595         * lib/unistd.in.h: Likewise.
54596         * lib/wchar.in.h: Likewise.
54598 2010-01-20  Bruno Haible  <bruno@clisp.org>
54600         Avoid duplicate -lm.
54601         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
54602         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
54603         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
54604         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
54605         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
54606         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
54607         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
54608         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
54609         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
54610         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
54611         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
54612         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
54613         Reported by Paolo Bonzini.
54615 2010-01-19  Bruno Haible  <bruno@clisp.org>
54617         langinfo, nl_langinfo: Relicense under LGPLv2+.
54618         * modules/langinfo (License): Change to LGPLv2+.
54619         * modules/nl_langinfo (License): Likewise.
54620         Patch by David Lutterkort <lutter@redhat.com>.
54622 2010-01-19  Bruno Haible  <bruno@clisp.org>
54624         Avoid compilation error with cc on OSF/1 5.1.
54625         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
54626         statement, not before.
54627         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54629 2010-01-18  Bruno Haible  <bruno@clisp.org>
54631         Avoid a link error due to the __printf__ symbol.
54632         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
54633         and 2.6.x.
54634         (__format__, __printf__): Remove definitions.
54635         * lib/argp-fmtstream.h: Likewise.
54636         * lib/argp.h: Likewise.
54637         * lib/error.h: Likewise.
54638         * lib/vasnprintf.h: Likewise.
54639         * lib/xprintf.h: Likewise.
54640         * lib/xvasprintf.h: Likewise.
54641         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54643 2010-01-18  Bruno Haible  <bruno@clisp.org>
54645         Tests for module 'tanl'.
54646         * modules/tanl-tests: New file.
54647         * tests/test-tanl.c: New file.
54649         Tests for module 'sqrtl'.
54650         * modules/sqrtl-tests: New file.
54651         * tests/test-sqrtl.c: New file.
54653         Tests for module 'sinl'.
54654         * modules/sinl-tests: New file.
54655         * tests/test-sinl.c: New file.
54657         Tests for module 'logl'.
54658         * modules/logl-tests: New file.
54659         * tests/test-logl.c: New file.
54661         Tests for module 'expl'.
54662         * modules/expl-tests: New file.
54663         * tests/test-expl.c: New file.
54665         Tests for module 'cosl'.
54666         * modules/cosl-tests: New file.
54667         * tests/test-cosl.c: New file.
54669         Tests for module 'atanl'.
54670         * modules/atanl-tests: New file.
54671         * tests/test-atanl.c: New file.
54673         Tests for module 'asinl'.
54674         * modules/asinl-tests: New file.
54675         * tests/test-asinl.c: New file.
54677         Tests for module 'acosl'.
54678         * modules/acosl-tests: New file.
54679         * tests/test-acosl.c: New file.
54681         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
54682         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
54683         tanl): Use the standard gnulib idiom.
54684         * lib/cosl.c: Don't include trigl.c and sincosl.c.
54685         * lib/sinl.c: Likewise.
54686         * lib/tanl.c: Don't include trigl.c.
54687         (kernel_tanl): Make static.
54688         * lib/sincosl.c: Include trigl.h first.
54689         * lib/trigl.c: Likewise.
54690         * m4/acosl.m4: New file.
54691         * m4/asinl.m4: New file.
54692         * m4/atanl.m4: New file.
54693         * m4/cosl.m4: New file.
54694         * m4/expl.m4: New file.
54695         * m4/logl.m4: New file.
54696         * m4/sinl.m4: New file.
54697         * m4/sqrtl.m4: New file.
54698         * m4/tanl.m4: New file.
54699         * m4/mathl.m4: Remove file.
54700         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
54701         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
54702         Don't initialize GNULIB_MATHL.
54703         * modules/acosl: New file.
54704         * modules/asinl: New file.
54705         * modules/atanl: New file.
54706         * modules/cosl: New file.
54707         * modules/expl: New file.
54708         * modules/logl: New file.
54709         * modules/sinl: New file.
54710         * modules/sqrtl: New file.
54711         * modules/tanl: New file.
54712         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
54713         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
54714         substitute GNULIB_MATHL.
54715         * modules/mathl: Rewritten.
54716         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
54717         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
54718         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
54719         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
54720         * doc/posix-functions/expl.texi: Mention the 'expl' module.
54721         * doc/posix-functions/logl.texi: Mention the 'logl' module.
54722         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
54723         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
54724         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
54726 2010-01-18  Bruno Haible  <bruno@clisp.org>
54728         sqrt: Make gl_FUNC_SQRT requirable.
54729         * m4/sqrt.m4: New file.
54730         * modules/sqrt (Files): Add it.
54731         (configure.ac): Invoke gl_FUNC_SQRT.
54733 2010-01-18  Bruno Haible  <bruno@clisp.org>
54735         New modules for common <math.h> functions.
54736         * m4/mathfunc.m4: New file.
54737         * modules/acos: New file.
54738         * modules/asin: New file.
54739         * modules/atan: New file.
54740         * modules/atan2: New file.
54741         * modules/cbrt: New file.
54742         * modules/copysign: New file.
54743         * modules/cos: New file.
54744         * modules/cosh: New file.
54745         * modules/erf: New file.
54746         * modules/erfc: New file.
54747         * modules/exp: New file.
54748         * modules/fabs: New file.
54749         * modules/fmod: New file.
54750         * modules/hypot: New file.
54751         * modules/j0: New file.
54752         * modules/j1: New file.
54753         * modules/jn: New file.
54754         * modules/ldexp: New file.
54755         * modules/lgamma: New file.
54756         * modules/log: New file.
54757         * modules/log10: New file.
54758         * modules/log1p: New file.
54759         * modules/logb: New file.
54760         * modules/modf: New file.
54761         * modules/nextafter: New file.
54762         * modules/pow: New file.
54763         * modules/remainder: New file.
54764         * modules/rint: New file.
54765         * modules/sin: New file.
54766         * modules/sinh: New file.
54767         * modules/sqrt: New file.
54768         * modules/tan: New file.
54769         * modules/tanh: New file.
54770         * modules/y0: New file.
54771         * modules/y1: New file.
54772         * modules/yn: New file.
54773         * doc/posix-functions/acos.texi: Mention the 'acos' module.
54774         * doc/posix-functions/asin.texi: Mention the 'asin' module.
54775         * doc/posix-functions/atan.texi: Mention the 'atan' module.
54776         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
54777         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
54778         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
54779         * doc/posix-functions/cos.texi: Mention the 'cos' module.
54780         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
54781         * doc/posix-functions/erf.texi: Mention the 'erf' module.
54782         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
54783         * doc/posix-functions/exp.texi: Mention the 'exp' module.
54784         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
54785         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
54786         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
54787         * doc/posix-functions/j0.texi: Mention the 'j0' module.
54788         * doc/posix-functions/j1.texi: Mention the 'j1' module.
54789         * doc/posix-functions/jn.texi: Mention the 'jn' module.
54790         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
54791         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
54792         * doc/posix-functions/log.texi: Mention the 'log' module.
54793         * doc/posix-functions/log10.texi: Mention the 'log10' module.
54794         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
54795         * doc/posix-functions/logb.texi: Mention the 'logb' module.
54796         * doc/posix-functions/modf.texi: Mention the 'modf' module.
54797         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
54798         * doc/posix-functions/pow.texi: Mention the 'pow' module.
54799         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
54800         * doc/posix-functions/rint.texi: Mention the 'rint' module.
54801         * doc/posix-functions/sin.texi: Mention the 'sin' module.
54802         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
54803         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
54804         * doc/posix-functions/tan.texi: Mention the 'tan' module.
54805         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
54806         * doc/posix-functions/y0.texi: Mention the 'y0' module.
54807         * doc/posix-functions/y1.texi: Mention the 'y1' module.
54808         * doc/posix-functions/yn.texi: Mention the 'yn' module.
54810 2010-01-18  Jim Meyering  <meyering@redhat.com>
54812         ignore-value: relax license to LGPLv2+
54813         * modules/ignore-value (License): Relax to LGPLv2+.
54815         getdate: don't leak when TZ contains two or more '"'s
54816         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
54817         double quote in TZ after the first one.
54819         readtokens: do not leak internal token_lengths buffer
54820         * lib/readtokens.c (readtokens): Free the local, lengths,
54821         when the supplied "token_lengths" parameter is NULL.
54823 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54825         Fix a couple of missing LIBTHREAD link failures on AIX.
54826         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
54827         $(LIBTHREAD).
54828         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
54830         Link test-poll against INET_PTON_LIB.
54831         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
54832         for inet_pton on Solaris 10.
54834 2010-01-17  Bruno Haible  <bruno@clisp.org>
54836         unistdio/*-sprintf: Fix typo in module description.
54837         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
54838         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
54839         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
54840         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
54841         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
54842         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
54843         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
54844         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54846 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54848         gnulib-tool: fix filelist for AIX, HP-UX ksh.
54849         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
54850         variables in shell case patterns, for AIX and HP-UX ksh.
54852         Split large sed scripts, for HP-UX sed.
54853         * modules/stdio: Split sed scripts around 50 sed commands,
54854         to avoid HP-UX limit of 99 commands, in the near future.
54855         * modules/string: Likewise.
54856         * modules/unistd: Likewise.
54858         gnulib-tool: avoid writing in the current directory.
54859         * gnulib-tool (func_emit_lib_Makefile_am)
54860         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
54861         not in the current directory, so concurrent gnulib-tool
54862         instances do not interfere.
54864 2010-01-16  Jim Meyering  <meyering@redhat.com>
54866         doc: update users.txt
54867         * users.txt: Add grep.
54868         (diffutils, gzip): Update URLs.
54870 2010-01-12  Bruno Haible  <bruno@clisp.org>
54872         posix_spawn: Avoid test failure on Cygwin.
54873         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
54874         characters.
54875         Reported by Simon Josefsson.
54877 2010-01-12  Bruno Haible  <bruno@clisp.org>
54879         * tests/test-cond.c (main): When skipping the test, show the reason.
54881 2010-01-12  Simon Josefsson  <simon@josefsson.org>
54883         * lib/striconv.c (str_cd_iconv): Avoid if before free.
54885 2010-01-12  Simon Josefsson  <simon@josefsson.org>
54887         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
54888         VC_LIST_ALWAYS_EXCLUDE_REGEX.
54890 2010-01-12  Eric Blake  <ebb9@byu.net>
54892         build: guarantee AS_VAR_IF
54893         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
54894         (gl_AS_VAR_IF): Move...
54895         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
54896         Reported by Simon Josefsson.
54898 2010-01-12  Simon Josefsson  <simon@josefsson.org>
54900         * lib/stdio.in.h: Fix typo.
54902 2010-01-12  Simon Josefsson  <simon@josefsson.org>
54904         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
54905         libgpg-error.
54907 2010-01-12  Simon Josefsson  <simon@josefsson.org>
54909         * tests/test-xalloc-die.sh: Use $EXEEXT.
54911 2010-01-12  Simon Josefsson  <simon@josefsson.org>
54912             Bruno Haible  <bruno@clisp.org>
54914         getlogin, getlogin_r: Avoid test failure.
54915         * tests/test-getlogin.c: Include <stdio.h>.
54916         (main): Skip the test when the function fails because stdin is not a
54917         tty.
54918         * tests/test-getlogin_r.c: Include <stdio.h>.
54919         (main): Skip the test when the function fails because stdin is not a
54920         tty.
54922 2010-01-11  Eric Blake  <ebb9@byu.net>
54924         tests: avoid more large file warnings
54925         * tests/test-fflush.c: Avoid warning about ftell use.
54926         * tests/test-fseek.c: Avoid warning about fseek use.
54928 2010-01-10  Bruno Haible  <bruno@clisp.org>
54930         nproc: Work better on Linux when /proc and /sys are not mounted.
54931         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
54932         as lower bound when, on glibc/Linux systems,
54933         sysconf (_SC_NPROCESSORS_CONF) returns 1.
54934         Suggested by Pádraig Brady <P@draigbrady.com>.
54935         Reported by Dmitry V. Levin <ldv@altlinux.org>.
54937         nproc: Refactor.
54938         * lib/nproc.c (num_processors_via_affinity_mask): New function,
54939         extracted from num_processors.
54940         (num_processors): Call it.
54942 2010-01-11  Jim Meyering  <meyering@redhat.com>
54944         utimecmp: avoid new warning from upcoming gcc-4.5.0
54945         * lib/utimecmp.c (BILLION): Define using #define rather than an
54946         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
54948 2010-01-11  Eric Blake  <ebb9@byu.net>
54950         math: add portability warnings for classification macros
54951         * modules/math (Depends-on): Add warn-on-use.
54952         (Makefile.am): Provide new substitutions.
54953         * m4/math_h.m4 (gl_MATH_H): Require inline.
54954         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
54955         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
54956         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
54957         implement warnings.
54959         unistd: warn on use of environ without module
54960         * modules/unistd (Depends-on): Add warn-on-use.
54961         (Makefile.am): Provide new substitutions.
54962         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
54963         * lib/unistd.in.h (environ): Wrap with a warning helper function.
54965         stdio: warn on suspicious uses
54966         * modules/stdio (Depends-on): Add warn-on-use.
54967         (Makefile.am): Provide new substitutions.
54968         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
54969         fseeko.
54970         * lib/stdio.in.h (gets): Always warn on use.
54971         (fseek, ftell): Adjust when warnings are issued, and honor
54972         _GL_NO_LARGE_FILES as a way to silence the warning.
54973         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
54974         any warning about large file offsets.
54975         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
54976         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
54977         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
54978         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
54979         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
54980         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
54981         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
54982         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
54984         warn-on-use: new module
54985         * modules/warn-on-use: New file.
54986         * build-aux/warn-on-use.h: Likewise.
54987         * m4/warn-on-use.m4: Likewise.
54988         * MODULES.html.sh (Support for building): Mention it.
54990 2010-01-10  Bruno Haible  <bruno@clisp.org>
54992         Tests for module 'unistr/u32-strdup'.
54993         * modules/unistr/u32-strdup-tests: New file.
54994         * tests/unistr/test-u32-strdup.c: New file.
54996         Tests for module 'unistr/u16-strdup'.
54997         * modules/unistr/u16-strdup-tests: New file.
54998         * tests/unistr/test-u16-strdup.c: New file.
55000         Tests for module 'unistr/u8-strdup'.
55001         * modules/unistr/u8-strdup-tests: New file.
55002         * tests/unistr/test-u8-strdup.c: New file.
55003         * tests/unistr/test-strdup.h: New file.
55005         Tests for module 'unistr/u32-strncmp'.
55006         * modules/unistr/u32-strncmp-tests: New file.
55007         * tests/unistr/test-u32-strncmp.c: New file.
55009         Tests for module 'unistr/u16-strncmp'.
55010         * modules/unistr/u16-strncmp-tests: New file.
55011         * tests/unistr/test-u16-strncmp.c: New file.
55013         Tests for module 'unistr/u8-strncmp'.
55014         * modules/unistr/u8-strncmp-tests: New file.
55015         * tests/unistr/test-u8-strncmp.c: New file.
55016         * tests/unistr/test-strncmp.h: New file.
55018         Tests for module 'unistr/u32-strcoll'.
55019         * modules/unistr/u32-strcoll-tests: New file.
55020         * tests/unistr/test-u32-strcoll.c: New file.
55022         Tests for module 'unistr/u16-strcoll'.
55023         * modules/unistr/u16-strcoll-tests: New file.
55024         * tests/unistr/test-u16-strcoll.c: New file.
55026         Tests for module 'unistr/u8-strcoll'.
55027         * modules/unistr/u8-strcoll-tests: New file.
55028         * tests/unistr/test-u8-strcoll.c: New file.
55030         Tests for module 'unistr/u32-strcmp'.
55031         * modules/unistr/u32-strcmp-tests: New file.
55032         * tests/unistr/test-u32-strcmp.c: New file.
55033         * tests/unistr/test-u32-strcmp.h: New file.
55035         Tests for module 'unistr/u16-strcmp'.
55036         * modules/unistr/u16-strcmp-tests: New file.
55037         * tests/unistr/test-u16-strcmp.c: New file.
55038         * tests/unistr/test-u16-strcmp.h: New file.
55040         Tests for module 'unistr/u8-strcmp'.
55041         * modules/unistr/u8-strcmp-tests: New file.
55042         * tests/unistr/test-u8-strcmp.c: New file.
55043         * tests/unistr/test-u8-strcmp.h: New file.
55044         * tests/unistr/test-strcmp.h: New file.
55046         Tests for module 'unistr/u32-strncat'.
55047         * modules/unistr/u32-strncat-tests: New file.
55048         * tests/unistr/test-u32-strncat.c: New file.
55050         Tests for module 'unistr/u16-strncat'.
55051         * modules/unistr/u16-strncat-tests: New file.
55052         * tests/unistr/test-u16-strncat.c: New file.
55054         Tests for module 'unistr/u8-strncat'.
55055         * modules/unistr/u8-strncat-tests: New file.
55056         * tests/unistr/test-u8-strncat.c: New file.
55057         * tests/unistr/test-strncat.h: New file.
55059         Tests for module 'unistr/u32-strcat'.
55060         * modules/unistr/u32-strcat-tests: New file.
55061         * tests/unistr/test-u32-strcat.c: New file.
55063         Tests for module 'unistr/u16-strcat'.
55064         * modules/unistr/u16-strcat-tests: New file.
55065         * tests/unistr/test-u16-strcat.c: New file.
55067         Tests for module 'unistr/u8-strcat'.
55068         * modules/unistr/u8-strcat-tests: New file.
55069         * tests/unistr/test-u8-strcat.c: New file.
55070         * tests/unistr/test-strcat.h: New file.
55072         Tests for module 'unistr/u32-stpncpy'.
55073         * modules/unistr/u32-stpncpy-tests: New file.
55074         * tests/unistr/test-u32-stpncpy.c: New file.
55076         Tests for module 'unistr/u16-stpncpy'.
55077         * modules/unistr/u16-stpncpy-tests: New file.
55078         * tests/unistr/test-u16-stpncpy.c: New file.
55080         Tests for module 'unistr/u8-stpncpy'.
55081         * modules/unistr/u8-stpncpy-tests: New file.
55082         * tests/unistr/test-u8-stpncpy.c: New file.
55083         * tests/unistr/test-stpncpy.h: New file.
55085         Tests for module 'unistr/u32-strncpy'.
55086         * modules/unistr/u32-strncpy-tests: New file.
55087         * tests/unistr/test-u32-strncpy.c: New file.
55089         Tests for module 'unistr/u16-strncpy'.
55090         * modules/unistr/u16-strncpy-tests: New file.
55091         * tests/unistr/test-u16-strncpy.c: New file.
55093         Tests for module 'unistr/u8-strncpy'.
55094         * modules/unistr/u8-strncpy-tests: New file.
55095         * tests/unistr/test-u8-strncpy.c: New file.
55096         * tests/unistr/test-strncpy.h: New file.
55098         Tests for module 'unistr/u32-stpcpy'.
55099         * modules/unistr/u32-stpcpy-tests: New file.
55100         * tests/unistr/test-u32-stpcpy.c: New file.
55102         Tests for module 'unistr/u16-stpcpy'.
55103         * modules/unistr/u16-stpcpy-tests: New file.
55104         * tests/unistr/test-u16-stpcpy.c: New file.
55106         Tests for module 'unistr/u8-stpcpy'.
55107         * modules/unistr/u8-stpcpy-tests: New file.
55108         * tests/unistr/test-u8-stpcpy.c: New file.
55109         * tests/unistr/test-stpcpy.h: New file.
55111         Tests for module 'unistr/u32-strcpy'.
55112         * modules/unistr/u32-strcpy-tests: New file.
55113         * tests/unistr/test-u32-strcpy.c: New file.
55115         Tests for module 'unistr/u16-strcpy'.
55116         * modules/unistr/u16-strcpy-tests: New file.
55117         * tests/unistr/test-u16-strcpy.c: New file.
55119         Tests for module 'unistr/u8-strcpy'.
55120         * modules/unistr/u8-strcpy-tests: New file.
55121         * tests/unistr/test-u8-strcpy.c: New file.
55122         * tests/unistr/test-strcpy.h: New file.
55124         Tests for module 'unistr/u32-strnlen'.
55125         * modules/unistr/u32-strnlen-tests: New file.
55126         * tests/unistr/test-u32-strnlen.c: New file.
55128         Tests for module 'unistr/u16-strnlen'.
55129         * modules/unistr/u16-strnlen-tests: New file.
55130         * tests/unistr/test-u16-strnlen.c: New file.
55132         Tests for module 'unistr/u8-strnlen'.
55133         * modules/unistr/u8-strnlen-tests: New file.
55134         * tests/unistr/test-u8-strnlen.c: New file.
55135         * tests/unistr/test-strnlen.h: New file.
55137         Tests for module 'unistr/u32-strlen'.
55138         * modules/unistr/u32-strlen-tests: New file.
55139         * tests/unistr/test-u32-strlen.c: New file.
55141         Tests for module 'unistr/u16-strlen'.
55142         * modules/unistr/u16-strlen-tests: New file.
55143         * tests/unistr/test-u16-strlen.c: New file.
55145         Tests for module 'unistr/u8-strlen'.
55146         * modules/unistr/u8-strlen-tests: New file.
55147         * tests/unistr/test-u8-strlen.c: New file.
55149         Tests for module 'unistr/u32-prev'.
55150         * modules/unistr/u32-prev-tests: New file.
55151         * tests/unistr/test-u32-prev.c: New file.
55153         Tests for module 'unistr/u16-prev'.
55154         * modules/unistr/u16-prev-tests: New file.
55155         * tests/unistr/test-u16-prev.c: New file.
55157         Tests for module 'unistr/u8-prev'.
55158         * modules/unistr/u8-prev-tests: New file.
55159         * tests/unistr/test-u8-prev.c: New file.
55161         Tests for module 'unistr/u32-next'.
55162         * modules/unistr/u32-next-tests: New file.
55163         * tests/unistr/test-u32-next.c: New file.
55165         Tests for module 'unistr/u16-next'.
55166         * modules/unistr/u16-next-tests: New file.
55167         * tests/unistr/test-u16-next.c: New file.
55169         Tests for module 'unistr/u8-next'.
55170         * modules/unistr/u8-next-tests: New file.
55171         * tests/unistr/test-u8-next.c: New file.
55173         Tests for module 'unistr/u32-strmbtouc'.
55174         * modules/unistr/u32-strmbtouc-tests: New file.
55175         * tests/unistr/test-u32-strmbtouc.c: New file.
55177         Tests for module 'unistr/u16-strmbtouc'.
55178         * modules/unistr/u16-strmbtouc-tests: New file.
55179         * tests/unistr/test-u16-strmbtouc.c: New file.
55181         Tests for module 'unistr/u8-strmbtouc'.
55182         * modules/unistr/u8-strmbtouc-tests: New file.
55183         * tests/unistr/test-u8-strmbtouc.c: New file.
55185         Tests for module 'unistr/u32-strmblen'.
55186         * modules/unistr/u32-strmblen-tests: New file.
55187         * tests/unistr/test-u32-strmblen.c: New file.
55189         Tests for module 'unistr/u16-strmblen'.
55190         * modules/unistr/u16-strmblen-tests: New file.
55191         * tests/unistr/test-u16-strmblen.c: New file.
55193         Tests for module 'unistr/u8-strmblen'.
55194         * modules/unistr/u8-strmblen-tests: New file.
55195         * tests/unistr/test-u8-strmblen.c: New file.
55197         Tests for module 'unistr/u32-cpy-alloc'.
55198         * modules/unistr/u32-cpy-alloc-tests: New file.
55199         * tests/unistr/test-u32-cpy-alloc.c: New file.
55201         Tests for module 'unistr/u16-cpy-alloc'.
55202         * modules/unistr/u16-cpy-alloc-tests: New file.
55203         * tests/unistr/test-u16-cpy-alloc.c: New file.
55205         Tests for module 'unistr/u8-cpy-alloc'.
55206         * modules/unistr/u8-cpy-alloc-tests: New file.
55207         * tests/unistr/test-u8-cpy-alloc.c: New file.
55208         * tests/unistr/test-cpy-alloc.h: New file.
55210         Tests for module 'unistr/u32-mbsnlen'.
55211         * modules/unistr/u32-mbsnlen-tests: New file.
55212         * tests/unistr/test-u32-mbsnlen.c: New file.
55214         Tests for module 'unistr/u16-mbsnlen'.
55215         * modules/unistr/u16-mbsnlen-tests: New file.
55216         * tests/unistr/test-u16-mbsnlen.c: New file.
55218         Tests for module 'unistr/u8-mbsnlen'.
55219         * modules/unistr/u8-mbsnlen-tests: New file.
55220         * tests/unistr/test-u8-mbsnlen.c: New file.
55222         Tests for module 'unistr/u32-chr'.
55223         * modules/unistr/u32-chr-tests: New file.
55224         * tests/unistr/test-u32-chr.c: New file.
55226         Tests for module 'unistr/u16-chr'.
55227         * modules/unistr/u16-chr-tests: New file.
55228         * tests/unistr/test-u16-chr.c: New file.
55230         Tests for module 'unistr/u8-chr'.
55231         * modules/unistr/u8-chr-tests: New file.
55232         * tests/unistr/test-u8-chr.c: New file.
55233         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
55235         Tests for module 'unistr/u32-cmp2'.
55236         * modules/unistr/u32-cmp2-tests: New file.
55237         * tests/unistr/test-u32-cmp2.c: New file.
55239         Tests for module 'unistr/u16-cmp2'.
55240         * modules/unistr/u16-cmp2-tests: New file.
55241         * tests/unistr/test-u16-cmp2.c: New file.
55243         Tests for module 'unistr/u8-cmp2'.
55244         * modules/unistr/u8-cmp2-tests: New file.
55245         * tests/unistr/test-u8-cmp2.c: New file.
55246         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
55248         Tests for module 'unistr/u32-cmp'.
55249         * modules/unistr/u32-cmp-tests: New file.
55250         * tests/unistr/test-u32-cmp.c: New file.
55252         Tests for module 'unistr/u16-cmp'.
55253         * modules/unistr/u16-cmp-tests: New file.
55254         * tests/unistr/test-u16-cmp.c: New file.
55256         Tests for module 'unistr/u8-cmp'.
55257         * modules/unistr/u8-cmp-tests: New file.
55258         * tests/unistr/test-u8-cmp.c: New file.
55259         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
55261         Tests for module 'unistr/u32-set'.
55262         * modules/unistr/u32-set-tests: New file.
55263         * tests/unistr/test-u32-set.c: New file.
55265         Tests for module 'unistr/u16-set'.
55266         * modules/unistr/u16-set-tests: New file.
55267         * tests/unistr/test-u16-set.c: New file.
55269         Tests for module 'unistr/u8-set'.
55270         * modules/unistr/u8-set-tests: New file.
55271         * tests/unistr/test-u8-set.c: New file.
55272         * tests/unistr/test-set.h: New file.
55274         Tests for module 'unistr/u32-move'.
55275         * modules/unistr/u32-move-tests: New file.
55276         * tests/unistr/test-u32-move.c: New file.
55278         Tests for module 'unistr/u16-move'.
55279         * modules/unistr/u16-move-tests: New file.
55280         * tests/unistr/test-u16-move.c: New file.
55282         Tests for module 'unistr/u8-move'.
55283         * modules/unistr/u8-move-tests: New file.
55284         * tests/unistr/test-u8-move.c: New file.
55285         * tests/unistr/test-move.h: New file.
55287         Tests for module 'unistr/u32-cpy'.
55288         * modules/unistr/u32-cpy-tests: New file.
55289         * tests/unistr/test-u32-cpy.c: New file.
55291         Tests for module 'unistr/u16-cpy'.
55292         * modules/unistr/u16-cpy-tests: New file.
55293         * tests/unistr/test-u16-cpy.c: New file.
55295         Tests for module 'unistr/u8-cpy'.
55296         * modules/unistr/u8-cpy-tests: New file.
55297         * tests/unistr/test-u8-cpy.c: New file.
55298         * tests/unistr/test-cpy.h: New file.
55300 2010-01-09  Bruno Haible  <bruno@clisp.org>
55302         Tests for module 'unistr/u32-uctomb'.
55303         * modules/unistr/u32-uctomb-tests: New file.
55304         * tests/unistr/test-u32-uctomb.c: New file.
55306         Tests for module 'unistr/u16-uctomb'.
55307         * modules/unistr/u16-uctomb-tests: New file.
55308         * tests/unistr/test-u16-uctomb.c: New file.
55310         Tests for module 'unistr/u8-uctomb'.
55311         * modules/unistr/u8-uctomb-tests: New file.
55312         * tests/unistr/test-u8-uctomb.c: New file.
55314         Tests for module 'unistr/u32-mbtoucr'.
55315         * modules/unistr/u32-mbtoucr-tests: New file.
55316         * tests/unistr/test-u32-mbtoucr.c: New file.
55318         Tests for module 'unistr/u16-mbtoucr'.
55319         * modules/unistr/u16-mbtoucr-tests: New file.
55320         * tests/unistr/test-u16-mbtoucr.c: New file.
55322         Tests for module 'unistr/u8-mbtoucr'.
55323         * modules/unistr/u8-mbtoucr-tests: New file.
55324         * tests/unistr/test-u8-mbtoucr.c: New file.
55326         Tests for module 'unistr/u32-mbtouc'.
55327         * modules/unistr/u32-mbtouc-tests: New file.
55328         * tests/unistr/test-u32-mbtouc.c: New file.
55330         Tests for module 'unistr/u16-mbtouc'.
55331         * modules/unistr/u16-mbtouc-tests: New file.
55332         * tests/unistr/test-u16-mbtouc.c: New file.
55334         Tests for module 'unistr/u8-mbtouc'.
55335         * modules/unistr/u8-mbtouc-tests: New file.
55336         * tests/unistr/test-u8-mbtouc.c: New file.
55338         Tests for module 'unistr/u32-mbtouc-unsafe'.
55339         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
55340         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
55341         * tests/unistr/test-u32-mbtouc.h: New file.
55343         Tests for module 'unistr/u16-mbtouc-unsafe'.
55344         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
55345         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
55346         * tests/unistr/test-u16-mbtouc.h: New file.
55348         Tests for module 'unistr/u8-mbtouc-unsafe'.
55349         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
55350         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
55351         * tests/unistr/test-u8-mbtouc.h: New file.
55353         Tests for module 'unistr/u32-mblen'.
55354         * modules/unistr/u32-mblen-tests: New file.
55355         * tests/unistr/test-u32-mblen.c: New file.
55357         Tests for module 'unistr/u16-mblen'.
55358         * modules/unistr/u16-mblen-tests: New file.
55359         * tests/unistr/test-u16-mblen.c: New file.
55361         Tests for module 'unistr/u8-mblen'.
55362         * modules/unistr/u8-mblen-tests: New file.
55363         * tests/unistr/test-u8-mblen.c: New file.
55365         Tests for module 'unistr/u32-to-u16'.
55366         * modules/unistr/u32-to-u16-tests: New file.
55367         * tests/unistr/test-u32-to-u16.c: New file.
55369         Tests for module 'unistr/u32-to-u8'.
55370         * modules/unistr/u32-to-u8-tests: New file.
55371         * tests/unistr/test-u32-to-u8.c: New file.
55373         Tests for module 'unistr/u16-to-u32'.
55374         * modules/unistr/u16-to-u32-tests: New file.
55375         * tests/unistr/test-u16-to-u32.c: New file.
55377         Tests for module 'unistr/u16-to-u8'.
55378         * modules/unistr/u16-to-u8-tests: New file.
55379         * tests/unistr/test-u16-to-u8.c: New file.
55381         Tests for module 'unistr/u8-to-u32'.
55382         * modules/unistr/u8-to-u32-tests: New file.
55383         * tests/unistr/test-u8-to-u32.c: New file.
55385         Tests for module 'unistr/u8-to-u16'.
55386         * modules/unistr/u8-to-u16-tests: New file.
55387         * tests/unistr/test-u8-to-u16.c: New file.
55389         Tests for module 'unistr/u32-check'.
55390         * modules/unistr/u32-check-tests: New file.
55391         * tests/unistr/test-u32-check.c: New file.
55393         Tests for module 'unistr/u16-check'.
55394         * modules/unistr/u16-check-tests: New file.
55395         * tests/unistr/test-u16-check.c: New file.
55397         Tests for module 'unistr/u8-check'.
55398         * modules/unistr/u8-check-tests: New file.
55399         * tests/unistr/test-u8-check.c: New file.
55401         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
55402         (category_equals): New function.
55403         (main): Add more tests.
55404         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
55406         * tests/unictype/test-bidi_byname.c (main): Add more tests.
55408 2010-01-10  Bruno Haible  <bruno@clisp.org>
55410         unistr/u*-strcoll: Try harder to distinguish different strings.
55411         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
55412         compare s1 and s2 to see if they are different.
55414 2010-01-10  Bruno Haible  <bruno@clisp.org>
55416         unistr/u*-stpncpy: Fix the return value.
55417         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
55418         description of the return value consistent with stpncpy in glibc.
55419         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
55420         written non-NUL unit.
55422 2010-01-10  Bruno Haible  <bruno@clisp.org>
55424         unistr/u*-next: Add missing dependencies.
55425         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
55426         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
55427         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
55429 2010-01-10  Bruno Haible  <bruno@clisp.org>
55431         unistr/u8-mbsnlen: Fix return value for incomplete character.
55432         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
55433         u8_mblen.
55434         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
55435         Remove unistr/u8-mblen.
55436         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
55437         u16_mblen.
55438         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
55439         Remove unistr/u16-mblen.
55441 2010-01-10  Bruno Haible  <bruno@clisp.org>
55443         wchar: Fix compilation error when <wchar.h> is used from coreutils.
55444         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
55445         Reported by Brian Gough <bjg@gnu.org> and
55446         Chris Clayton <chris2553@googlemail.com> via
55447         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
55449 2010-01-09  Bruno Haible  <bruno@clisp.org>
55451         unistr/u16-to-u32: Reject invalid input.
55452         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
55453         u16_mbtouc.
55454         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
55455         Remove unistr/u16-mbtouc.
55457         unistr/u16-to-u8: Reject invalid input.
55458         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
55459         u16_mbtouc.
55460         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
55461         Remove unistr/u16-mbtouc.
55463         unistr/u8-to-u32: Reject invalid input.
55464         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
55465         u8_mbtouc.
55466         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
55467         Remove unistr/u8-mbtouc.
55469         unistr/u8-to-u16: Reject invalid input.
55470         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
55471         u8_mbtouc.
55472         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
55473         Remove unistr/u8-mbtouc.
55475 2010-01-09  Bruno Haible  <bruno@clisp.org>
55477         Tests for module 'getlogin'.
55478         * modules/getlogin-tests: New file.
55479         * tests/test-getlogin.c: New file.
55481         New module 'getlogin'.
55482         * lib/unistd.in.h (getlogin): New declaration.
55483         * lib/getlogin.c: New file.
55484         * m4/getlogin.m4: New file.
55485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
55486         HAVE_GETLOGIN.
55487         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
55488         HAVE_GETLOGIN.
55489         * modules/getlogin: New file.
55490         * doc/posix-functions/getlogin.texi: Mention the new module.
55491         Reported by John W. Eaton <jwe@gnu.org>.
55493 2010-01-09  Bruno Haible  <bruno@clisp.org>
55495         getlogin_r: Support for native Windows.
55496         * lib/getlogin_r.c: Include <windows.h>
55497         (getlogin_r): Implement for native Windows.
55498         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
55499         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
55500         via John W. Eaton <jwe@gnu.org>.
55502 2010-01-09  Bruno Haible  <bruno@clisp.org>
55504         getlogin_r: Small fixes.
55505         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
55506         succeeds.
55507         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
55508         before testing whether getlogin_r is declared. No need to set
55509         HAVE_DECL_GETLOGIN_R to 1.
55510         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
55512 2010-01-09  Bruno Haible  <bruno@clisp.org>
55514         * lib/unistd.in.h (getlogin_r): Add comment.
55516 2010-01-09  Bruno Haible  <bruno@clisp.org>
55518         Tests for module 'getlogin_r'.
55519         * modules/getlogin_r-tests: New file.
55520         * tests/test-getlogin_r.c: New file.
55522 2010-01-09  Jim Meyering  <meyering@redhat.com>
55524         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
55525         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
55526         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
55528 2010-01-08  Simon Josefsson  <simon@josefsson.org>
55530         * lib/dup2.c (rpl_dup2): Improve comment.
55532 2010-01-08  Eric Blake  <ebb9@byu.net>
55534         maint.mk: allow packages to add makefile @@ exceptions
55535         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
55536         (sc_makefile_check): Rename...
55537         (sc_makefile_at_at_check): ...to this, and use hook.
55539         dup2: work around mingw bug
55540         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
55541         Reported by Simon Josefsson.
55543 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
55545         glob: Fix C++ compilation.
55546         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
55547         C++.
55549 2010-01-07  Bruno Haible  <bruno@clisp.org>
55551         Fix indentation of wctype.in.h, broken since 2007-01-06.
55552         * lib/wctype.in.h: Fix indentation of preprocessor directives.
55554 2010-01-07  Bruno Haible  <bruno@clisp.org>
55556         mbslen: Avoid collision with system function.
55557         * lib/string.in.h [MirBSD]: Include <wchar.h>.
55558         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
55559         * m4/mbslen.m4: New file.
55560         * modules/mbslen (Files): Add it.
55561         (configure.ac): Invoke gl_MBSLEN.
55562         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
55563         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
55564         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
55565         via Ian Beckwith <ianb@erislabs.net>.
55567 2010-01-07  Bruno Haible  <bruno@clisp.org>
55569         dirent: Document the last fix.
55570         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
55572 2010-01-07  Bruno Haible  <bruno@clisp.org>
55574         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
55575         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
55576         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
55577         va_list are defined.
55578         * doc/posix-headers/stdio.texi: Document the bug of missing types.
55579         Reported by Eric Blake.
55581 2010-01-07  Bruno Haible  <bruno@clisp.org>
55583         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
55584         * modules/xlist (Depends-on): Add 'list',
55585         * modules/xoset (Depends-on): Add 'oset'.
55586         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55588 2010-01-07  Bruno Haible  <bruno@clisp.org>
55590         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
55591         * doc/posix-functions/strncasecmp.texi: Likewise.
55593 2010-01-07  Bruno Haible  <bruno@clisp.org>
55595         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
55597 2010-01-07  John W. Eaton  <jwe@octave.org>
55599         wctype: allow C++ use
55600         * lib/wctype.in.h: Add extern "C" block for C++.
55602 2010-01-06  Eric Blake  <ebb9@byu.net>
55604         maint.mk: detect incorrect GFDL usage
55605         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
55607 2010-01-06  Jim Meyering  <meyering@redhat.com>
55608         and Eric Blake  <ebb9@byu.net>
55610         maint.mk: ignore multi-line copyright in NEWS
55611         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
55613 2010-01-06  Eric Blake  <ebb9@byu.net>
55615         select: add missing dependency
55616         * modules/select-tests (Depends-on): Move sockets dependency...
55617         * modules/select (Depends-on): ...here.
55618         Reported by Ian Beckwith.
55620         doc: regenerate INSTALL
55621         * doc/INSTALL: Reflect recent autoconf update.
55622         * doc/INSTALL.ISO: Likewise.
55623         * doc/INSTALL.UTF-8: Likewise.
55625         pread: fix compilation on glibc
55626         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
55627         Reported by Ralf Wildenhues.
55629         dirent: fix test failure
55630         * lib/dirent.in.h (includes): Guarantee ino_t.
55631         Reported by Ralf Wildenhues.
55633 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
55635         linkat, renameat: avoid bad free
55636         * lib/at-func2.c (at_func2): Fix typo.
55637         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
55639 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55641         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
55642         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
55643         to avoid failure of symlink test later.
55645 2010-01-06  Eric Blake  <ebb9@byu.net>
55647         stdio, unistd: guarantee ssize_t
55648         * lib/unistd.in.h (includes): Ensure that types required by POSIX
55649         2008 are exposed when needed.
55650         * lib/stdio.in.h (includes): Likewise.
55651         Reported by Ralf Wildenhues.
55653 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
55655         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
55656         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
55657         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
55659 2010-01-06  Jim Meyering  <meyering@redhat.com>
55661         readtokens: this module *does* require xalloc.h
55662         It uses only functions that were omitted by the old syntax-check rule.
55663         * lib/readtokens.c: Include "xalloc.h" once again.
55664         * modules/readtokens (Depends-on): Add xalloc.
55665         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
55667 2010-01-05  Eric Blake  <ebb9@byu.net>
55669         maint: support 'make announcement' from a VPATH build
55670         * top/maint.mk (announcement): Look for correct NEWS file.
55672 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
55674         utimens (fdutimens): ignore a negative FD, per contract
55675         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
55676         when we have a valid file descriptor.  Otherwise, using a brand
55677         new glibc (with just-patched futimens that now fails with EBADF)
55678         would cause this function to fail with ENOSYS.
55679         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
55680         See also http://bugzilla.redhat.com/552320.
55682 2010-01-05  Eric Blake  <ebb9@byu.net>
55684         strcase: document what it provides
55685         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
55686         gnulib module.
55687         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
55688         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
55690 2010-01-05  Jim Meyering  <meyering@redhat.com>
55692         maint: remove useless inclusions of "xalloc.h"
55693         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
55694         * lib/readtokens.c: Likewise.
55695         * lib/same.c: Likewise.
55696         * modules/getloadavg (Depends-on): Remove xalloc.
55697         * modules/readtokens: Likewise.
55698         * modules/same: Likewise.
55700         maint.mk: include 4 more function names in alloca.h-checking regexp
55701         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
55702         regexp.  Before, we would give a false-positive (saying alloca.h
55703         is included unnecessarily) when the only uses involved omitted symbols.
55705         xalloc.h: use consistent formatting
55706         * lib/xalloc.h: Move declarations to start in the first column.
55708 2010-01-05  Eric Blake  <ebb9@byu.net>
55710         mkdir: avoid xalloc
55711         * lib/mkdir.c (includes): Drop unused header.
55712         Reported by John W. Eaton.
55714 2010-01-04  Jim Meyering  <meyering@redhat.com>
55716         nl_langinfo: avoid configure-time syntax error
55717         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
55718         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
55719         the empty string.  Don't let that provoke a shell syntax error.
55721         regcomp, regexec, fnmatch: avoid array bounds read error
55722         * lib/regcomp.c (build_equiv_class): From glibc:
55723         Use only the low 24 bits of a findidx return value as an index
55724         into the weights array.  Patch by Ulrich Drepper:
55725         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
55726         * lib/regexec.c (check_node_accept_bytes): Likewise.
55727         * lib/fnmatch_loop.c (FCT): Likewise.
55729         regcomp: skip collseq lookup when there are no rules
55730         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
55731         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
55733         regcomp: recognize ill-formed { } expressions
55734         * lib/regcomp.c (parse_dup_op): From glibc:
55735         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
55737         regcomp: fix typo in comment
55738         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
55739         s/satisfy/satisfies/.
55741         regcomp: sync from glibc: remove dead store
55742         * lib/regcomp.c (duplicate_node_closure): Remove useless
55743         search_duplicated_node call and dead store.
55745         regcomp: sync from glibc; always use nl_langinfo
55746         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
55747         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
55748         * modules/regex (Depends-on): Add nl_langinfo.
55750 2010-01-04  Eric Blake  <ebb9@byu.net>
55752         fdopendir: fix configure test
55753         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
55755 2010-01-01  Bruno Haible  <bruno@clisp.org>
55757         wchar: Remove unused configure check.
55758         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
55760 2010-01-01  Eric Blake  <ebb9@byu.net>
55762         headers: make check of system header explicit
55763         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
55764         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
55765         ourselves.
55766         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
55767         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55768         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
55769         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
55770         internals.
55771         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
55772         missing.
55773         Suggested by Bruno Haible.
55775 2010-01-01  Jim Meyering  <meyering@redhat.com>
55777         ChangeLog: tweak to eliminate unnecessary copyright line
55778         * ChangeLog: Remove a copyright line that was mistakenly updated
55779         by today's update-copyright run.  Reported by Eric Blake.
55781         test-update-copyright: don't let envvar setting cause test failure
55782         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
55784 2010-01-01  Bruno Haible  <bruno@clisp.org>
55786         localename: Avoid gcc warning.
55787         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
55788         function if it is not used.
55790 2010-01-01  Jim Meyering  <meyering@redhat.com>
55792         update nearly all FSF copyright year lists to include 2010
55793         Use the same procedure as for 2009, outlined in
55794         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
55796         version-etc: set COPYRIGHT_YEAR to 2010
55797         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
55799 2009-12-31  Eric Blake  <ebb9@byu.net>
55801         doc: correct availability of cygwin 1.5.x getopt
55802         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
55803         variables.
55804         * doc/posix-functions/opterr.texi (opterr): Likewise.
55805         * doc/posix-functions/optind.texi (optind): Likewise.
55806         * doc/posix-functions/optopt.texi (optopt): Likewise.
55807         * doc/posix-functions/tzname.texi (tzname): Likewise.
55809         openat: update maintainer
55810         * modules/openat (Maintainer): Add myself.
55812         utimens: avoid shadowing warning
55813         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
55814         buffers into one, to avoid shadowing, as well as avoiding a
55815         redundant stat.
55816         Reported by Jim Meyering.
55818         test-dup2: avoid compiler warning
55819         * tests/test-dup2.c (is_inheritable): Only define if used.
55821 2010-01-01  Bruno Haible  <bruno@clisp.org>
55823         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
55824         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
55825         defined, use wctomb instead of wcrtomb.
55827 2010-01-01  Bruno Haible  <bruno@clisp.org>
55829         iconv: Reject native Solaris iconv.
55830         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
55831         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
55833 2009-12-31  Bruno Haible  <bruno@clisp.org>
55835         * tests/test-signal.c (main): Remove test of 'SIG'.
55837 2009-12-31  Bruno Haible  <bruno@clisp.org>
55839         spawn: Fix incomplete fix.
55840         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
55841         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
55842         warnings for GNULIB_POSIXCHECK again.
55843         Reported by Eric Blake.
55845 2009-12-31  Bruno Haible  <bruno@clisp.org>
55847         Avoid namespace pollution on glibc systems.
55848         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
55849         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
55850         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
55851         glibc systems.
55853 2009-12-31  Bruno Haible  <bruno@clisp.org>
55855         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
55856         (gl_REPLACE_WCHAR_H): Turn into a no-op.
55857         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
55858         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
55859         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
55860         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
55861         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
55863 2009-12-31  Bruno Haible  <bruno@clisp.org>
55865         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
55866         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
55867         afterwards.
55869 2009-12-31  Bruno Haible  <bruno@clisp.org>
55871         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
55872         SYS_UTSNAME_H.
55874 2009-12-31  Bruno Haible  <bruno@clisp.org>
55876         spawn: Fix misapplied patch.
55877         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
55878         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
55879         warnings for GNULIB_POSIXCHECK.
55881 2009-12-31  Bruno Haible  <bruno@clisp.org>
55883         times: Update after sys_times changed.
55884         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
55885         * modules/times (Files): Add it.
55886         (configure.ac): Invoke gl_FUNC_TIMES.
55888 2009-12-31  Bruno Haible  <bruno@clisp.org>
55890         Use AC_C_INLINE where necessary.
55891         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
55892         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55893         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
55894         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
55895         * m4/mbfile.m4 (gl_MBFILE): Likewise.
55896         * m4/mbiter.m4 (gl_MBITER): Likewise.
55897         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
55898         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
55899         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
55900         * modules/u64 (configure.ac): Likewise.
55902 2009-12-31  Bruno Haible  <bruno@clisp.org>
55904         Use AC_C_INLINE instead of module 'inline' where possible.
55905         * modules/inline (Description): Clarify purpose.
55906         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
55907         * modules/count-one-bits (Depends-on): Remove inline.
55908         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
55909         * modules/openat (Depends-on): Remove inline.
55910         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
55911         instead of depending on module 'inline'.
55912         * modules/filevercmp (Depends-on, configure.ac): Likewise.
55913         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
55914         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
55915         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
55916         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
55917         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
55918         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
55919         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
55920         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
55921         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
55922         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
55923         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
55924         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
55925         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
55926         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
55927         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
55928         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
55929         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
55930         Likewise.
55931         * modules/unictype/property-ascii-hex-digit (Depends-on,
55932         configure.ac): Likewise.
55933         * modules/unictype/property-bidi-arabic-digit (Depends-on,
55934         configure.ac): Likewise.
55935         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
55936         configure.ac): Likewise.
55937         * modules/unictype/property-bidi-block-separator (Depends-on,
55938         configure.ac): Likewise.
55939         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
55940         configure.ac): Likewise.
55941         * modules/unictype/property-bidi-common-separator (Depends-on,
55942         configure.ac): Likewise.
55943         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
55944         Likewise.
55945         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
55946         configure.ac): Likewise.
55947         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
55948         configure.ac): Likewise.
55949         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
55950         configure.ac): Likewise.
55951         * modules/unictype/property-bidi-european-digit (Depends-on,
55952         configure.ac): Likewise.
55953         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
55954         configure.ac): Likewise.
55955         * modules/unictype/property-bidi-left-to-right (Depends-on,
55956         configure.ac): Likewise.
55957         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
55958         configure.ac): Likewise.
55959         * modules/unictype/property-bidi-other-neutral (Depends-on,
55960         configure.ac): Likewise.
55961         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
55962         Likewise.
55963         * modules/unictype/property-bidi-segment-separator (Depends-on,
55964         configure.ac): Likewise.
55965         * modules/unictype/property-bidi-whitespace (Depends-on,
55966         configure.ac): Likewise.
55967         * modules/unictype/property-combining (Depends-on, configure.ac):
55968         Likewise.
55969         * modules/unictype/property-composite (Depends-on, configure.ac):
55970         Likewise.
55971         * modules/unictype/property-currency-symbol (Depends-on,
55972         configure.ac): Likewise.
55973         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
55974         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
55975         Likewise.
55976         * modules/unictype/property-default-ignorable-code-point (Depends-on,
55977         configure.ac): Likewise.
55978         * modules/unictype/property-deprecated (Depends-on, configure.ac):
55979         Likewise.
55980         * modules/unictype/property-diacritic (Depends-on, configure.ac):
55981         Likewise.
55982         * modules/unictype/property-extender (Depends-on, configure.ac):
55983         Likewise.
55984         * modules/unictype/property-format-control (Depends-on, configure.ac):
55985         Likewise.
55986         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
55987         Likewise.
55988         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
55989         Likewise.
55990         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
55991         Likewise.
55992         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
55993         Likewise.
55994         * modules/unictype/property-hyphen (Depends-on, configure.ac):
55995         Likewise.
55996         * modules/unictype/property-id-continue (Depends-on, configure.ac):
55997         Likewise.
55998         * modules/unictype/property-id-start (Depends-on, configure.ac):
55999         Likewise.
56000         * modules/unictype/property-ideographic (Depends-on, configure.ac):
56001         Likewise.
56002         * modules/unictype/property-ids-binary-operator (Depends-on,
56003         configure.ac): Likewise.
56004         * modules/unictype/property-ids-trinary-operator (Depends-on,
56005         configure.ac): Likewise.
56006         * modules/unictype/property-ignorable-control (Depends-on,
56007         configure.ac): Likewise.
56008         * modules/unictype/property-iso-control (Depends-on, configure.ac):
56009         Likewise.
56010         * modules/unictype/property-join-control (Depends-on, configure.ac):
56011         Likewise.
56012         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
56013         Likewise.
56014         * modules/unictype/property-line-separator (Depends-on, configure.ac):
56015         Likewise.
56016         * modules/unictype/property-logical-order-exception (Depends-on,
56017         configure.ac): Likewise.
56018         * modules/unictype/property-lowercase (Depends-on, configure.ac):
56019         Likewise.
56020         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
56021         * modules/unictype/property-non-break (Depends-on, configure.ac):
56022         Likewise.
56023         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
56024         Likewise.
56025         * modules/unictype/property-numeric (Depends-on, configure.ac):
56026         Likewise.
56027         * modules/unictype/property-other-alphabetic (Depends-on,
56028         configure.ac): Likewise.
56029         * modules/unictype/property-other-default-ignorable-code-point
56030         (Depends-on, configure.ac): Likewise.
56031         * modules/unictype/property-other-grapheme-extend (Depends-on,
56032         configure.ac): Likewise.
56033         * modules/unictype/property-other-id-continue (Depends-on,
56034         configure.ac): Likewise.
56035         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
56036         Likewise.
56037         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
56038         Likewise.
56039         * modules/unictype/property-other-math (Depends-on, configure.ac):
56040         Likewise.
56041         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
56042         Likewise.
56043         * modules/unictype/property-paired-punctuation (Depends-on,
56044         configure.ac): Likewise.
56045         * modules/unictype/property-paragraph-separator (Depends-on,
56046         configure.ac): Likewise.
56047         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
56048         Likewise.
56049         * modules/unictype/property-pattern-white-space (Depends-on,
56050         configure.ac): Likewise.
56051         * modules/unictype/property-private-use (Depends-on, configure.ac):
56052         Likewise.
56053         * modules/unictype/property-punctuation (Depends-on, configure.ac):
56054         Likewise.
56055         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
56056         Likewise.
56057         * modules/unictype/property-radical (Depends-on, configure.ac):
56058         Likewise.
56059         * modules/unictype/property-sentence-terminal (Depends-on,
56060         configure.ac): Likewise.
56061         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
56062         Likewise.
56063         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
56064         * modules/unictype/property-terminal-punctuation (Depends-on,
56065         configure.ac): Likewise.
56066         * modules/unictype/property-titlecase (Depends-on, configure.ac):
56067         Likewise.
56068         * modules/unictype/property-unassigned-code-value (Depends-on,
56069         configure.ac): Likewise.
56070         * modules/unictype/property-unified-ideograph (Depends-on,
56071         configure.ac): Likewise.
56072         * modules/unictype/property-uppercase (Depends-on, configure.ac):
56073         Likewise.
56074         * modules/unictype/property-variation-selector (Depends-on,
56075         configure.ac): Likewise.
56076         * modules/unictype/property-white-space (Depends-on, configure.ac):
56077         Likewise.
56078         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
56079         Likewise.
56080         * modules/unictype/property-xid-start (Depends-on, configure.ac):
56081         Likewise.
56082         * modules/unictype/property-zero-width (Depends-on, configure.ac):
56083         Likewise.
56084         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
56085         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
56086         Likewise.
56088 2009-12-31  Bruno Haible  <bruno@clisp.org>
56090         Remove unnecessary AC_C_INLINE invocation.
56091         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
56092         since 2009-08-21.
56094 2009-12-31  Jim Meyering  <meyering@redhat.com>
56096         maint.mk: don't require explicit gpg_key_ID in cfg.mk
56097         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
56098         With this change, we can all remove the gpg_key_ID = ... definition
56099         from our respective cfg.mk files.
56101         maint.mk: create announcement template in ~/, not in /tmp
56102         * top/maint.mk (emit_upload_commands): Adjust.
56103         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
56104         Remove temporary file, .ci-msg.
56106 2009-12-31  Eric Blake  <ebb9@byu.net>
56108         link-warning: always build headers with link warnings
56109         * modules/arpa_inet (Makefile.am): Always build replacement
56110         header.
56111         * modules/ctype (Makefile.am): Likewise.
56112         * modules/dirent (Makefile.am): Likewise.
56113         * modules/inttypes (Makefile.am): Likewise.
56114         * modules/langinfo (Makefile.am): Likewise.
56115         * modules/locale (Makefile.am): Likewise.
56116         * modules/spawn (Makefile.am): Likewise.
56117         * modules/sys_file (Makefile.am): Likewise.
56118         * modules/sys_ioctl (Makefile.am): Likewise.
56119         * modules/sys_select (Makefile.am): Likewise.
56120         * modules/sys_socket (Makefile.am): Likewise.
56121         * modules/sys_times (Makefile.am): Likewise.
56122         * modules/sys_utsname (Makefile.am): Likewise.
56123         * modules/sys_wait (Makefile.am): Likewise.
56124         * modules/wchar (Makefile.am): Likewise.
56125         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
56126         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
56127         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
56128         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
56129         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
56130         Likewise.
56131         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56132         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
56133         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
56134         Likewise.
56135         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
56136         Likewise.
56137         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
56138         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
56139         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
56140         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56141         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
56142         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
56143         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
56144         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
56145         (gl_WCHAR_H_DEFAULTS): Likewise.
56147 2009-12-31  Eric Blake  <ebb9@byu.net>
56149         signal, spawn: use link warnings
56150         * lib/signal.in.h (sigset_t): Make unconditional.
56151         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
56152         (sigpending, sigprocmask, sigaction): Add link warnings.
56153         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
56154         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
56155         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
56156         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
56157         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
56158         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
56159         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
56160         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
56161         (posix_spawn_file_actions_destroy)
56162         (posix_spawn_file_actions_addopen)
56163         (posix_spawn_file_actions_addclose)
56164         (posix_spawn_file_actions_adddup2): Likewise.
56165         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
56166         * tests/test-signal.c (main): Enhance test.
56168         spawn: improve wrapper support
56169         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
56170         (gl_SPAWN_H_DEFAULTS): New defaults.
56171         * modules/spawn (Makefile.am): Substitute them.
56172         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
56173         Only declare if missing or broken.
56175         sys_times, sys_utsname: use include_next
56176         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
56177         header.
56178         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
56179         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
56180         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
56181         * modules/sys_times (Depends-on): Add include_next.
56182         (Makefile.am): Substitute additional values.
56183         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
56184         * lib/sys_times.in.h (includes): Include native header, if
56185         available.
56186         * lib/sys_utsname.in.h (includes): Likewise.
56187         * tests/test-sys_times.c (main): Enhance test.
56189         fdutimensat: revert prior patch
56190         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
56191         utimens.h.
56192         Reported by Bruno Haible.
56194 2009-12-30  Eric Blake  <ebb9@byu.net>
56196         sys_wait: drop link-warning dependency
56197         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
56198         link-warning efforts.
56199         * lib/sys_wait.in.h: Likewise.
56201         fdutimensat: remove bogus dependency
56202         * modules/fdutimensat (Depends-on): Drop inline.
56204         unistd: fix typo
56205         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
56207 2009-12-30  Bruno Haible  <bruno@clisp.org>
56209         Fix compilation error with Solaris cc.
56210         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
56211         * lib/unicase/u16-is-invariant.c: Likewise.
56212         * lib/unicase/u32-is-invariant.c: Likewise.
56213         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56215 2009-12-30  Bruno Haible  <bruno@clisp.org>
56217         Fix test crash.
56218         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
56219         locales.
56220         Reported by Simon Josefsson <simon@josefsson.org>.
56222 2009-12-30  Bruno Haible  <bruno@clisp.org>
56224         Fix compilation error on most platforms.
56225         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
56226         Reported by Simon Josefsson <simon@josefsson.org>
56227         and Nelson H. F. Beebe <beebe@math.utah.edu>.
56229 2009-12-30  Eric Blake  <ebb9@byu.net>
56231         futimens, utimensat: work around ntfs-3g bug
56232         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
56233         a ctime bug is present, and expand workaround to cover ntfs-3g.
56234         * lib/utimens.c (fdutimens, lutimens): Likewise.
56235         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
56236         (validate_timespec): Adjust return value.
56237         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
56238         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
56239         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
56241 2009-12-29  Eric Blake  <ebb9@byu.net>
56243         link-warning: make usage consistent
56244         * modules/ctype (Depends-on): Add link-warning.
56245         (Makefile.am): Update rules accordingly.
56246         * modules/langinfo (Depends-on, Makefile.am): Likewise.
56247         * modules/locale (Depends-on, Makefile.am): Likewise.
56248         * modules/sys_file (Makefile.am): Likewise.
56249         * modules/getopt-posix (Makefile.am): Delete unused link warning
56250         efforts.
56251         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
56252         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
56253         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
56254         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
56256         stdio: remove unused variables
56257         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
56258         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
56259         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
56261         tests: test more substitute headers
56262         * modules/ctype-tests: New file.
56263         * modules/dirent-tests: Likewise.
56264         * modules/spawn-tests: Likewise.
56265         * modules/sys_file-tests: Likewise.
56266         * modules/sys_ioctl-tests: Likewise.
56267         * modules/sys_wait-tests: Likewise.
56268         * tests/test-ctype.c: Likewise.
56269         * tests/test-dirent.c: Likewise.
56270         * tests/test-spawn.c: Likewise.
56271         * tests/test-sys_file.c: Likewise.
56272         * tests/test-sys_ioctl.c: Likewise.
56273         * tests/test-sys_wait.c: Likewise.
56274         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
56275         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
56276         whether or not flock is in use.
56278         tests: remove License section from module
56279         * modules/arpa_inet-tests: Remove unneeded section.
56280         * modules/byteswap-tests: Likewise.
56281         * modules/ceilf-tests: Likewise.
56282         * modules/ceill-tests: Likewise.
56283         * modules/crypto/des-tests: Likewise.
56284         * modules/crypto/gc-arcfour-tests: Likewise.
56285         * modules/crypto/gc-arctwo-tests: Likewise.
56286         * modules/crypto/gc-des-tests: Likewise.
56287         * modules/crypto/gc-hmac-md5-tests: Likewise.
56288         * modules/crypto/gc-hmac-sha1-tests: Likewise.
56289         * modules/crypto/gc-md2-tests: Likewise.
56290         * modules/crypto/gc-md4-tests: Likewise.
56291         * modules/crypto/gc-md5-tests: Likewise.
56292         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
56293         * modules/crypto/gc-rijndael-tests: Likewise.
56294         * modules/crypto/gc-sha1-tests: Likewise.
56295         * modules/crypto/gc-tests: Likewise.
56296         * modules/crypto/md2-tests: Likewise.
56297         * modules/crypto/md4-tests: Likewise.
56298         * modules/fcntl-h-tests: Likewise.
56299         * modules/floorf-tests: Likewise.
56300         * modules/floorl-tests: Likewise.
56301         * modules/frexp-nolibm-tests: Likewise.
56302         * modules/frexp-tests: Likewise.
56303         * modules/frexpl-nolibm-tests: Likewise.
56304         * modules/frexpl-tests: Likewise.
56305         * modules/getaddrinfo-tests: Likewise.
56306         * modules/inttypes-tests: Likewise.
56307         * modules/isfinite-tests: Likewise.
56308         * modules/isinf-tests: Likewise.
56309         * modules/ldexpl-tests: Likewise.
56310         * modules/locale-tests: Likewise.
56311         * modules/math-tests: Likewise.
56312         * modules/netdb-tests: Likewise.
56313         * modules/netinet_in-tests: Likewise.
56314         * modules/printf-frexp-tests: Likewise.
56315         * modules/printf-frexpl-tests: Likewise.
56316         * modules/priv-set-tests: Likewise.
56317         * modules/random_r-tests: Likewise.
56318         * modules/round-tests: Likewise.
56319         * modules/roundf-tests: Likewise.
56320         * modules/roundl-tests: Likewise.
56321         * modules/search-tests: Likewise.
56322         * modules/select-tests: Likewise.
56323         * modules/signal-tests: Likewise.
56324         * modules/stdbool-tests: Likewise.
56325         * modules/stddef-tests: Likewise.
56326         * modules/stdint-tests: Likewise.
56327         * modules/stdio-tests: Likewise.
56328         * modules/stdlib-tests: Likewise.
56329         * modules/string-tests: Likewise.
56330         * modules/strings-tests: Likewise.
56331         * modules/sys_select-tests: Likewise.
56332         * modules/sys_socket-tests: Likewise.
56333         * modules/sys_stat-tests: Likewise.
56334         * modules/sys_time-tests: Likewise.
56335         * modules/sys_utsname-tests: Likewise.
56336         * modules/sysexits-tests: Likewise.
56337         * modules/time-tests: Likewise.
56338         * modules/trunc-tests: Likewise.
56339         * modules/truncf-tests: Likewise.
56340         * modules/truncl-tests: Likewise.
56341         * modules/tsearch-tests: Likewise.
56342         * modules/unistd-tests: Likewise.
56343         * modules/wchar-tests: Likewise.
56344         * modules/wctype-tests: Likewise.
56346         tests: fix license on several tests
56347         * tests/test-des.c: Update to GPLv3+.
56348         * tests/test-flock.c: Likewise.
56349         * tests/test-fsync.c: Likewise.
56350         * tests/test-futimens.h: Likewise.
56351         * tests/test-gc-arcfour.c: Likewise.
56352         * tests/test-gc-arctwo.c: Likewise.
56353         * tests/test-gc-des.c: Likewise.
56354         * tests/test-gc-hmac-md5.c: Likewise.
56355         * tests/test-gc-hmac-sha1.c: Likewise.
56356         * tests/test-gc-md2.c: Likewise.
56357         * tests/test-gc-md4.c: Likewise.
56358         * tests/test-gc-md5.c: Likewise.
56359         * tests/test-gc-pbkdf2-sha1.c: Likewise.
56360         * tests/test-gc-rijndael.c: Likewise.
56361         * tests/test-gc-sha1.c: Likewise.
56362         * tests/test-gc.c: Likewise.
56363         * tests/test-getcwd.c: Likewise.
56364         * tests/test-link.c: Likewise.
56365         * tests/test-link.h: Likewise.
56366         * tests/test-lutimens.h: Likewise.
56367         * tests/test-md2.c: Likewise.
56368         * tests/test-md4.c: Likewise.
56369         * tests/test-mkdir.h: Likewise.
56370         * tests/test-rename.c: Likewise.
56371         * tests/test-rename.h: Likewise.
56372         * tests/test-safe-alloc.c: Likewise.
56373         * tests/test-utimens-common.h: Likewise.
56374         * tests/test-utimens.h: Likewise.
56376         maint: sync license texts
56377         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
56378         * doc/gpl-3.0.texi: Revert copyright year update.
56379         * doc/lgpl-3.0.texi: Likewise.
56381 2009-12-29  Jim Meyering  <meyering@redhat.com>
56383         update nearly all FSF copyright year lists to include 2009
56384         The files named by the following are exempted:
56385             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
56386               test -f "$dst" && { echo "$dst"; continue; }
56387               test -d "$dst" || continue
56388               echo "$dst"/$(basename "$src")
56389             done > exempt
56390             git ls-files tests/unictype >> exempt
56391         In the remaining files, convert to all-interval notation if
56392         - there is already at least one year interval like 2000-2003
56393         - the file is maintained by me
56394         - the file is in lib/uni*/, where that style already prevails
56395         Otherwise, use update-copyright's default.
56397 2009-12-29  Simon Josefsson  <simon@josefsson.org>
56398         and Eric Blake  <ebb9@byu.net>
56400         tests: don't require debug system() to pass
56401         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
56402         * tests/test-rmdir.h (test_rmdir_func): Likewise.
56403         * tests/test-unlink.h (test_unlink_func): Likewise.
56404         * tests/test-fstatat.c (main): ...into callers.
56405         * tests/test-lstat.c (main): Likewise.
56406         * tests/test-rmdir.c (main): Likewise.
56407         * tests/test-unlink.c (main): Likewise.
56408         * tests/test-unlinkat.c (main): Likewise.
56409         * tests/test-areadlink-with-size.c (main): Don't require a
56410         debug-only system call to pass, aiding cross-testing to mingw.
56411         * tests/test-areadlink.c (main): Likewise.
56412         * tests/test-areadlinkat-with-size.c (main): Likewise.
56413         * tests/test-areadlinkat.c (main): Likewise.
56414         * tests/test-canonicalize-lgpl.c (main): Likewise.
56415         * tests/test-canonicalize.c (main): Likewise.
56416         * tests/test-chown.c (main): Likewise.
56417         * tests/test-fchownat.c (main): Likewise.
56418         * tests/test-lchown.c (main): Likewise.
56419         * tests/test-fdutimensat.c (main): Likewise.
56420         * tests/test-futimens.c (main): Likewise.
56421         * tests/test-link.c (main): Likewise.
56422         * tests/test-linkat.c (main): Likewise.
56423         * tests/test-mkdir.c (main): Likewise.
56424         * tests/test-mkdirat.c (main): Likewise.
56425         * tests/test-mkfifo.c (main): Likewise.
56426         * tests/test-mkfifoat.c (main): Likewise.
56427         * tests/test-mknod.c (main): Likewise.
56428         * tests/test-readlink.c (main): Likewise.
56429         * tests/test-remove.c (main): Likewise.
56430         * tests/test-rename.c (main): Likewise.
56431         * tests/test-renameat.c (main): Likewise.
56432         * tests/test-symlink.c (main): Likewise.
56433         * tests/test-symlinkat.c (main): Likewise.
56434         * tests/test-utimens.c (main): Likewise.
56435         * tests/test-utimensat.c (main): Likewise.
56437 2009-12-29  Simon Josefsson  <simon@josefsson.org>
56439         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
56440         on $(UNUSED_PARAMETER_H) to avoid build failure.
56442 2009-12-28  Jim Meyering  <meyering@redhat.com>
56444         update-copyright: you may specify a max. line length other than 72
56445         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
56447         maint: use consistent FSF copyright line syntax
56448         * lib/posixtm.c: Add missing comma in FSF copyright line.
56449         * lib/posixtm.h: Likewise.
56450         * lib/getugroups.c: Add missing ", Inc.".
56452         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
56453         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
56454         FSF copyright line.  Remove trailing blanks.
56456 2009-12-28  Eric Blake  <ebb9@byu.net>
56458         test-dup2: reduce dependencies
56459         * modules/cloexec (Configure.ac): Set witness.
56460         * modules/dup2-tests (Depends-on): Drop cloexec.
56461         * tests/test-dup2.c (main): Skip portion of test if cloexec module
56462         not present.
56463         Suggested by Bruno Haible.
56465 2009-12-26  Bruno Haible  <bruno@clisp.org>
56467         Remove an unneeded dependency.
56468         * modules/fseterr (Depends-on): Remove dup2.
56470 2009-12-26  Eric Blake  <ebb9@byu.net>
56472         tests: use macros.h in more places
56473         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
56474         (ASSERT_STREAM): Provide default of stderr.
56475         * tests/test-dirent-safer.c: Include macros.h, using alternate
56476         stream for assertions.
56477         * tests/test-dup-safer.c: Likewise.
56478         * tests/test-freopen-safer.c: Likewise.
56479         * tests/test-getopt.c: Likewise.
56480         * tests/test-openat-safer.c: Likewise.
56481         * tests/test-pipe.c: Likewise.
56482         * tests/test-popen-safer.c: Likewise.
56483         * modules/dirent-safer-tests (Files): Include macros.h.
56484         * modules/unistd-safer-tests (Files): Likewise.
56485         * modules/freopen-safer-tests (Files): Likewise.
56486         * modules/getopt-posix-tests (Files): Likewise.
56487         * modules/openat-safer-tests (Files): Likewise.
56488         * modules/pipe-tests (Files): Likewise.
56490 2009-12-26  Bruno Haible  <bruno@clisp.org>
56492         javacomp-script: Portability fix.
56493         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
56494         that it also works on Solaris.
56496 2009-12-26  Bruno Haible  <bruno@clisp.org>
56498         localename: Fix storage allocation of gl_locale_name_thread's result.
56499         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
56500         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
56501         all platforms that have 'uselocale'.
56502         (gl_locale_name_thread_unsafe): New function, extracted from
56503         gl_locale_name_thread.
56504         (gl_locale_name_thread): Call struniq on all platforms that have
56505         'uselocale'.
56506         * tests/test-localename.c (test_locale_name_thread): Check that the
56507         resulting strings are permanently allocated.
56508         * modules/localename-tests (Depends-on): Add strdup.
56510 2009-12-26  Bruno Haible  <bruno@clisp.org>
56512         * tests/test-localename.c (categories): Fill in the strings.
56514 2009-12-26  Jim Meyering  <meyering@redhat.com>
56516         isdir: complete the removal of m4/isdir.m4
56517         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
56519         isdir: clean up, since at least grep still uses it
56520         * lib/isdir.c: Include "isdir.h".
56521         (S_ISDIR): Remove now-unneeded definition.
56522         * modules/isdir (Files): Add lib/isdir.h.
56523         * lib/isdir.h: New file, with declaration.
56524         * m4/isdir.m4: Remove file -- unneeded.
56526 2009-12-25  Bruno Haible  <bruno@clisp.org>
56528         selinux-h: Make generated .h files standalone.
56529         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
56530         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
56531         * lib/se-selinux.in.h: Likewise.
56532         * modules/selinux-h (Depends-on): Add unused-parameter.
56533         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
56534         selinux/selinux.h and selinux/context.h.
56535         Suggested by Eric Blake.
56537 2009-12-25  Bruno Haible  <bruno@clisp.org>
56539         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
56540         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
56541         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
56542         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
56543         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
56545 2009-12-24  Bruno Haible  <bruno@clisp.org>
56547         openat: Fix warning.
56548         * lib/openat-proc.c: Include <unistd.h>.
56550 2009-12-24  Bruno Haible  <bruno@clisp.org>
56552         New module 'unused-parameter'.
56553         * build-aux/unused-parameter.h: New file, extracted from earlier
56554         gnulib-common.m4.
56555         * modules/unused-parameter: New file.
56556         * lib/unistr.h: Include unused-parameter.h.
56557         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
56558         _GL_UNUSED.
56559         * modules/unistr/base (Depends-on): Add unused-parameter.
56561 2009-12-24  Bruno Haible  <bruno@clisp.org>
56563         Add missing dependencies to 'extensions' module.
56564         * m4/extensions.m4: Add comment.
56565         * modules/accept4 (Depends-on): Add extensions.
56566         * modules/dup3 (Depends-on): Likewise.
56567         * modules/fcntl (Depends-on): Likewise.
56568         * modules/futimens (Depends-on): Likewise.
56569         * modules/mknod (Depends-on): Likewise.
56570         * modules/pipe2 (Depends-on): Likewise.
56571         * modules/stat-time (Depends-on): Likewise.
56572         * modules/strcasestr-simple (Depends-on): Likewise.
56573         * modules/strsignal (Depends-on): Likewise.
56574         * modules/utimensat (Depends-on): Likewise.
56575         * modules/localcharset (Depends-on): Likewise. Needed because of
56576         gl_FCNTL_O_FLAGS.
56577         * modules/wcrtomb (Depends-on): Likewise. Needed because of
56578         AC_TYPE_MBSTATE_T.
56579         * modules/wcsnrtombs (Depends-on): Likewise.
56580         * modules/wcsrtombs (Depends-on): Likewise.
56582 2009-12-24  Bruno Haible  <bruno@clisp.org>
56584         binary-io: Avoid gcc warning due to SET_BINARY.
56585         * lib/binary-io.h (SET_BINARY): Cast the result to void.
56586         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
56588 2009-12-24  Bruno Haible  <bruno@clisp.org>
56590         Avoid future namespace pollution on glibc systems.
56591         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
56592         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
56593         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
56594         glibc systems.
56596 2009-12-24  Bruno Haible  <bruno@clisp.org>
56598         Refactor common macros used in tests.
56599         * tests/macros.h: New file.
56600         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
56601         and/or <stdlib.h>, if appropriate.
56602         (ASSERT, SIZEOF): Remove macros.
56603         * tests/test-areadlink-with-size.c: Likewise.
56604         * tests/test-areadlinkat.c: Likewise.
56605         * tests/test-areadlinkat-with-size.c: Likewise.
56606         * tests/test-argmatch.c: Likewise.
56607         * tests/test-argv-iter.c: Likewise.
56608         * tests/test-array-mergesort.c: Likewise.
56609         * tests/test-array_list.c: Likewise.
56610         * tests/test-array_oset.c: Likewise.
56611         * tests/test-avltree_list.c: Likewise.
56612         * tests/test-avltree_oset.c: Likewise.
56613         * tests/test-avltreehash_list.c: Likewise.
56614         * tests/test-base64.c: Likewise.
56615         * tests/test-binary-io.c: Likewise.
56616         * tests/test-bitrotate.c: Likewise.
56617         * tests/test-btowc.c: Likewise.
56618         * tests/test-byteswap.c: Likewise.
56619         * tests/test-c-ctype.c: Likewise.
56620         * tests/test-c-stack.c: Likewise.
56621         * tests/test-c-strcasecmp.c: Likewise.
56622         * tests/test-c-strcasestr.c: Likewise.
56623         * tests/test-c-strncasecmp.c: Likewise.
56624         * tests/test-c-strstr.c: Likewise.
56625         * tests/test-canonicalize-lgpl.c: Likewise.
56626         * tests/test-canonicalize.c: Likewise.
56627         * tests/test-carray_list.c: Likewise.
56628         * tests/test-ceilf1.c: Likewise.
56629         * tests/test-ceilf2.c: Likewise.
56630         * tests/test-ceill.c: Likewise.
56631         * tests/test-chown.c: Likewise.
56632         * tests/test-cloexec.c: Likewise.
56633         * tests/test-copy-acl.c: Likewise.
56634         * tests/test-copy-file.c: Likewise.
56635         * tests/test-count-one-bits.c: Likewise.
56636         * tests/test-dprintf-posix.c: Likewise.
56637         * tests/test-dup2.c: Likewise.
56638         * tests/test-dup3.c: Likewise.
56639         * tests/test-duplocale.c: Likewise.
56640         * tests/test-fbufmode.c: Likewise.
56641         * tests/test-fchdir.c: Likewise.
56642         * tests/test-fchownat.c: Likewise.
56643         * tests/test-fcntl-safer.c: Likewise.
56644         * tests/test-fcntl.c: Likewise.
56645         * tests/test-fdopendir.c: Likewise.
56646         * tests/test-fdutimensat.c: Likewise.
56647         * tests/test-fflush2.c: Likewise.
56648         * tests/test-file-has-acl.c: Likewise.
56649         * tests/test-filevercmp.c: Likewise.
56650         * tests/test-flock.c: Likewise.
56651         * tests/test-floorf1.c: Likewise.
56652         * tests/test-floorf2.c: Likewise.
56653         * tests/test-floorl.c: Likewise.
56654         * tests/test-fnmatch.c: Likewise.
56655         * tests/test-fopen.h: Likewise.
56656         * tests/test-fpending.c: Likewise.
56657         * tests/test-fprintf-posix.c: Likewise.
56658         * tests/test-fpurge.c: Likewise.
56659         * tests/test-freadable.c: Likewise.
56660         * tests/test-freadahead.c: Likewise.
56661         * tests/test-freading.c: Likewise.
56662         * tests/test-freadptr.c: Likewise.
56663         * tests/test-freadptr2.c: Likewise.
56664         * tests/test-freadseek.c: Likewise.
56665         * tests/test-freopen.c: Likewise.
56666         * tests/test-frexp.c: Likewise.
56667         * tests/test-frexpl.c: Likewise.
56668         * tests/test-fseek.c: Likewise.
56669         * tests/test-fseeko.c: Likewise.
56670         * tests/test-fstatat.c: Likewise.
56671         * tests/test-fstrcmp.c: Likewise.
56672         * tests/test-fsync.c: Likewise.
56673         * tests/test-ftell.c: Likewise.
56674         * tests/test-ftello.c: Likewise.
56675         * tests/test-func.c: Likewise.
56676         * tests/test-futimens.c: Likewise.
56677         * tests/test-fwritable.c: Likewise.
56678         * tests/test-fwriting.c: Likewise.
56679         * tests/test-getcwd.c: Likewise.
56680         * tests/test-getdate.c: Likewise.
56681         * tests/test-getdelim.c: Likewise.
56682         * tests/test-getdtablesize.c: Likewise.
56683         * tests/test-getgroups.c: Likewise.
56684         * tests/test-getline.c: Likewise.
56685         * tests/test-getndelim2.c: Likewise.
56686         * tests/test-glob.c: Likewise.
56687         * tests/test-hash.c: Likewise.
56688         * tests/test-i-ring.c: Likewise.
56689         * tests/test-iconv-utf.c: Likewise.
56690         * tests/test-iconv.c: Likewise.
56691         * tests/test-idpriv-drop.c: Likewise.
56692         * tests/test-idpriv-droptemp.c: Likewise.
56693         * tests/test-inet_ntop.c: Likewise.
56694         * tests/test-inet_pton.c: Likewise.
56695         * tests/test-isblank.c: Likewise.
56696         * tests/test-isfinite.c: Likewise.
56697         * tests/test-isinf.c: Likewise.
56698         * tests/test-isnan.c: Likewise.
56699         * tests/test-isnand.h: Likewise.
56700         * tests/test-isnanf.h: Likewise.
56701         * tests/test-isnanl.h: Likewise.
56702         * tests/test-lchown.c: Likewise.
56703         * tests/test-ldexpl.c: Likewise.
56704         * tests/test-link.c: Likewise.
56705         * tests/test-linkat.c: Likewise.
56706         * tests/test-linked_list.c: Likewise.
56707         * tests/test-linkedhash_list.c: Likewise.
56708         * tests/test-localename.c: Likewise.
56709         * tests/test-lseek.c: Likewise.
56710         * tests/test-lstat.c: Likewise.
56711         * tests/test-mbmemcasecmp.c: Likewise.
56712         * tests/test-mbmemcasecoll.c: Likewise.
56713         * tests/test-mbrtowc.c: Likewise.
56714         * tests/test-mbscasecmp.c: Likewise.
56715         * tests/test-mbscasestr1.c: Likewise.
56716         * tests/test-mbscasestr2.c: Likewise.
56717         * tests/test-mbscasestr3.c: Likewise.
56718         * tests/test-mbscasestr4.c: Likewise.
56719         * tests/test-mbschr.c: Likewise.
56720         * tests/test-mbscspn.c: Likewise.
56721         * tests/test-mbsinit.c: Likewise.
56722         * tests/test-mbsncasecmp.c: Likewise.
56723         * tests/test-mbsnrtowcs.c: Likewise.
56724         * tests/test-mbspbrk.c: Likewise.
56725         * tests/test-mbspcasecmp.c: Likewise.
56726         * tests/test-mbsrchr.c: Likewise.
56727         * tests/test-mbsrtowcs.c: Likewise.
56728         * tests/test-mbsspn.c: Likewise.
56729         * tests/test-mbsstr1.c: Likewise.
56730         * tests/test-mbsstr2.c: Likewise.
56731         * tests/test-mbsstr3.c: Likewise.
56732         * tests/test-memchr.c: Likewise.
56733         * tests/test-memchr2.c: Likewise.
56734         * tests/test-memcmp.c: Likewise.
56735         * tests/test-memmem.c: Likewise.
56736         * tests/test-memrchr.c: Likewise.
56737         * tests/test-mkdir.c: Likewise.
56738         * tests/test-mkdirat.c: Likewise.
56739         * tests/test-mkfifo.c: Likewise.
56740         * tests/test-mkfifoat.c: Likewise.
56741         * tests/test-mknod.c: Likewise.
56742         * tests/test-nanosleep.c: Likewise.
56743         * tests/test-nl_langinfo.c: Likewise.
56744         * tests/test-obstack-printf.c: Likewise.
56745         * tests/test-open.c: Likewise.
56746         * tests/test-openat.c: Likewise.
56747         * tests/test-pipe-filter-gi1.c: Likewise.
56748         * tests/test-pipe-filter-gi2-main.c: Likewise.
56749         * tests/test-pipe-filter-ii1.c: Likewise.
56750         * tests/test-pipe-filter-ii2-main.c: Likewise.
56751         * tests/test-pipe2.c: Likewise.
56752         * tests/test-popen.h: Likewise.
56753         * tests/test-posixtm.c: Likewise.
56754         * tests/test-pread.c: Likewise.
56755         * tests/test-printf-frexp.c: Likewise.
56756         * tests/test-printf-frexpl.c: Likewise.
56757         * tests/test-printf-posix.c: Likewise.
56758         * tests/test-priv-set.c: Likewise.
56759         * tests/test-quotearg.c: Likewise.
56760         * tests/test-random_r.c: Likewise.
56761         * tests/test-rawmemchr.c: Likewise.
56762         * tests/test-rbtree_list.c: Likewise.
56763         * tests/test-rbtree_oset.c: Likewise.
56764         * tests/test-rbtreehash_list.c: Likewise.
56765         * tests/test-readlink.c: Likewise.
56766         * tests/test-remove.c: Likewise.
56767         * tests/test-rename.c: Likewise.
56768         * tests/test-renameat.c: Likewise.
56769         * tests/test-rmdir.c: Likewise.
56770         * tests/test-round1.c: Likewise.
56771         * tests/test-roundf1.c: Likewise.
56772         * tests/test-roundl.c: Likewise.
56773         * tests/test-safe-alloc.c: Likewise.
56774         * tests/test-sameacls.c: Likewise.
56775         * tests/test-set-mode-acl.c: Likewise.
56776         * tests/test-setenv.c: Likewise.
56777         * tests/test-sigaction.c: Likewise.
56778         * tests/test-signbit.c: Likewise.
56779         * tests/test-sleep.c: Likewise.
56780         * tests/test-snprintf-posix.c: Likewise.
56781         * tests/test-snprintf.c: Likewise.
56782         * tests/test-sprintf-posix.c: Likewise.
56783         * tests/test-stat-time.c: Likewise.
56784         * tests/test-stat.c: Likewise.
56785         * tests/test-strcasestr.c: Likewise.
56786         * tests/test-strchrnul.c: Likewise.
56787         * tests/test-strerror.c: Likewise.
56788         * tests/test-striconv.c: Likewise.
56789         * tests/test-striconveh.c: Likewise.
56790         * tests/test-striconveha.c: Likewise.
56791         * tests/test-strsignal.c: Likewise.
56792         * tests/test-strstr.c: Likewise.
56793         * tests/test-strtod.c: Likewise.
56794         * tests/test-strverscmp.c: Likewise.
56795         * tests/test-symlink.c: Likewise.
56796         * tests/test-symlinkat.c: Likewise.
56797         * tests/test-trunc1.c: Likewise.
56798         * tests/test-trunc2.c: Likewise.
56799         * tests/test-truncf1.c: Likewise.
56800         * tests/test-truncf2.c: Likewise.
56801         * tests/test-truncl.c: Likewise.
56802         * tests/test-uname.c: Likewise.
56803         * tests/test-unlink.c: Likewise.
56804         * tests/test-unlinkat.c: Likewise.
56805         * tests/test-unsetenv.c: Likewise.
56806         * tests/test-usleep.c: Likewise.
56807         * tests/test-utimens.c: Likewise.
56808         * tests/test-utimensat.c: Likewise.
56809         * tests/test-vasnprintf-posix.c: Likewise.
56810         * tests/test-vasnprintf-posix2.c: Likewise.
56811         * tests/test-vasnprintf.c: Likewise.
56812         * tests/test-vasprintf-posix.c: Likewise.
56813         * tests/test-vasprintf.c: Likewise.
56814         * tests/test-vdprintf-posix.c: Likewise.
56815         * tests/test-vfprintf-posix.c: Likewise.
56816         * tests/test-vprintf-posix.c: Likewise.
56817         * tests/test-vsnprintf-posix.c: Likewise.
56818         * tests/test-vsnprintf.c: Likewise.
56819         * tests/test-vsprintf-posix.c: Likewise.
56820         * tests/test-wcrtomb.c: Likewise.
56821         * tests/test-wcsnrtombs.c: Likewise.
56822         * tests/test-wcsrtombs.c: Likewise.
56823         * tests/test-wctype.c: Likewise.
56824         * tests/test-wcwidth.c: Likewise.
56825         * tests/test-xfprintf-posix.c: Likewise.
56826         * tests/test-xmemdup0.c: Likewise.
56827         * tests/test-xprintf-posix.c: Likewise.
56828         * tests/test-xvasprintf.c: Likewise.
56829         * tests/unicase/test-locale-language.c: Likewise.
56830         * tests/unicase/test-mapping-part1.h: Likewise.
56831         * tests/unicase/test-predicate-part1.h: Likewise.
56832         * tests/unicase/test-u8-casecmp.c: Likewise.
56833         * tests/unicase/test-u8-casecoll.c: Likewise.
56834         * tests/unicase/test-u8-casefold.c: Likewise.
56835         * tests/unicase/test-u8-is-cased.c: Likewise.
56836         * tests/unicase/test-u8-is-casefolded.c: Likewise.
56837         * tests/unicase/test-u8-is-lowercase.c: Likewise.
56838         * tests/unicase/test-u8-is-titlecase.c: Likewise.
56839         * tests/unicase/test-u8-is-uppercase.c: Likewise.
56840         * tests/unicase/test-u8-tolower.c: Likewise.
56841         * tests/unicase/test-u8-totitle.c: Likewise.
56842         * tests/unicase/test-u8-toupper.c: Likewise.
56843         * tests/unicase/test-u16-casecmp.c: Likewise.
56844         * tests/unicase/test-u16-casecoll.c: Likewise.
56845         * tests/unicase/test-u16-casefold.c: Likewise.
56846         * tests/unicase/test-u16-is-cased.c: Likewise.
56847         * tests/unicase/test-u16-is-casefolded.c: Likewise.
56848         * tests/unicase/test-u16-is-lowercase.c: Likewise.
56849         * tests/unicase/test-u16-is-titlecase.c: Likewise.
56850         * tests/unicase/test-u16-is-uppercase.c: Likewise.
56851         * tests/unicase/test-u16-tolower.c: Likewise.
56852         * tests/unicase/test-u16-totitle.c: Likewise.
56853         * tests/unicase/test-u16-toupper.c: Likewise.
56854         * tests/unicase/test-u32-casecmp.c: Likewise.
56855         * tests/unicase/test-u32-casecoll.c: Likewise.
56856         * tests/unicase/test-u32-casefold.c: Likewise.
56857         * tests/unicase/test-u32-is-cased.c: Likewise.
56858         * tests/unicase/test-u32-is-casefolded.c: Likewise.
56859         * tests/unicase/test-u32-is-lowercase.c: Likewise.
56860         * tests/unicase/test-u32-is-titlecase.c: Likewise.
56861         * tests/unicase/test-u32-is-uppercase.c: Likewise.
56862         * tests/unicase/test-u32-tolower.c: Likewise.
56863         * tests/unicase/test-u32-totitle.c: Likewise.
56864         * tests/unicase/test-u32-toupper.c: Likewise.
56865         * tests/unicase/test-ulc-casecmp.c: Likewise.
56866         * tests/unicase/test-ulc-casecoll.c: Likewise.
56867         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
56868         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
56869         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
56870         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
56871         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
56872         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
56873         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
56874         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
56875         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
56876         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
56877         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
56878         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
56879         * tests/unictype/test-bidi_byname.c: Likewise.
56880         * tests/unictype/test-bidi_name.c: Likewise.
56881         * tests/unictype/test-bidi_of.c: Likewise.
56882         * tests/unictype/test-bidi_test.c: Likewise.
56883         * tests/unictype/test-block_list.c: Likewise.
56884         * tests/unictype/test-block_of.c: Likewise.
56885         * tests/unictype/test-block_test.c: Likewise.
56886         * tests/unictype/test-categ_and.c: Likewise.
56887         * tests/unictype/test-categ_and_not.c: Likewise.
56888         * tests/unictype/test-categ_byname.c: Likewise.
56889         * tests/unictype/test-categ_name.c: Likewise.
56890         * tests/unictype/test-categ_none.c: Likewise.
56891         * tests/unictype/test-categ_of.c: Likewise.
56892         * tests/unictype/test-categ_or.c: Likewise.
56893         * tests/unictype/test-categ_test_withtable.c: Likewise.
56894         * tests/unictype/test-combining.c: Likewise.
56895         * tests/unictype/test-decdigit.c: Likewise.
56896         * tests/unictype/test-digit.c: Likewise.
56897         * tests/unictype/test-mirror.c: Likewise.
56898         * tests/unictype/test-numeric.c: Likewise.
56899         * tests/unictype/test-pr_byname.c: Likewise.
56900         * tests/unictype/test-pr_test.c: Likewise.
56901         * tests/unictype/test-predicate-part1.h: Likewise.
56902         * tests/unictype/test-scripts.c: Likewise.
56903         * tests/unictype/test-sy_c_ident.c: Likewise.
56904         * tests/unictype/test-sy_java_ident.c: Likewise.
56905         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
56906         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
56907         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
56908         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
56909         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
56910         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
56911         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
56912         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
56913         * tests/uninorm/test-canonical-decomposition.c: Likewise.
56914         * tests/uninorm/test-compat-decomposition.c: Likewise.
56915         * tests/uninorm/test-composition.c: Likewise.
56916         * tests/uninorm/test-decomposing-form.c: Likewise.
56917         * tests/uninorm/test-decomposition.c: Likewise.
56918         * tests/uninorm/test-u8-nfc.c: Likewise.
56919         * tests/uninorm/test-u8-nfd.c: Likewise.
56920         * tests/uninorm/test-u8-nfkc.c: Likewise.
56921         * tests/uninorm/test-u8-nfkd.c: Likewise.
56922         * tests/uninorm/test-u8-normcmp.c: Likewise.
56923         * tests/uninorm/test-u8-normcoll.c: Likewise.
56924         * tests/uninorm/test-u16-nfc.c: Likewise.
56925         * tests/uninorm/test-u16-nfd.c: Likewise.
56926         * tests/uninorm/test-u16-nfkc.c: Likewise.
56927         * tests/uninorm/test-u16-nfkd.c: Likewise.
56928         * tests/uninorm/test-u16-normcmp.c: Likewise.
56929         * tests/uninorm/test-u16-normcoll.c: Likewise.
56930         * tests/uninorm/test-u32-nfc.c: Likewise.
56931         * tests/uninorm/test-u32-nfd.c: Likewise.
56932         * tests/uninorm/test-u32-nfkc.c: Likewise.
56933         * tests/uninorm/test-u32-nfkd.c: Likewise.
56934         * tests/uninorm/test-u32-normalize-big.c: Likewise.
56935         * tests/uninorm/test-u32-normcmp.c: Likewise.
56936         * tests/uninorm/test-u32-normcoll.c: Likewise.
56937         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
56938         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
56939         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
56940         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
56941         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
56942         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
56943         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
56944         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
56945         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
56946         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
56947         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
56948         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
56949         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
56950         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
56951         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
56952         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
56953         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
56954         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
56955         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
56956         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
56957         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
56958         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
56959         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
56960         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
56961         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
56962         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
56963         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
56964         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
56965         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
56966         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
56967         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
56968         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
56969         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
56970         * tests/uniwidth/test-u8-strwidth.c: Likewise.
56971         * tests/uniwidth/test-u8-width.c: Likewise.
56972         * tests/uniwidth/test-u16-strwidth.c: Likewise.
56973         * tests/uniwidth/test-u16-width.c: Likewise.
56974         * tests/uniwidth/test-u32-strwidth.c: Likewise.
56975         * tests/uniwidth/test-u32-width.c: Likewise.
56976         * tests/uniwidth/test-uc_width.c: Likewise.
56977         * tests/uniwidth/test-uc_width2.c: Likewise.
56978         * modules/acl-tests (Files): Add tests/macros.h.
56979         * modules/areadlink-tests (Files): Likewise.
56980         * modules/areadlink-with-size-tests (Files): Likewise.
56981         * modules/areadlinkat-tests (Files): Likewise.
56982         * modules/areadlinkat-with-size-tests (Files): Likewise.
56983         * modules/argmatch-tests (Files): Likewise.
56984         * modules/argv-iter-tests (Files): Likewise.
56985         * modules/array-list-tests (Files): Likewise.
56986         * modules/array-mergesort-tests (Files): Likewise.
56987         * modules/array-oset-tests (Files): Likewise.
56988         * modules/avltree-list-tests (Files): Likewise.
56989         * modules/avltree-oset-tests (Files): Likewise.
56990         * modules/avltreehash-list-tests (Files): Likewise.
56991         * modules/base64-tests (Files): Likewise.
56992         * modules/binary-io-tests (Files): Likewise.
56993         * modules/bitrotate-tests (Files): Likewise.
56994         * modules/btowc-tests (Files): Likewise.
56995         * modules/byteswap-tests (Files): Likewise.
56996         * modules/c-ctype-tests (Files): Likewise.
56997         * modules/c-stack-tests (Files): Likewise.
56998         * modules/c-strcase-tests (Files): Likewise.
56999         * modules/c-strcasestr-tests (Files): Likewise.
57000         * modules/c-strstr-tests (Files): Likewise.
57001         * modules/canonicalize-lgpl-tests (Files): Likewise.
57002         * modules/canonicalize-tests (Files): Likewise.
57003         * modules/carray-list-tests (Files): Likewise.
57004         * modules/ceilf-tests (Files): Likewise.
57005         * modules/ceill-tests (Files): Likewise.
57006         * modules/chown-tests (Files): Likewise.
57007         * modules/cloexec-tests (Files): Likewise.
57008         * modules/copy-file-tests (Files): Likewise.
57009         * modules/count-one-bits-tests (Files): Likewise.
57010         * modules/dprintf-posix-tests (Files): Likewise.
57011         * modules/dup2-tests (Files): Likewise.
57012         * modules/dup3-tests (Files): Likewise.
57013         * modules/duplocale-tests (Files): Likewise.
57014         * modules/fbufmode-tests (Files): Likewise.
57015         * modules/fchdir-tests (Files): Likewise.
57016         * modules/fcntl-safer-tests (Files): Likewise.
57017         * modules/fcntl-tests (Files): Likewise.
57018         * modules/fdopendir-tests (Files): Likewise.
57019         * modules/fdutimensat-tests (Files): Likewise.
57020         * modules/fflush-tests (Files): Likewise.
57021         * modules/filevercmp-tests (Files): Likewise.
57022         * modules/flock-tests (Files): Likewise.
57023         * modules/floorf-tests (Files): Likewise.
57024         * modules/floorl-tests (Files): Likewise.
57025         * modules/fnmatch-tests (Files): Likewise.
57026         * modules/fopen-safer-tests (Files): Likewise.
57027         * modules/fopen-tests (Files): Likewise.
57028         * modules/fpending-tests (Files): Likewise.
57029         * modules/fprintf-posix-tests (Files): Likewise.
57030         * modules/fpurge-tests (Files): Likewise.
57031         * modules/freadable-tests (Files): Likewise.
57032         * modules/freadahead-tests (Files): Likewise.
57033         * modules/freading-tests (Files): Likewise.
57034         * modules/freadptr-tests (Files): Likewise.
57035         * modules/freadseek-tests (Files): Likewise.
57036         * modules/freopen-tests (Files): Likewise.
57037         * modules/frexp-nolibm-tests (Files): Likewise.
57038         * modules/frexp-tests (Files): Likewise.
57039         * modules/frexpl-nolibm-tests (Files): Likewise.
57040         * modules/frexpl-tests (Files): Likewise.
57041         * modules/fseek-tests (Files): Likewise.
57042         * modules/fseeko-tests (Files): Likewise.
57043         * modules/fstrcmp-tests (Files): Likewise.
57044         * modules/fsync-tests (Files): Likewise.
57045         * modules/ftell-tests (Files): Likewise.
57046         * modules/ftello-tests (Files): Likewise.
57047         * modules/func-tests (Files): Likewise.
57048         * modules/futimens-tests (Files): Likewise.
57049         * modules/fwritable-tests (Files): Likewise.
57050         * modules/fwriting-tests (Files): Likewise.
57051         * modules/getcwd-tests (Files): Likewise.
57052         * modules/getdate-tests (Files): Likewise.
57053         * modules/getdelim-tests (Files): Likewise.
57054         * modules/getdtablesize-tests (Files): Likewise.
57055         * modules/getgroups-tests (Files): Likewise.
57056         * modules/getline-tests (Files): Likewise.
57057         * modules/getndelim2-tests (Files): Likewise.
57058         * modules/glob-tests (Files): Likewise.
57059         * modules/hash-tests (Files): Likewise.
57060         * modules/i-ring-tests (Files): Likewise.
57061         * modules/iconv-tests (Files): Likewise.
57062         * modules/iconv_open-utf-tests (Files): Likewise.
57063         * modules/idpriv-drop-tests (Files): Likewise.
57064         * modules/idpriv-droptemp-tests (Files): Likewise.
57065         * modules/inet_ntop-tests (Files): Likewise.
57066         * modules/inet_pton-tests (Files): Likewise.
57067         * modules/isblank-tests (Files): Likewise.
57068         * modules/isfinite-tests (Files): Likewise.
57069         * modules/isinf-tests (Files): Likewise.
57070         * modules/isnan-tests (Files): Likewise.
57071         * modules/isnand-nolibm-tests (Files): Likewise.
57072         * modules/isnand-tests (Files): Likewise.
57073         * modules/isnanf-nolibm-tests (Files): Likewise.
57074         * modules/isnanf-tests (Files): Likewise.
57075         * modules/isnanl-nolibm-tests (Files): Likewise.
57076         * modules/isnanl-tests (Files): Likewise.
57077         * modules/lchown-tests (Files): Likewise.
57078         * modules/ldexpl-tests (Files): Likewise.
57079         * modules/link-tests (Files): Likewise.
57080         * modules/linkat-tests (Files): Likewise.
57081         * modules/linked-list-tests (Files): Likewise.
57082         * modules/linkedhash-list-tests (Files): Likewise.
57083         * modules/localename-tests (Files): Likewise.
57084         * modules/lseek-tests (Files): Likewise.
57085         * modules/lstat-tests (Files): Likewise.
57086         * modules/mbmemcasecmp-tests (Files): Likewise.
57087         * modules/mbmemcasecoll-tests (Files): Likewise.
57088         * modules/mbrtowc-tests (Files): Likewise.
57089         * modules/mbscasecmp-tests (Files): Likewise.
57090         * modules/mbscasestr-tests (Files): Likewise.
57091         * modules/mbschr-tests (Files): Likewise.
57092         * modules/mbscspn-tests (Files): Likewise.
57093         * modules/mbsinit-tests (Files): Likewise.
57094         * modules/mbsncasecmp-tests (Files): Likewise.
57095         * modules/mbsnrtowcs-tests (Files): Likewise.
57096         * modules/mbspbrk-tests (Files): Likewise.
57097         * modules/mbspcasecmp-tests (Files): Likewise.
57098         * modules/mbsrchr-tests (Files): Likewise.
57099         * modules/mbsrtowcs-tests (Files): Likewise.
57100         * modules/mbsspn-tests (Files): Likewise.
57101         * modules/mbsstr-tests (Files): Likewise.
57102         * modules/memchr-tests (Files): Likewise.
57103         * modules/memchr2-tests (Files): Likewise.
57104         * modules/memcmp-tests (Files): Likewise.
57105         * modules/memmem-tests (Files): Likewise.
57106         * modules/memrchr-tests (Files): Likewise.
57107         * modules/mkdir-tests (Files): Likewise.
57108         * modules/mkfifo-tests (Files): Likewise.
57109         * modules/mkfifoat-tests (Files): Likewise.
57110         * modules/mknod-tests (Files): Likewise.
57111         * modules/nanosleep-tests (Files): Likewise.
57112         * modules/nl_langinfo-tests (Files): Likewise.
57113         * modules/obstack-printf-tests (Files): Likewise.
57114         * modules/open-tests (Files): Likewise.
57115         * modules/openat-tests (Files): Likewise.
57116         * modules/pipe-filter-gi-tests (Files): Likewise.
57117         * modules/pipe-filter-ii-tests (Files): Likewise.
57118         * modules/pipe2-tests (Files): Likewise.
57119         * modules/popen-safer-tests (Files): Likewise.
57120         * modules/popen-tests (Files): Likewise.
57121         * modules/posixtm-tests (Files): Likewise.
57122         * modules/pread-tests (Files): Likewise.
57123         * modules/printf-frexp-tests (Files): Likewise.
57124         * modules/printf-frexpl-tests (Files): Likewise.
57125         * modules/printf-posix-tests (Files): Likewise.
57126         * modules/priv-set-tests (Files): Likewise.
57127         * modules/quotearg-tests (Files): Likewise.
57128         * modules/random_r-tests (Files): Likewise.
57129         * modules/rawmemchr-tests (Files): Likewise.
57130         * modules/rbtree-list-tests (Files): Likewise.
57131         * modules/rbtree-oset-tests (Files): Likewise.
57132         * modules/rbtreehash-list-tests (Files): Likewise.
57133         * modules/readlink-tests (Files): Likewise.
57134         * modules/remove-tests (Files): Likewise.
57135         * modules/rename-tests (Files): Likewise.
57136         * modules/renameat-tests (Files): Likewise.
57137         * modules/rmdir-tests (Files): Likewise.
57138         * modules/round-tests (Files): Likewise.
57139         * modules/roundf-tests (Files): Likewise.
57140         * modules/roundl-tests (Files): Likewise.
57141         * modules/safe-alloc-tests (Files): Likewise.
57142         * modules/setenv-tests (Files): Likewise.
57143         * modules/sigaction-tests (Files): Likewise.
57144         * modules/signbit-tests (Files): Likewise.
57145         * modules/sleep-tests (Files): Likewise.
57146         * modules/snprintf-posix-tests (Files): Likewise.
57147         * modules/snprintf-tests (Files): Likewise.
57148         * modules/sprintf-posix-tests (Files): Likewise.
57149         * modules/stat-tests (Files): Likewise.
57150         * modules/stat-time-tests (Files): Likewise.
57151         * modules/strcasestr-tests (Files): Likewise.
57152         * modules/strchrnul-tests (Files): Likewise.
57153         * modules/strerror-tests (Files): Likewise.
57154         * modules/striconv-tests (Files): Likewise.
57155         * modules/striconveh-tests (Files): Likewise.
57156         * modules/striconveha-tests (Files): Likewise.
57157         * modules/strsignal-tests (Files): Likewise.
57158         * modules/strstr-tests (Files): Likewise.
57159         * modules/strtod-tests (Files): Likewise.
57160         * modules/strverscmp-tests (Files): Likewise.
57161         * modules/symlink-tests (Files): Likewise.
57162         * modules/symlinkat-tests (Files): Likewise.
57163         * modules/trunc-tests (Files): Likewise.
57164         * modules/truncf-tests (Files): Likewise.
57165         * modules/truncl-tests (Files): Likewise.
57166         * modules/uname-tests (Files): Likewise.
57167         * modules/unicase/cased-tests (Files): Likewise.
57168         * modules/unicase/ignorable-tests (Files): Likewise.
57169         * modules/unicase/locale-language-tests (Files): Likewise.
57170         * modules/unicase/tolower-tests (Files): Likewise.
57171         * modules/unicase/totitle-tests (Files): Likewise.
57172         * modules/unicase/toupper-tests (Files): Likewise.
57173         * modules/unicase/u8-casecmp-tests (Files): Likewise.
57174         * modules/unicase/u8-casecoll-tests (Files): Likewise.
57175         * modules/unicase/u8-casefold-tests (Files): Likewise.
57176         * modules/unicase/u8-is-cased-tests (Files): Likewise.
57177         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
57178         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
57179         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
57180         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
57181         * modules/unicase/u8-tolower-tests (Files): Likewise.
57182         * modules/unicase/u8-totitle-tests (Files): Likewise.
57183         * modules/unicase/u8-toupper-tests (Files): Likewise.
57184         * modules/unicase/u16-casecmp-tests (Files): Likewise.
57185         * modules/unicase/u16-casecoll-tests (Files): Likewise.
57186         * modules/unicase/u16-casefold-tests (Files): Likewise.
57187         * modules/unicase/u16-is-cased-tests (Files): Likewise.
57188         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
57189         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
57190         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
57191         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
57192         * modules/unicase/u16-tolower-tests (Files): Likewise.
57193         * modules/unicase/u16-totitle-tests (Files): Likewise.
57194         * modules/unicase/u16-toupper-tests (Files): Likewise.
57195         * modules/unicase/u32-casecmp-tests (Files): Likewise.
57196         * modules/unicase/u32-casecoll-tests (Files): Likewise.
57197         * modules/unicase/u32-casefold-tests (Files): Likewise.
57198         * modules/unicase/u32-is-cased-tests (Files): Likewise.
57199         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
57200         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
57201         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
57202         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
57203         * modules/unicase/u32-tolower-tests (Files): Likewise.
57204         * modules/unicase/u32-totitle-tests (Files): Likewise.
57205         * modules/unicase/u32-toupper-tests (Files): Likewise.
57206         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
57207         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
57208         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
57209         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
57210         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
57211         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
57212         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
57213         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
57214         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
57215         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
57216         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
57217         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
57218         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
57219         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
57220         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
57221         * modules/unictype/bidicategory-name-tests (Files): Likewise.
57222         * modules/unictype/bidicategory-of-tests (Files): Likewise.
57223         * modules/unictype/bidicategory-test-tests (Files): Likewise.
57224         * modules/unictype/block-list-tests (Files): Likewise.
57225         * modules/unictype/block-of-tests (Files): Likewise.
57226         * modules/unictype/block-test-tests (Files): Likewise.
57227         * modules/unictype/category-C-tests (Files): Likewise.
57228         * modules/unictype/category-Cc-tests (Files): Likewise.
57229         * modules/unictype/category-Cf-tests (Files): Likewise.
57230         * modules/unictype/category-Cn-tests (Files): Likewise.
57231         * modules/unictype/category-Co-tests (Files): Likewise.
57232         * modules/unictype/category-Cs-tests (Files): Likewise.
57233         * modules/unictype/category-L-tests (Files): Likewise.
57234         * modules/unictype/category-Ll-tests (Files): Likewise.
57235         * modules/unictype/category-Lm-tests (Files): Likewise.
57236         * modules/unictype/category-Lo-tests (Files): Likewise.
57237         * modules/unictype/category-Lt-tests (Files): Likewise.
57238         * modules/unictype/category-Lu-tests (Files): Likewise.
57239         * modules/unictype/category-M-tests (Files): Likewise.
57240         * modules/unictype/category-Mc-tests (Files): Likewise.
57241         * modules/unictype/category-Me-tests (Files): Likewise.
57242         * modules/unictype/category-Mn-tests (Files): Likewise.
57243         * modules/unictype/category-N-tests (Files): Likewise.
57244         * modules/unictype/category-Nd-tests (Files): Likewise.
57245         * modules/unictype/category-Nl-tests (Files): Likewise.
57246         * modules/unictype/category-No-tests (Files): Likewise.
57247         * modules/unictype/category-P-tests (Files): Likewise.
57248         * modules/unictype/category-Pc-tests (Files): Likewise.
57249         * modules/unictype/category-Pd-tests (Files): Likewise.
57250         * modules/unictype/category-Pe-tests (Files): Likewise.
57251         * modules/unictype/category-Pf-tests (Files): Likewise.
57252         * modules/unictype/category-Pi-tests (Files): Likewise.
57253         * modules/unictype/category-Po-tests (Files): Likewise.
57254         * modules/unictype/category-Ps-tests (Files): Likewise.
57255         * modules/unictype/category-S-tests (Files): Likewise.
57256         * modules/unictype/category-Sc-tests (Files): Likewise.
57257         * modules/unictype/category-Sk-tests (Files): Likewise.
57258         * modules/unictype/category-Sm-tests (Files): Likewise.
57259         * modules/unictype/category-So-tests (Files): Likewise.
57260         * modules/unictype/category-Z-tests (Files): Likewise.
57261         * modules/unictype/category-Zl-tests (Files): Likewise.
57262         * modules/unictype/category-Zp-tests (Files): Likewise.
57263         * modules/unictype/category-Zs-tests (Files): Likewise.
57264         * modules/unictype/category-and-not-tests (Files): Likewise.
57265         * modules/unictype/category-and-tests (Files): Likewise.
57266         * modules/unictype/category-byname-tests (Files): Likewise.
57267         * modules/unictype/category-name-tests (Files): Likewise.
57268         * modules/unictype/category-none-tests (Files): Likewise.
57269         * modules/unictype/category-of-tests (Files): Likewise.
57270         * modules/unictype/category-or-tests (Files): Likewise.
57271         * modules/unictype/category-test-withtable-tests (Files): Likewise.
57272         * modules/unictype/combining-class-tests (Files): Likewise.
57273         * modules/unictype/ctype-alnum-tests (Files): Likewise.
57274         * modules/unictype/ctype-alpha-tests (Files): Likewise.
57275         * modules/unictype/ctype-blank-tests (Files): Likewise.
57276         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
57277         * modules/unictype/ctype-digit-tests (Files): Likewise.
57278         * modules/unictype/ctype-graph-tests (Files): Likewise.
57279         * modules/unictype/ctype-lower-tests (Files): Likewise.
57280         * modules/unictype/ctype-print-tests (Files): Likewise.
57281         * modules/unictype/ctype-punct-tests (Files): Likewise.
57282         * modules/unictype/ctype-space-tests (Files): Likewise.
57283         * modules/unictype/ctype-upper-tests (Files): Likewise.
57284         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
57285         * modules/unictype/decimal-digit-tests (Files): Likewise.
57286         * modules/unictype/digit-tests (Files): Likewise.
57287         * modules/unictype/mirror-tests (Files): Likewise.
57288         * modules/unictype/numeric-tests (Files): Likewise.
57289         * modules/unictype/property-alphabetic-tests (Files): Likewise.
57290         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
57291         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
57292         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
57293         Likewise.
57294         * modules/unictype/property-bidi-block-separator-tests (Files):
57295         Likewise.
57296         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
57297         Likewise.
57298         * modules/unictype/property-bidi-common-separator-tests (Files):
57299         Likewise.
57300         * modules/unictype/property-bidi-control-tests (Files): Likewise.
57301         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
57302         Likewise.
57303         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
57304         Likewise.
57305         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
57306         Likewise.
57307         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
57308         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
57309         Likewise.
57310         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
57311         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
57312         Likewise.
57313         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
57314         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
57315         * modules/unictype/property-bidi-segment-separator-tests (Files):
57316         Likewise.
57317         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
57318         * modules/unictype/property-byname-tests (Files): Likewise.
57319         * modules/unictype/property-combining-tests (Files): Likewise.
57320         * modules/unictype/property-composite-tests (Files): Likewise.
57321         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
57322         * modules/unictype/property-dash-tests (Files): Likewise.
57323         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
57324         * modules/unictype/property-default-ignorable-code-point-tests (Files):
57325         Likewise.
57326         * modules/unictype/property-deprecated-tests (Files): Likewise.
57327         * modules/unictype/property-diacritic-tests (Files): Likewise.
57328         * modules/unictype/property-extender-tests (Files): Likewise.
57329         * modules/unictype/property-format-control-tests (Files): Likewise.
57330         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
57331         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
57332         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
57333         * modules/unictype/property-hex-digit-tests (Files): Likewise.
57334         * modules/unictype/property-hyphen-tests (Files): Likewise.
57335         * modules/unictype/property-id-continue-tests (Files): Likewise.
57336         * modules/unictype/property-id-start-tests (Files): Likewise.
57337         * modules/unictype/property-ideographic-tests (Files): Likewise.
57338         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
57339         * modules/unictype/property-ids-trinary-operator-tests (Files):
57340         Likewise.
57341         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
57342         * modules/unictype/property-iso-control-tests (Files): Likewise.
57343         * modules/unictype/property-join-control-tests (Files): Likewise.
57344         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
57345         * modules/unictype/property-line-separator-tests (Files): Likewise.
57346         * modules/unictype/property-logical-order-exception-tests (Files):
57347         Likewise.
57348         * modules/unictype/property-lowercase-tests (Files): Likewise.
57349         * modules/unictype/property-math-tests (Files): Likewise.
57350         * modules/unictype/property-non-break-tests (Files): Likewise.
57351         * modules/unictype/property-not-a-character-tests (Files): Likewise.
57352         * modules/unictype/property-numeric-tests (Files): Likewise.
57353         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
57354         * modules/unictype/property-other-default-ignorable-code-point-tests
57355         (Files): Likewise.
57356         * modules/unictype/property-other-grapheme-extend-tests (Files):
57357         Likewise.
57358         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
57359         * modules/unictype/property-other-id-start-tests (Files): Likewise.
57360         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
57361         * modules/unictype/property-other-math-tests (Files): Likewise.
57362         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
57363         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
57364         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
57365         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
57366         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
57367         * modules/unictype/property-private-use-tests (Files): Likewise.
57368         * modules/unictype/property-punctuation-tests (Files): Likewise.
57369         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
57370         * modules/unictype/property-radical-tests (Files): Likewise.
57371         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
57372         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
57373         * modules/unictype/property-space-tests (Files): Likewise.
57374         * modules/unictype/property-terminal-punctuation-tests (Files):
57375         Likewise.
57376         * modules/unictype/property-test-tests (Files): Likewise.
57377         * modules/unictype/property-titlecase-tests (Files): Likewise.
57378         * modules/unictype/property-unassigned-code-value-tests (Files):
57379         Likewise.
57380         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
57381         * modules/unictype/property-uppercase-tests (Files): Likewise.
57382         * modules/unictype/property-variation-selector-tests (Files): Likewise.
57383         * modules/unictype/property-white-space-tests (Files): Likewise.
57384         * modules/unictype/property-xid-continue-tests (Files): Likewise.
57385         * modules/unictype/property-xid-start-tests (Files): Likewise.
57386         * modules/unictype/property-zero-width-tests (Files): Likewise.
57387         * modules/unictype/scripts-tests (Files): Likewise.
57388         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
57389         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
57390         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
57391         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
57392         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
57393         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
57394         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
57395         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
57396         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
57397         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
57398         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
57399         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
57400         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
57401         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
57402         * modules/uninorm/composition-tests (Files): Likewise.
57403         * modules/uninorm/decomposing-form-tests (Files): Likewise.
57404         * modules/uninorm/decomposition-tests (Files): Likewise.
57405         * modules/uninorm/filter-tests (Files): Likewise.
57406         * modules/uninorm/nfc-tests (Files): Likewise.
57407         * modules/uninorm/nfd-tests (Files): Likewise.
57408         * modules/uninorm/nfkc-tests (Files): Likewise.
57409         * modules/uninorm/nfkd-tests (Files): Likewise.
57410         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
57411         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
57412         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
57413         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
57414         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
57415         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
57416         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
57417         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
57418         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
57419         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
57420         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
57421         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
57422         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
57423         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
57424         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
57425         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
57426         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
57427         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
57428         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
57429         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
57430         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
57431         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
57432         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
57433         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
57434         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
57435         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
57436         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
57437         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
57438         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
57439         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
57440         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
57441         * modules/uniwidth/u8-width-tests (Files): Likewise.
57442         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
57443         * modules/uniwidth/u16-width-tests (Files): Likewise.
57444         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
57445         * modules/uniwidth/u32-width-tests (Files): Likewise.
57446         * modules/uniwidth/width-tests (Files): Likewise.
57447         * modules/unlink-tests (Files): Likewise.
57448         * modules/unsetenv-tests (Files): Likewise.
57449         * modules/usleep-tests (Files): Likewise.
57450         * modules/utimens-tests (Files): Likewise.
57451         * modules/utimensat-tests (Files): Likewise.
57452         * modules/vasnprintf-posix-tests (Files): Likewise.
57453         * modules/vasnprintf-tests (Files): Likewise.
57454         * modules/vasprintf-posix-tests (Files): Likewise.
57455         * modules/vasprintf-tests (Files): Likewise.
57456         * modules/vdprintf-posix-tests (Files): Likewise.
57457         * modules/vfprintf-posix-tests (Files): Likewise.
57458         * modules/vprintf-posix-tests (Files): Likewise.
57459         * modules/vsnprintf-posix-tests (Files): Likewise.
57460         * modules/vsnprintf-tests (Files): Likewise.
57461         * modules/vsprintf-posix-tests (Files): Likewise.
57462         * modules/wcrtomb-tests (Files): Likewise.
57463         * modules/wcsnrtombs-tests (Files): Likewise.
57464         * modules/wcsrtombs-tests (Files): Likewise.
57465         * modules/wctype-tests (Files): Likewise.
57466         * modules/wcwidth-tests (Files): Likewise.
57467         * modules/xmemdup0-tests (Files): Likewise.
57468         * modules/xprintf-posix-tests (Files): Likewise.
57469         * modules/xvasprintf-tests (Files): Likewise.
57471 2009-12-24  Eric Blake  <ebb9@byu.net>
57473         test-nanosleep: fix typo
57474         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
57475         patch.
57476         Reported by Bruno Haible.
57478 2009-12-24  Bruno Haible  <bruno@clisp.org>
57480         Reduce namespace pollution on glibc systems.
57481         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
57482         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
57483         systems.
57484         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
57485         <getopt.h> on glibc systems.
57486         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
57487         systems.
57488         * lib/fcntl.c: Include <unistd.h> here instead.
57490 2009-12-24  Bruno Haible  <bruno@clisp.org>
57492         * lib/stdlib.in.h (includes): Fix typo in today's commit.
57494 2009-12-24  Eric Blake  <ebb9@byu.net>
57496         tests: add signature checks
57497         * tests/signature.h (SIGNATURE_CHECK): New file.
57498         * modules/atexit-tests (Files): Use it.
57499         * modules/btowc-tests (Files): Likewise.
57500         * modules/canonicalize-lgpl-tests (Files): Likewise.
57501         * modules/ceilf-tests (Files): Likewise.
57502         * modules/ceill-tests (Files): Likewise.
57503         * modules/chown-tests (Files): Likewise.
57504         * modules/dprintf-posix-tests (Files): Likewise.
57505         * modules/dup2-tests (Files): Likewise.
57506         * modules/dup3-tests (Files): Likewise.
57507         * modules/duplocale-tests (Files): Likewise.
57508         * modules/fchdir-tests (Files): Likewise.
57509         * modules/fcntl-tests (Files): Likewise.
57510         * modules/fdopendir-tests (Files): Likewise.
57511         * modules/fflush-tests (Files): Likewise.
57512         * modules/flock-tests (Files): Likewise.
57513         * modules/floorf-tests (Files): Likewise.
57514         * modules/floorl-tests (Files): Likewise.
57515         * modules/fnmatch-tests (Files): Likewise.
57516         * modules/fopen-tests (Files): Likewise.
57517         * modules/fprintf-posix-tests (Files): Likewise.
57518         * modules/freopen-tests (Files): Likewise.
57519         * modules/frexp-nolibm-tests (Files): Likewise.
57520         * modules/frexp-tests (Files): Likewise.
57521         * modules/frexpl-nolibm-tests (Files): Likewise.
57522         * modules/frexpl-tests (Files): Likewise.
57523         * modules/fseek-tests (Files): Likewise.
57524         * modules/fseeko-tests (Files): Likewise.
57525         * modules/fsync-tests (Files): Likewise.
57526         * modules/ftell-tests (Files): Likewise.
57527         * modules/ftello-tests (Files): Likewise.
57528         * modules/futimens-tests (Files): Likewise.
57529         * modules/getaddrinfo-tests (Files): Likewise.
57530         * modules/getcwd-tests (Files): Likewise.
57531         * modules/getdelim-tests (Files): Likewise.
57532         * modules/getdtablesize-tests (Files): Likewise.
57533         * modules/getgroups-tests (Files): Likewise.
57534         * modules/gethostname-tests (Files): Likewise.
57535         * modules/getline-tests (Files): Likewise.
57536         * modules/getopt-posix-tests (Files): Likewise.
57537         * modules/gettimeofday-tests (Files): Likewise.
57538         * modules/glob-tests (Files): Likewise.
57539         * modules/iconv-tests (Files): Likewise.
57540         * modules/inet_ntop-tests (Files): Likewise.
57541         * modules/inet_pton-tests (Files): Likewise.
57542         * modules/isblank-tests (Files): Likewise.
57543         * modules/lchown-tests (Files): Likewise.
57544         * modules/ldexpl-tests (Files): Likewise.
57545         * modules/link-tests (Files): Likewise.
57546         * modules/linkat-tests (Files): Likewise.
57547         * modules/lseek-tests (Files): Likewise.
57548         * modules/lstat-tests (Files): Likewise.
57549         * modules/mbrtowc-tests (Files): Likewise.
57550         * modules/mbsinit-tests (Files): Likewise.
57551         * modules/mbsnrtowcs-tests (Files): Likewise.
57552         * modules/mbsrtowcs-tests (Files): Likewise.
57553         * modules/memchr-tests (Files): Likewise.
57554         * modules/memcmp-tests (Files): Likewise.
57555         * modules/memmem-tests (Files): Likewise.
57556         * modules/memrchr-tests (Files): Likewise.
57557         * modules/mkdir-tests (Files): Likewise.
57558         * modules/mkfifo-tests (Files): Likewise.
57559         * modules/mkfifoat-tests (Files): Likewise.
57560         * modules/mknod-tests (Files): Likewise.
57561         * modules/nanosleep-tests (Files): Likewise.
57562         * modules/nl_langinfo-tests (Files): Likewise.
57563         * modules/obstack-printf-tests (Files): Likewise.
57564         * modules/open-tests (Files): Likewise.
57565         * modules/openat-tests (Files): Likewise.
57566         * modules/perror-tests (Files): Likewise.
57567         * modules/pipe2-tests (Files): Likewise.
57568         * modules/poll-tests (Files): Likewise.
57569         * modules/popen-tests (Files): Likewise.
57570         * modules/posix_spawn-tests (Files): Likewise.
57571         * modules/posix_spawnp-tests (Files): Likewise.
57572         * modules/pread-tests (Files): Likewise.
57573         * modules/printf-posix-tests (Files): Likewise.
57574         * modules/pty-tests (Files): Likewise.
57575         * modules/random_r-tests (Files): Likewise.
57576         * modules/rawmemchr-tests (Files): Likewise.
57577         * modules/readlink-tests (Files): Likewise.
57578         * modules/remove-tests (Files): Likewise.
57579         * modules/rename-tests (Files): Likewise.
57580         * modules/renameat-tests (Files): Likewise.
57581         * modules/rmdir-tests (Files): Likewise.
57582         * modules/round-tests (Files): Likewise.
57583         * modules/roundf-tests (Files): Likewise.
57584         * modules/roundl-tests (Files): Likewise.
57585         * modules/select-tests (Files): Likewise.
57586         * modules/setenv-tests (Files): Likewise.
57587         * modules/sigaction-tests (Files): Likewise.
57588         * modules/sleep-tests (Files): Likewise.
57589         * modules/snprintf-posix-tests (Files): Likewise.
57590         * modules/snprintf-tests (Files): Likewise.
57591         * modules/sprintf-posix-tests (Files): Likewise.
57592         * modules/stat-tests (Files): Likewise.
57593         * modules/strcasestr-tests (Files): Likewise.
57594         * modules/strchrnul-tests (Files): Likewise.
57595         * modules/strerror-tests (Files): Likewise.
57596         * modules/strsignal-tests (Files): Likewise.
57597         * modules/strstr-tests (Files): Likewise.
57598         * modules/strtod-tests (Files): Likewise.
57599         * modules/strverscmp-tests (Files): Likewise.
57600         * modules/symlink-tests (Files): Likewise.
57601         * modules/symlinkat-tests (Files): Likewise.
57602         * modules/times-tests (Files): Likewise.
57603         * modules/trunc-tests (Files): Likewise.
57604         * modules/truncf-tests (Files): Likewise.
57605         * modules/truncl-tests (Files): Likewise.
57606         * modules/tsearch-tests (Files): Likewise.
57607         * modules/uname-tests (Files): Likewise.
57608         * modules/unlink-tests (Files): Likewise.
57609         * modules/unsetenv-tests (Files): Likewise.
57610         * modules/usleep-tests (Files): Likewise.
57611         * modules/utimensat-tests (Files): Likewise.
57612         * modules/vasprintf-tests (Files): Likewise.
57613         * modules/vdprintf-posix-tests (Files): Likewise.
57614         * modules/vfprintf-posix-tests (Files): Likewise.
57615         * modules/vprintf-posix-tests (Files): Likewise.
57616         * modules/vsnprintf-posix-tests (Files): Likewise.
57617         * modules/vsnprintf-tests (Files): Likewise.
57618         * modules/vsprintf-posix-tests (Files): Likewise.
57619         * modules/wcrtomb-tests (Files): Likewise.
57620         * modules/wcsnrtombs-tests (Files): Likewise.
57621         * modules/wcsrtombs-tests (Files): Likewise.
57622         * modules/wcwidth-tests (Files): Likewise.
57623         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
57624         * tests/test-isinf.c (isinf): Likewise.
57625         * tests/test-isnan.c (isnan): Likewise.
57626         * tests/test-signbit.c (signbit): Likewise.
57627         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
57628         declaration, either as macro or with correct signature.
57629         (select): Ensure function under test is declared with correct
57630         signature in correct header.
57631         * tests/test-atexit.c (atexit): Likewise.
57632         * tests/test-btowc.c (btowc): Likewise.
57633         * tests/test-canonicalize-lgpl.c (realpath)
57634         (canonicalize_file_name): Likewise.
57635         * tests/test-ceilf1.c (ceilf): Likewise.
57636         * tests/test-ceill.c (ceill): Likewise.
57637         * tests/test-chown.c (chown): Likewise.
57638         * tests/test-dprintf-posix.c (dprintf): Likewise.
57639         * tests/test-dup2.c (dup2): Likewise.
57640         * tests/test-dup3.c (dup3): Likewise.
57641         * tests/test-duplocale.c (duplocale): Likewise.
57642         * tests/test-fchdir.c (fchdir): Likewise.
57643         * tests/test-fchownat.c (fchownat): Likewise.
57644         * tests/test-fcntl.c (fcntl): Likewise.
57645         * tests/test-fdopendir.c (fdopendir): Likewise.
57646         * tests/test-fflush.c (fflush): Likewise.
57647         * tests/test-flock.c (flock): Likewise.
57648         * tests/test-floorf1.c (floorf): Likewise.
57649         * tests/test-floorl.c (floorl): Likewise.
57650         * tests/test-fnmatch.c (fnmatch): Likewise.
57651         * tests/test-fopen.c (fopen): Likewise.
57652         * tests/test-fprintf-posix.c (fprintf): Likewise.
57653         * tests/test-freopen.c (freopen): Likewise.
57654         * tests/test-frexp.c (frexp): Likewise.
57655         * tests/test-frexpl.c (frexpl): Likewise.
57656         * tests/test-fseek.c (fseek): Likewise.
57657         * tests/test-fseeko.c (fseeko): Likewise.
57658         * tests/test-fstatat.c (fstatat): Likewise.
57659         * tests/test-fsync.c (fsync): Likewise.
57660         * tests/test-ftell.c (ftell): Likewise.
57661         * tests/test-ftello.c (ftello): Likewise.
57662         * tests/test-futimens.c (futimens): Likewise.
57663         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
57664         (gai_strerror): Likewise.
57665         * tests/test-getcwd.c (getcwd): Likewise.
57666         * tests/test-getdelim.c (getdelim): Likewise.
57667         * tests/test-getdtablesize.c (getdtablesize): Likewise.
57668         * tests/test-getgroups.c (getgroups): Likewise.
57669         * tests/test-gethostname.c (gethostname): Likewise.
57670         * tests/test-getline.c (getline): Likewise.
57671         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
57672         Likewise.
57673         * tests/test-gettimeofday.c (gettimeofday): Likewise.
57674         * tests/test-glob.c (glob, globfree): Likewise.
57675         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
57676         * tests/test-inet_ntop.c (inet_ntop): Likewise.
57677         * tests/test-inet_pton.c (inet_pton): Likewise.
57678         * tests/test-isblank.c (isblank): Likewise.
57679         * tests/test-lchown.c (lchown): Likewise.
57680         * tests/test-ldexpl.c (ldexpl): Likewise.
57681         * tests/test-link.c (link): Likewise.
57682         * tests/test-linkat.c (linkat): Likewise.
57683         * tests/test-lseek.c (lseek): Likewise.
57684         * tests/test-lstat.c (lstat): Likewise.
57685         * tests/test-mbrtowc.c (mbrtowc): Likewise.
57686         * tests/test-mbsinit.c (mbsinit): Likewise.
57687         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
57688         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
57689         * tests/test-memchr.c (memchr): Likewise.
57690         * tests/test-memcmp.c (memcmp): Likewise.
57691         * tests/test-memmem.c (memmem): Likewise.
57692         * tests/test-memrchr.c (memrchr): Likewise.
57693         * tests/test-mkdir.c (mkdir): Likewise.
57694         * tests/test-mkdirat.c (mkdirat): Likewise.
57695         * tests/test-mkfifo.c (mkfifo): Likewise.
57696         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
57697         * tests/test-mknod.c (mknod): Likewise.
57698         * tests/test-nanosleep.c (nanosleep): Likewise.
57699         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
57700         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
57701         Likewise.
57702         * tests/test-open.c (open): Likewise.
57703         * tests/test-openat.c (openat): Likewise.
57704         * tests/test-perror.c (perror): Likewise.
57705         * tests/test-pipe2.c (pipe2): Likewise.
57706         * tests/test-poll.c (poll): Likewise.
57707         * tests/test-popen.c (popen, pclose): Likewise.
57708         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
57709         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
57710         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
57711         (posix_spawn_file_actions_destroy)
57712         (posix_spawn_file_actions_addclose)
57713         (posix_spawn_file_actions_addopen)
57714         (posix_spawn_file_actions_adddup2): Likewise.
57715         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
57716         * tests/test-pread.c (pread): Likewise.
57717         * tests/test-printf-posix.c (printf): Likewise.
57718         * tests/test-pty.c (openpty, forkpty): Likewise.
57719         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
57720         (random_r): Likewise.
57721         * tests/test-rawmemchr.c (rawmemchr): Likewise.
57722         * tests/test-readlink.c (readlink): Likewise.
57723         * tests/test-remove.c (remove): Likewise.
57724         * tests/test-rename.c (rename): Likewise.
57725         * tests/test-renameat.c (renameat): Likewise.
57726         * tests/test-rmdir.c (rmdir): Likewise.
57727         * tests/test-round1.c (round): Likewise.
57728         * tests/test-roundf1.c (roundf): Likewise.
57729         * tests/test-roundl.c (roundl): Likewise.
57730         * tests/test-setenv.c (setenv): Likewise.
57731         * tests/test-sigaction.c (sigaction): Likewise.
57732         * tests/test-sleep.c (sleep): Likewise.
57733         * tests/test-snprintf.c (snprintf): Likewise.
57734         * tests/test-sprintf-posix.c (sprintf): Likewise.
57735         * tests/test-stat.c (stat): Likewise.
57736         * tests/test-stpncpy.c (stpncpy): Likewise.
57737         * tests/test-strcasestr.c (strcasestr): Likewise.
57738         * tests/test-strchrnul.c (strchrnul): Likewise.
57739         * tests/test-strerror.c (strerror): Likewise.
57740         * tests/test-strsignal.c (strsignal): Likewise.
57741         * tests/test-strstr.c (strstr): Likewise.
57742         * tests/test-strtod.c (strtod): Likewise.
57743         * tests/test-strverscmp.c (strverscmp): Likewise.
57744         * tests/test-symlink.c (symlink): Likewise.
57745         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
57746         * tests/test-times.c (times): Likewise.
57747         * tests/test-trunc1.c (trunc): Likewise.
57748         * tests/test-truncf1.c (truncf): Likewise.
57749         * tests/test-truncl.c (truncl): Likewise.
57750         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
57751         Likewise.
57752         * tests/test-uname.c (uname): Likewise.
57753         * tests/test-unlink.c (unlink): Likewise.
57754         * tests/test-unlinkat.c (unlinkat): Likewise.
57755         * tests/test-unsetenv.c (unsetenv): Likewise.
57756         * tests/test-usleep.c (usleep): Likewise.
57757         * tests/test-utimensat.c (utimensat): Likewise.
57758         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
57759         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
57760         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
57761         * tests/test-vprintf-posix.c (vprintf): Likewise.
57762         * tests/test-vsnprintf.c (vsnprintf): Likewise.
57763         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
57764         * tests/test-wcrtomb.c (wcrtomb): Likewise.
57765         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
57766         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
57767         * tests/test-wcwidth.c (wcwidth): Likewise.
57769         build: pull in conditional headers during GNULIB_POSIXCHECK
57770         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
57771         definitions from any conditionally-included headers.
57772         * lib/stdlib.in.h (includes): Likewise.
57773         * lib/unistd.in.h (includes): Likewise.
57775 2009-12-24  Bruno Haible  <bruno@clisp.org>
57777         * tests/test-argv-iter.c: Include header file being tested immediately
57778         after config.h.
57779         * tests/test-base64.c: Likewise.
57780         * tests/test-flock.c: Likewise.
57781         * tests/test-fsync.c: Likewise.
57782         * tests/test-getdate.c: Likewise.
57783         * tests/test-getndelim2.c: Likewise.
57784         * tests/test-isfinite.c: Likewise.
57785         * tests/test-isinf.c: Likewise.
57786         * tests/test-strerror.c: Likewise.
57787         * tests/test-strsignal.c: Likewise.
57789 2009-12-23  Eric Blake  <ebb9@byu.net>
57791         unistd: work around cygwin bug
57792         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
57793         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
57794         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
57796 2009-12-23  Bruno Haible  <bruno@clisp.org>
57798         localename: More tests.
57799         * tests/test-localename.c (SIZEOF): New macro.
57800         (categories): New variable.
57801         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
57802         test_locale_name_default): Add test w.r.t. thread locale.
57803         (test_locale_name_thread): New function.
57804         (main): Invoke it.
57806         localename: Make aware of thread locale.
57807         * lib/localename.h (gl_locale_name_thread): New declaration.
57808         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
57809         behaviour with respect to thread locale.
57810         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
57811         <langinfo.h>, glthread/lock.h.
57812         (SIZE_BITS): New macro.
57813         (string_hash): New function.
57814         (struct hash_node): New type.
57815         (HASH_TABLE_SIZE): New macro.
57816         (struniq_hash_table, struniq_lock): New variables.
57817         (struniq): New function.
57818         (gl_locale_name_thread): New function.
57819         (gl_locale_name): Invoke it.
57820         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
57821         * modules/localename (Depends-on): Add lock.
57822         Reported by Mike Gran <spk121@yahoo.com>.
57824 2009-12-23  Eric Blake  <ebb9@byu.net>
57826         va-args: new module
57827         * modules/va-args: New file.
57828         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
57829         * MODULES.html.sh (Core language properties): Mention it.
57831         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
57832         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
57833         named alias for __attribute__((__unused__)).
57834         * lib/chown.c: Update client.
57835         * lib/fchmodat.c: Likewise.
57836         * lib/fts.c: Likewise.
57837         * lib/getdate.y: Likewise.
57838         * lib/getgroups.c: Likewise.
57839         * lib/getopt.c: Likewise.
57840         * lib/getugroups.c: Likewise.
57841         * lib/mkdir.c: Likewise.
57842         * lib/mkfifo.c: Likewise.
57843         * lib/mkfifoat.c: Likewise.
57844         * lib/mknod.c: Likewise.
57845         * lib/mknodat.c: Likewise.
57846         * lib/readlink.c: Likewise.
57847         * lib/se-context.in.h: Likewise.
57848         * lib/se-selinux.in.h: Likewise.
57849         * lib/sockets.c: Likewise.
57850         * lib/symlink.c: Likewise.
57851         * lib/symlinkat.c: Likewise.
57852         * lib/unicodeio.c: Likewise.
57853         * lib/unistr.h: Likewise.
57854         * tests/test-areadlink.c: Likewise.
57855         * tests/test-areadlinkat.c: Likewise.
57856         * tests/test-filenamecat.c: Likewise.
57857         * tests/test-fseeko.c: Likewise.
57858         * tests/test-ftello.c: Likewise.
57859         * tests/test-getdate.c: Likewise.
57860         * tests/test-getgroups.c: Likewise.
57861         * tests/test-gethostname.c: Likewise.
57862         * tests/test-quotearg.c: Likewise.
57863         * tests/test-version-etc.c: Likewise.
57864         * tests/test-xalloc-die.c: Likewise.
57865         * tests/test-xfprintf-posix.c: Likewise.
57866         * tests/test-xprintf-posix.c: Likewise.
57867         * tests/test-xvasprintf.c: Likewise.
57869         tests: avoid compiler warnings
57870         * tests/test-fcntl.c (main): Delete unused parameters.
57871         * tests/test-freopen-safer.c (main): Likewise.
57872         * tests/test-xalloc-die.c (main): Mark unused parameters.
57873         * tests/test-fseeko.c (main): Likewise.
57874         * tests/test-ftello.c (main): Likewise.
57875         * tests/test-nanosleep.c (main): Avoid declaration warning.
57876         * tests/test-sleep.c (main): Likewise.
57877         * tests/test-unsetenv.c (main): Silence warning about string
57878         literal.
57879         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
57881 2009-12-23  Bruno Haible  <bruno@clisp.org>
57883         * tests/test-localename.c (test_locale_name): New function, extracted
57884         from main. Also test mixed situations.
57885         (test_locale_name_posix, test_locale_name_environ,
57886         test_locale_name_default): New functions.
57887         (main): Invoke them all.
57888         * modules/localename-tests (configure.ac): Test for newlocale.
57890 2009-12-23  Bruno Haible  <bruno@clisp.org>
57892         unistd: Ensure getcwd gets declared before being overridden.
57893         * lib/unistd.in.h: Conditionally include <io.h>.
57895 2009-12-22  Bruno Haible  <bruno@clisp.org>
57897         wchar: Diagnose broken combination of glibc and gcc versions and flags.
57898         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
57899         (gl_WCHAR_H): Invoke it.
57900         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
57901         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
57902         Reported by Karl Berry <karl@freefriends.org>.
57904 2009-12-22  Eric Blake  <ebb9@byu.net>
57906         math, unistd: avoid redundant includes
57907         * lib/math.in.h (isnan): No need to re-include <math.h>.
57908         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
57910         getsubopt: work around cygwin bug
57911         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
57912         avoid conflicting with system getsubopt.
57913         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
57914         bug.
57916         getopt: synchronize from glibc
57917         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
57918         parameter order.  Adjust all callers.
57919         (_getopt_internal_r, main): Adjust quoting in error messages.
57920         Drop considerations for outdated POSIX 1003.2 error message.
57921         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
57922         callers.
57923         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
57925         test-getopt: test stderr behavior
57926         * modules/getopt-posix-tests (Depends-on): Add dup2.
57927         * tests/test-getopt.c (ASSERT): Avoid stderr.
57928         (main): Move stderr to a temporary file.
57929         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
57930         Instead, add parameter to inform caller if output occurred.
57931         (test_getopt): Adjust all existing tests to expect silence, and
57932         add new tests of leading ":".
57933         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
57934         glibc shortcomings with leading "-:" or "+:" in optstring.
57935         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
57936         Likewise.
57937         * doc/posix-functions/getopt.texi (getopt): Likewise.
57939         test-getopt: enhance test
57940         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
57941         supports optind=0.
57942         * tests/test-getopt.c (OPTIND_MIN): Move...
57943         * tests/test-getopt.h (OPTIND_MIN): ...here.
57944         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
57945         Require that optind=0 works, since modern BSD supports it in
57946         addition to optreset, and since coreutils expects it.
57947         (test_getopt_long_only): New test.
57948         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
57949         glibc shortcomings with 'W;', and enforcement of optind=0.
57950         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
57951         Likewise.
57953 2009-12-21  Bruno Haible  <bruno@clisp.org>
57955         localename: Improvements for MacOS X and Cygwin.
57956         * lib/localename.h (gl_locale_name_environ): New declaration.
57957         * lib/localename.c (gl_locale_name_environ): New function, extracted from
57958         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
57959         (gl_locale_name_posix): Invoke it.
57960         (gl_locale_name_default): Add comments. Use Windows native API also on
57961         Cygwin.
57963 2009-12-21  Bruno Haible  <bruno@clisp.org>
57965         Update list of Win32 locale ids.
57966         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
57967         (LANG_SAMI): Renamed from LANG_SAAMI.
57968         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
57969         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
57970         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
57971         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
57972         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
57973         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
57974         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
57975         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
57976         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
57977         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
57978         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
57979         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
57980         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
57981         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
57982         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
57983         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
57984         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
57985         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
57986         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
57987         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
57988         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
57989         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
57990         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
57991         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
57992         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
57993         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
57994         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
57995         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
57996         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
57997         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
57998         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
57999         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
58000         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
58001         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
58002         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
58003         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
58004         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
58005         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
58006         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
58007         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
58008         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
58009         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
58010         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
58011         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
58012         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
58013         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
58014         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
58015         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
58016         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
58017         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
58018         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
58019         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
58020         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
58021         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
58022         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
58023         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
58024         Add more languages and countries for Sami, Sorbian. Add more countries
58025         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
58026         for Pashto. Change country for Syriac, Tswana.
58028 2009-12-21  Eric Blake  <ebb9@byu.net>
58030         test-utimens: avoid spurious failure
58031         * tests/test-chown.h (nap): Factor...
58032         * tests/nap.h: ...into new file.
58033         * tests/test-lchown.h (nap): Avoid duplication.
58034         * tests/test-utimens-common.h (nap): Use shared implementation,
58035         necessary on file systems with 1-second resolution.
58036         * modules/chown-tests (Files): Include new file.
58037         * modules/fdutimensat-tests (Files): Likewise.
58038         * modules/futimens-tests (Files): Likewise.
58039         * modules/lchown-tests (Files): Likewise.
58040         * modules/openat-tests (Files): Likewise.
58041         * modules/utimens-tests (Files): Likewise.
58042         * modules/utimensat-tests (Files): Likewise.
58044 2009-12-19  Eric Blake  <ebb9@byu.net>
58046         futimens, utimensat: work around Linux bug
58047         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
58048         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
58049         * lib/utimensat.c (rpl_utimensat): Work around it.
58050         * lib/futimens.c (rpl_futimens): Adjust comment.
58052         utimens: work around Linux ctime bug
58053         * lib/utimens.c (detect_ctime_bug): New helper function.
58054         (update_timespec): Differentiate between workaround needed for
58055         this bug vs. what is needed for systems that lack utimensat.
58056         (fdutimens, lutimens): Work around bug.
58058         utimens: check for ctime update
58059         * tests/test-utimens-common.h (check_ctime): Define.
58060         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
58061         * tests/test-futimens.h (test_futimens): Likewise.
58062         * tests/test-lutimens.h (test_lutimens): Likewise.
58063         * doc/posix-functions/futimens.texi (futimens): Document the bug.
58064         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
58066 2009-12-19  Bruno Haible  <bruno@clisp.org>
58068         dprintf-posix: Check against memory leak fixed on 2009-12-15.
58069         * tests/test-dprintf-posix2.sh: New file.
58070         * tests/test-dprintf-posix2.c: New file.
58071         * modules/dprintf-posix-tests (Files): Add them.
58072         (configure.ac): Check for getrlimit and setrlimit.
58073         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
58075 2009-12-19  Bruno Haible  <bruno@clisp.org>
58077         fprintf-posix: Check against memory leak fixed on 2009-12-15.
58078         * tests/test-fprintf-posix3.sh: New file.
58079         * tests/test-fprintf-posix3.c: New file.
58080         * modules/fprintf-posix-tests (Files): Add them.
58081         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
58083 2009-12-19  Eric Blake  <ebb9@byu.net>
58085         dirfd: fix prototype
58086         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
58087         * lib/dirfd.c (dirfd): Likewise.
58089         canonicalize: reduce memory usage
58090         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
58091         allocation to size.
58092         Reported by Solar Designer <solar@openwall.com>.
58094 2009-12-19  Bruno Haible  <bruno@clisp.org>
58096         New module attribute 'Applicability'.
58097         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
58098         * gnulib-tool: New option --extract-applicability.
58099         (func_usage): Document it.
58100         (sed_extract_prog): Recognize it.
58101         (func_get_applicability): New function.
58102         (func_import): Generalize handling of 'link-warning' module.
58103         * modules/link-warning (Applicability): New section.
58104         * modules/arg-nonnull (Applicability): New section.
58105         Repoted by Simon Josefsson <simon@josefsson.org>.
58107 2009-12-19  Bruno Haible  <bruno@clisp.org>
58109         fflush: tweak
58110         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
58111         * lib/fseeko.c (rpl_fseeko): Likewise.
58113 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
58115         * lib/gl_list.h: Fix typo in comment.
58117 2009-12-16  Eric Blake  <ebb9@byu.net>
58119         fcntl: use to simplify other modules
58120         * modules/cloexec (Depends-on): Add fcntl.
58121         * modules/fchdir (Depends-on): Likewise.
58122         * modules/fd-safer-flag (Depends-on): Likewise.
58123         * modules/unistd-safer (Depends-on): Likewise.
58124         * modules/dup3 (configure.ac): Set module indicator.
58125         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
58126         missing.
58127         * lib/fchdir.c (_gl_register_dup): Fix comment.
58128         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
58129         * lib/dup-safer.c (dup_safer): Likewise.
58130         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
58131         * lib/dup3.c (dup3): Likewise.
58132         * tests/test-fchdir.c (main): Enhance test.
58133         Fixes a dup_cloexec bug reported by Ondřej Vašík.
58135         fcntl: port portions of fcntl to mingw
58136         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
58137         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
58138         replacement for mingw.
58139         * modules/fcntl (Description): Update.
58140         (Depends-on): Add dup2.
58141         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
58142         * modules/fcntl-h (Makefile.am): Substitute it.
58143         * lib/fcntl.in.h (fcntl): Update declaration.
58144         (F_DUPFD, F_GETFD): New macros, when needed.
58145         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
58146         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
58147         * tests/test-fcntl.c (check_flags, main): Enhance test for items
58148         we now guarantee.
58150         fcntl: work around cygwin bug in F_DUPFD
58151         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
58152         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
58153         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
58154         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
58155         * doc/posix-functions/fcntl.texi (fcntl): Document it.
58157         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
58158         * modules/fcntl (Files): List new files.
58159         (configure.ac): Run a test.
58160         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
58161         * lib/fcntl.c (rpl_fcntl): Likewise.
58162         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
58163         (gl_FCNTL_H): Always replace fcntl.h.
58164         * modules/fcntl-h (Makefile.am): Substitute witnesses.
58165         * lib/fcntl.in.h (fcntl): Declare replacement.
58166         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
58167         needed, plus a witness.
58168         * doc/posix-functions/fcntl.texi (fcntl): Document this.
58169         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
58170         * tests/test-fcntl.c: New file.
58171         * modules/fcntl-tests: Likewise.
58173         binary-io: avoid potential compilation warning
58174         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
58175         directives.
58177         fflush: avoid compilation error on NetBSD
58178         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
58179         between off_t and fpos_t, since the latter is sometimes a struct.
58180         * lib/fseeko.c (rpl_fseeko): Likewise.
58181         Reported by Alexander Nasonov <alnsn@yandex.ru>.
58183 2009-12-15  Eric Blake  <ebb9@byu.net>
58185         fcntl-h, stdio, sys_ioctl: fix declarations
58186         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
58187         function must not take arguments.
58188         * lib/sys_ioctl.in.h (ioctl): Likewise.
58189         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
58190         (open): Add a link warning.
58192 2009-12-15  Jim Meyering  <meyering@redhat.com>
58194         areadlink, areadlink-with-size: relax license to LGPLv2+
58195         * modules/areadlink (License): Relax to LGPLv2+.
58196         * modules/areadlink-with-size (License): Likewise.
58198 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
58199             Bruno Haible  <bruno@clisp.org>
58201         *printf: Fix memory leak.
58202         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
58203         * lib/vfprintf.c (vfprintf): Likewise.
58204         * lib/dprintf.c (dprintf): Likewise.
58205         * lib/vdprintf.c (vdprintf): Likewise.
58207 2009-12-14  Eric Blake  <ebb9@byu.net>
58209         accept4: adjust module dependencies
58210         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
58212         utimens: one more try at avoiding compiler warning
58213         * lib/utimens.c (lutimens): Lower scope of result.
58215 2009-12-13  Bruno Haible  <bruno@clisp.org>
58217         Move the malloc checking from module 'list' to new module 'xlist'.
58218         * modules/xlist: New file.
58219         * lib/gl_xlist.h: New file.
58220         * lib/gl_xlist.c: New file.
58221         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
58222         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
58223         gl_list_add_last, gl_list_add_before, gl_list_add_after,
58224         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
58225         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
58226         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
58227         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
58228         gl_sortedlist_nx_add): New declarations.
58229         (struct gl_list_implementation): Rename and change methods accordingly.
58230         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
58231         (gl_list_nx_create): Renamed from gl_list_create.
58232         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
58233         (gl_list_nx_set_at): Renamed from gl_list_set_at.
58234         (gl_list_nx_add_first): Renamed from gl_list_add_first.
58235         (gl_list_nx_add_last): Renamed from gl_list_add_last.
58236         (gl_list_nx_add_before): Renamed from gl_list_add_before.
58237         (gl_list_nx_add_after): Renamed from gl_list_add_after.
58238         (gl_list_nx_add_at): Renamed from gl_list_add_at.
58239         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
58240         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
58241         gl_list_create_empty.
58242         (gl_list_nx_create): Renamed from gl_list_create.
58243         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
58244         (gl_list_nx_set_at): Renamed from gl_list_set_at.
58245         (gl_list_nx_add_first): Renamed from gl_list_add_first.
58246         (gl_list_nx_add_last): Renamed from gl_list_add_last.
58247         (gl_list_nx_add_before): Renamed from gl_list_add_before.
58248         (gl_list_nx_add_after): Renamed from gl_list_add_after.
58249         (gl_list_nx_add_at): Renamed from gl_list_add_at.
58250         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
58251         * lib/gl_array_list.c: Don't include xalloc.h.
58252         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
58253         NULL upon out-of-memory.
58254         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
58255         out-of-memory.
58256         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
58257         Change return type to 'int'.
58258         (gl_array_nx_set_at): Renamed from gl_array_set_at.
58259         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
58260         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
58261         upon out-of-memory.
58262         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
58263         upon out-of-memory.
58264         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
58265         upon out-of-memory.
58266         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
58267         upon out-of-memory.
58268         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
58269         out-of-memory.
58270         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
58271         Update.
58272         (gl_array_list_implementation): Update.
58273         * lib/gl_carray_list.c: Don't include xalloc.h.
58274         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
58275         Return NULL upon out-of-memory.
58276         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
58277         out-of-memory.
58278         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
58279         Change return type to 'int'.
58280         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
58281         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
58282         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
58283         upon out-of-memory.
58284         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
58285         upon out-of-memory.
58286         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
58287         out-of-memory.
58288         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
58289         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
58290         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
58291         Update.
58292         (gl_carray_list_implementation): Update.
58293         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
58294         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
58295         gl_linked_create_empty. Return NULL upon out-of-memory.
58296         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
58297         out-of-memory.
58298         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
58299         Change return type to 'int'. Return -1 upon out-of-memory.
58300         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
58301         out-of-memory.
58302         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
58303         upon out-of-memory.
58304         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
58305         upon out-of-memory.
58306         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
58307         NULL upon out-of-memory.
58308         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
58309         upon out-of-memory.
58310         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
58311         out-of-memory.
58312         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
58313         Update.
58314         * lib/gl_linked_list.c: Don't include xalloc.h.
58315         (gl_linked_list_implementation): Update.
58316         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
58317         (add_to_bucket): Change return type to 'int'.
58318         (gl_linkedhash_list_implementation): Update.
58319         * lib/gl_anytree_list1.h (free_subtree): New function.
58320         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
58321         gl_tree_create_empty. Return NULL upon out-of-memory.
58322         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
58323         Change return type to 'int'. Return -1 upon out-of-memory.
58324         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
58325         out-of-memory.
58326         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
58327         (gl_tree_remove_node): New function, moved here from
58328         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
58329         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
58330         Update.
58331         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
58332         malloc, not xmalloc. Return NULL upon out-of-memory.
58333         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
58334         out-of-memory.
58335         (gl_tree_remove_node_from_tree): New function, extracted from
58336         gl_tree_remove_node.
58337         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
58338         upon out-of-memory.
58339         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
58340         out-of-memory.
58341         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
58342         upon out-of-memory.
58343         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
58344         upon out-of-memory.
58345         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
58346         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
58347         not xmalloc. Return NULL upon out-of-memory.
58348         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
58349         out-of-memory.
58350         (gl_tree_remove_node_from_tree): New function, extracted from
58351         gl_tree_remove_node.
58352         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
58353         upon out-of-memory.
58354         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
58355         out-of-memory.
58356         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
58357         upon out-of-memory.
58358         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
58359         upon out-of-memory.
58360         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
58361         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
58362         gl_anytree_list1.h before gl_anyavltree_list2.h.
58363         (gl_avltree_list_implementation): Update.
58364         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
58365         gl_anytree_list1.h before gl_anyavltree_list2.h.
58366         (gl_rbtree_list_implementation): Update.
58367         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
58368         Change return type to 'int'. Return -1 upon out-of-memory. Use
58369         __builtin_expect.
58370         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
58371         (gl_avltreehash_list_implementation): Update.
58372         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
58373         (gl_rbtreehash_list_implementation): Update.
58374         * modules/array-list (Depends-on): Remove xalloc.
58375         * modules/carray-list (Depends-on): Likewise.
58376         * modules/linked-list (Depends-on): Likewise.
58377         * modules/linkedhash-list (Depends-on): Likewise.
58378         * modules/avltree-list (Depends-on): Likewise.
58379         * modules/rbtree-list (Depends-on): Likewise.
58380         * modules/avltreehash-list (Depends-on): Likewise.
58381         * modules/rbtreehash-list (Depends-on): Likewise.
58383         * modules/xsublist: New file.
58384         * lib/gl_xsublist.h: New file.
58385         * lib/gl_xsublist.c: New file.
58386         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
58387         (gl_sublist_nx_create): New declaration.
58388         * lib/gl_sublist.c: Don't include xalloc.h.
58389         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
58390         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
58391         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
58392         Change return type to 'int'. Return -1 upon out-of-memory.
58393         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
58394         upon out-of-memory.
58395         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
58396         NULL upon out-of-memory.
58397         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
58398         upon out-of-memory.
58399         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
58400         NULL upon out-of-memory.
58401         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
58402         NULL upon out-of-memory.
58403         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
58404         upon out-of-memory.
58405         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
58406         (gl_sublist_list_implementation): Update.
58407         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
58408         upon out-of-memory.
58409         * modules/sublist (Depends-on): Remove xalloc.
58411         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
58412         * tests/test-carray_list.c: Likewise.
58413         * tests/test-linked_list.c: Likewise.
58414         * tests/test-linkedhash_list.c: Likewise.
58415         * tests/test-avltree_list.c: Likewise.
58416         * tests/test-rbtree_list.c: Likewise.
58417         * tests/test-avltreehash_list.c: Likewise.
58418         * tests/test-rbtreehash_list.c: Likewise.
58419         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
58420         * modules/carray-list-tests (Makefile.am): Likewise.
58421         * modules/linked-list-tests (Makefile.am): Likewise.
58422         * modules/linkedhash-list-tests (Makefile.am): Likewise.
58423         * modules/avltree-list-tests (Makefile.am): Likewise.
58424         * modules/rbtree-list-tests (Makefile.am): Likewise.
58425         * modules/avltreehash-list-tests (Makefile.am): Likewise.
58426         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
58428         * NEWS: Mention the changes.
58430         * lib/clean-temp.c: Include gl_xlist.h.
58431         * modules/clean-temp (Depends-on): Add xlist.
58433         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
58434         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
58436         * tests/test-array_oset.c: Include gl_xlist.h.
58437         * modules/array-oset-tests (Depends-on): Add xlist.
58439         Reported by José E. Marchesi <jemarch@gnu.org>.
58441 2009-12-13  Bruno Haible  <bruno@clisp.org>
58443         Move the malloc checking from module 'oset' to new module 'xoset'.
58444         * modules/xoset: New file.
58445         * lib/gl_xoset.h: New file.
58446         * lib/gl_xoset.c: New file.
58447         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
58448         declarations.
58449         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
58450         (struct gl_oset_implementation): Rename and change methods accordingly.
58451         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
58452         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
58453         'int'. Mark as __warn_unused_result__.
58454         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
58455         gl_oset_create_empty.
58456         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
58457         'int'.
58458         * lib/gl_array_oset.c: Don't include xalloc.h.
58459         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
58460         malloc, not xmalloc.
58461         (grow): Change return type to 'int'. Don't call xalloc_die.
58462         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
58463         to 'int'.
58464         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
58465         'int'.
58466         (gl_array_oset_implementation): Update.
58467         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
58468         gl_tree_create_empty.
58469         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
58470         'int'.
58471         * lib/gl_avltree_oset.c: Don't include xalloc.h.
58472         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
58473         xmalloc.
58474         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
58475         not xmalloc.
58476         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
58477         xmalloc.
58478         (gl_avltree_oset_implementation): Update.
58479         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
58480         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
58481         xmalloc.
58482         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
58483         not xmalloc.
58484         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
58485         xmalloc.
58486         (gl_rbtree_oset_implementation): Update.
58487         * modules/array-oset (Depends-on): Remove xalloc.
58488         * modules/avltree-oset (Depends-on): Likewise.
58489         * modules/rbtree-oset (Depends-on): Likewise.
58490         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
58491         * tests/test-avltree_oset.c: Likewise.
58492         * tests/test-rbtree_oset.c: Likewise.
58493         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
58494         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
58495         * modules/rbtree-oset-tests (Makefile.am): Likewise.
58496         * NEWS: Mention the change.
58498 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
58500         maint.mk: allow a project to override release-prep commands
58501         * top/maint.mk (alpha, beta, stable): Move release-preparatory
58502         commands into a new rule.
58503         (release-prep): New rule.
58504         (release-prep-hook): New overridable variable.
58506 2009-12-13  Bruno Haible  <bruno@clisp.org>
58508         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
58510 2009-12-13  Jim Meyering  <meyering@redhat.com>
58512         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
58513         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
58515 2009-12-12  Bruno Haible  <bruno@clisp.org>
58517         duplocale: Tweak.
58518         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
58520 2009-12-12  Karl Berry  <karl@gnu.org>
58522         * config/srclist.txt (strtoll.c): tab changes, no more sync.
58524 2009-12-12  Bruno Haible  <bruno@clisp.org>
58526         * m4/po.m4: Undo incorrect untabification.
58528 2009-12-12  Bruno Haible  <bruno@clisp.org>
58530         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
58531         * modules/c-strtod (Depends-on): Add locale.
58532         * modules/c-strtold (Depends-on): Likewise.
58534 2009-12-12  Bruno Haible  <bruno@clisp.org>
58536         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
58538 2009-12-11  Eric Blake  <ebb9@byu.net>
58540         setenv: relax requirement in light of POSIX ruling
58541         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
58542         not NULL.
58543         * tests/test-setenv.c (main): Relax test.
58544         * tests/test-unsetenv.c (main): Likewise.
58545         * doc/posix-functions/setenv.texi (setenv): Document this.
58546         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
58548 2009-12-11  Bruno Haible  <bruno@clisp.org>
58550         New module 'fd-safer-flag'.
58551         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
58552         * lib/dup-safer.c (dup_safer_flag): Remove function.
58553         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
58554         * lib/fd-safer.c (fd_safer_flag): Remove function.
58555         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
58556         * modules/cloexec (configure.ac): Drop indicator macro.
58557         * modules/fd-safer-flag: New file.
58558         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
58559         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
58560         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
58562 2009-12-11  Bruno Haible  <bruno@clisp.org>
58564         Tests for module 'nl_langinfo'.
58565         * modules/nl_langinfo-tests: New file.
58566         * tests/test-nl_langinfo.sh: New file.
58567         * tests/test-nl_langinfo.c: New file.
58569         New module 'nl_langinfo'.
58570         * lib/nl_langinfo.c: New file.
58571         * m4/nl_langinfo.m4: New file.
58572         * modules/nl_langinfo: New file.
58573         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
58575 2009-12-11  Bruno Haible  <bruno@clisp.org>
58577         Tests for module 'langinfo'.
58578         * modules/langinfo-tests: New file.
58579         * tests/test-langinfo.c: New file.
58581         New module 'langinfo'.
58582         * lib/langinfo.in.h: New file.
58583         * m4/langinfo_h.m4: New file.
58584         * modules/langinfo: New file.
58585         * doc/posix-headers/langinfo.texi: Mention the new module.
58587 2009-12-11  Bruno Haible  <bruno@clisp.org>
58589         * lib/config.charset: Untabify.
58591 2009-12-11  Bruno Haible  <bruno@clisp.org>
58593         * modules/unistd-safer (configure.ac): Drop indicator macro.
58595 2009-12-11  Bruno Haible  <bruno@clisp.org>
58597         Move pipe2-safer code to its own file.
58598         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
58599         * lib/pipe-safer.c (pipe2_safer): Remove function.
58600         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
58601         (Makefile.am): Add it to lib_SOURCES.
58603 2009-12-10  Bruno Haible  <bruno@clisp.org>
58605         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
58607 2009-12-10  Bruno Haible  <bruno@clisp.org>
58609         Declare which arguments expect non-NULL values, for GCC and clang.
58610         * build-aux/arg-nonnull.h: New file.
58611         * modules/arg-nonnull: New file.
58612         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
58613         (inet_ntop, inet_pton): Use it.
58614         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
58615         (closedir, dirfd, opendir, scandir, alphasort): Use it.
58616         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
58617         (open, openat): Use it.
58618         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
58619         (fnmatch): Use it.
58620         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
58621         (getopt, getopt_long, getopt_long_only): Use it.
58622         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
58623         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
58624         Use it.
58625         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
58626         (iconv_open): Use it.
58627         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
58628         (strtoimax, strtoumax): Use it.
58629         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
58630         (duplocale): Use it.
58631         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
58632         (frexp, frexpl): Use it.
58633         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
58634         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
58635         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
58636         (tsearch, tfind, tdelete, twalk): Use it.
58637         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
58638         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
58639         sigpending): Use it.
58640         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
58641         (posix_spawn, posix_spawnp, posix_spawnattr_init,
58642         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
58643         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
58644         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
58645         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
58646         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
58647         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
58648         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
58649         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
58650         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
58651         Use it.
58652         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
58653         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
58654         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
58655         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
58656         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
58657         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
58658         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
58659         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
58660         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
58661         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
58662         strtoull, unsetenv): Use it.
58663         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
58664         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
58665         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
58666         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
58667         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
58668         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
58669         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
58670         (strcasecmp, strncasecmp): Use it.
58671         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
58672         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
58673         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
58674         rpl_setsockopt): Use it.
58675         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
58676         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
58677         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
58678         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
58679         (gettimeofday): Use it.
58680         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
58681         (times): Use it.
58682         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
58683         (uname): Use it.
58684         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
58685         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
58686         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
58687         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
58688         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
58689         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
58690         unlinkat, write): Use it.
58691         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
58692         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
58693         * lib/argv-iter.h: Include arg-nonnull.h.
58694         (_ATTRIBUTE_NONNULL_): Remove macro.
58695         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
58696         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
58697         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
58698         optimization.
58699         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
58700         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
58701         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
58702         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
58703         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
58704         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
58705         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
58706         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
58707         * modules/arpa_inet (Depends-on): Add arg-nonnull.
58708         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
58709         * modules/dirent (Depends-on): Add arg-nonnull.
58710         (Makefile.am): Insert arg-nonnull.h into dirent.h.
58711         * modules/fcntl-h (Depends-on): Add arg-nonnull.
58712         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
58713         * modules/fnmatch (Depends-on): Add arg-nonnull.
58714         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
58715         * modules/getopt-posix (Depends-on): Add arg-nonnull.
58716         (Makefile.am): Insert arg-nonnull.h into getopt.h.
58717         * modules/glob (Depends-on): Add arg-nonnull.
58718         (Makefile.am): Insert arg-nonnull.h into glob.h.
58719         * modules/iconv_open (Depends-on): Add arg-nonnull.
58720         (Makefile.am): Insert arg-nonnull.h into iconv.h.
58721         * modules/inttypes (Depends-on): Add arg-nonnull.
58722         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
58723         * modules/locale (Depends-on): Add arg-nonnull.
58724         (Makefile.am): Insert arg-nonnull.h into locale.h.
58725         * modules/math (Depends-on): Add arg-nonnull.
58726         (Makefile.am): Insert arg-nonnull.h into math.h.
58727         * modules/netdb (Depends-on): Add arg-nonnull.
58728         (Makefile.am): Insert arg-nonnull.h into netdb.h.
58729         * modules/search (Depends-on): Add arg-nonnull.
58730         (Makefile.am): Insert arg-nonnull.h into search.h.
58731         * modules/signal (Depends-on): Add arg-nonnull.
58732         (Makefile.am): Insert arg-nonnull.h into signal.h.
58733         * modules/spawn (Depends-on): Add arg-nonnull.
58734         (Makefile.am): Insert arg-nonnull.h into spawn.h.
58735         * modules/stdio (Depends-on): Add arg-nonnull.
58736         (Makefile.am): Insert arg-nonnull.h into stdio.h.
58737         * modules/stdlib (Depends-on): Add arg-nonnull.
58738         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
58739         * modules/string (Depends-on): Add arg-nonnull.
58740         (Makefile.am): Insert arg-nonnull.h into string.h.
58741         * modules/strings (Depends-on): Add arg-nonnull.
58742         (Makefile.am): Insert arg-nonnull.h into strings.h.
58743         * modules/sys_socket (Depends-on): Add arg-nonnull.
58744         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
58745         * modules/sys_stat (Depends-on): Add arg-nonnull.
58746         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
58747         * modules/sys_time (Depends-on): Add arg-nonnull.
58748         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
58749         * modules/sys_times (Depends-on): Add arg-nonnull.
58750         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
58751         * modules/sys_utsname (Depends-on): Add arg-nonnull.
58752         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
58753         * modules/time (Depends-on): Add arg-nonnull.
58754         (Makefile.am): Insert arg-nonnull.h into time.h.
58755         * modules/unistd (Depends-on): Add arg-nonnull.
58756         (Makefile.am): Insert arg-nonnull.h into unistd.h.
58757         * modules/wchar (Depends-on): Add arg-nonnull.
58758         (Makefile.am): Insert arg-nonnull.h into wchar.h.
58759         * modules/argv-iter (Depends-on): Add arg-nonnull.
58760         * tests/test-canonicalize.c (null_ptr): New function.
58761         (main): Use it.
58762         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
58763         (main): Use it.
58764         * tests/test-memmem.c (null_ptr): New function.
58765         (main): Use it.
58766         Reported by Jim Meyering.
58768 2009-12-10  Bruno Haible  <bruno@clisp.org>
58770         Use spaces for indentation, not tabs.
58771         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
58772         * m4/*.m4: Untabify.
58773         * build-aux/*.h: Untabify.
58774         * tests/**/*.[hc]: Untabify.
58775         * README: New section "Indent with spaces, not TABs", based on
58776         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
58777         * NEWS: Mention the change.
58779 2009-12-10  Bruno Haible  <bruno@clisp.org>
58781         pty test: Fix link error.
58782         * modules/pty-tests (Makefile.am): Add the default LDADD value to
58783         test_pty_LDADD.
58785 2009-12-07  Simon Josefsson  <simon@josefsson.org>
58787         * modules/pty: New file.
58788         * modules/pty-tests: New file.
58789         * m4/pty.m4: New file.
58790         * tests/test-pty.c: New file.
58791         * doc/glibc-headers/pty.texi: Modified.
58792         * doc/glibc-functions/forkpty.texi: Modified.
58793         * doc/glibc-functions/openpty.texi: Modified.
58795 2009-12-10  Bruno Haible  <bruno@clisp.org>
58797         Avoid syntax error in C++ mode.
58798         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
58800 2009-12-10  Bruno Haible  <bruno@clisp.org>
58802         Use sed with option -e.
58803         * gnulib-tool (func_version, func_emit_copyright_notice,
58804         func_emit_initmacro_end, func_import, func_create_testdir): Pass
58805         option -e to sed.
58806         * modules/link-warning (Makefile.am): Likewise.
58808 2009-12-10  Jim Meyering  <meyering@redhat.com>
58810         mgetgroups: do not write bytes beyond end of malloc'd buffer
58811         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
58812         username, we call getgroups with a one-element-shorter buffer,
58813         but still told it the length was original, max_n_groups.
58815 2009-12-09  Eric Blake  <ebb9@byu.net>
58817         cloexec: relax license
58818         * modules/cloexec (Maintainer): Add myself.
58819         (License): Use LGPL, not GPL.
58821         link-warning: optimize generation
58822         * modules/link-warning (Makefile.am): Reduce process usage.
58824 2009-12-09  Bruno Haible  <bruno@clisp.org>
58826         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
58827         workaround was added on 2009-11-17.
58829 2009-12-09  Jim Meyering  <meyering@redhat.com>
58830             Bruno Haible  <bruno@clisp.org>
58832         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
58833         * modules/link-warning (Makefile.am): Make the comment-removing sed
58834         command more robust in the face of bootstrap-prepended comment lines.
58836 2009-12-09  Bruno Haible  <bruno@clisp.org>
58838         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
58839         most one group.
58841 2009-12-09  Simon Josefsson  <simon@josefsson.org>
58842             Bruno Haible  <bruno@clisp.org>
58844         * build-aux/link-warning.h: Add copyright notice.
58845         * modules/link-warning (Makefile.am): Generate link-warning.h from
58846         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
58847         * NEWS: Mention change in link-warning module.
58848         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
58849         * modules/dirent (Makefile.am): Add dependency to dirent.h.
58850         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
58851         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
58852         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
58853         * modules/math (Makefile.am): Add dependency to math.h.
58854         * modules/search (Makefile.am): Add dependency to search.h.
58855         * modules/signal (Makefile.am): Add dependency to signal.h.
58856         * modules/spawn (Makefile.am): Add dependency to spawn.h.
58857         * modules/stdio (Makefile.am): Add dependency to stdio.h.
58858         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
58859         * modules/string (Makefile.am): Add dependency to string.h.
58860         * modules/strings (Makefile.am): Add dependency to strings.h.
58861         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
58862         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
58863         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
58864         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
58865         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
58866         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
58867         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
58868         * modules/unistd (Makefile.am): Add dependency to unistd.h.
58869         * modules/wchar (Makefile.am): Add dependency to wchar.h.
58871 2009-12-09  Bruno Haible  <bruno@clisp.org>
58873         fchdir: Optimize away rpl_fstat when possible.
58874         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
58875         REPLACE_OPEN_DIRECTORY.
58876         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
58878 2009-12-09  Bruno Haible  <bruno@clisp.org>
58880         * lib/fchdir.c: Update comment.
58882 2009-12-09  Bruno Haible  <bruno@clisp.org>
58884         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
58886 2009-12-08  Eric Blake  <ebb9@byu.net>
58888         fchdir: avoid memory leak on re-registration.
58889         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
58891 2009-12-08  Jim Meyering  <meyering@redhat.com>
58893         init.sh: avoid Solaris 10 /bin/sh portability problem
58894         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
58895         sourced script:
58896           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
58897           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
58898           bar
58899         tests/init.sh relied on that, accepting a --set-path=DIR argument,
58900         and two tests used that idiom.
58901         * tests/init.sh: Update suggested usage comments.
58902         (path_prepend_): New function, to be used in place
58903         of the --src-path=DIR option.
58904         (setup_): Move PATH-prepending code into path_prepend_.
58905         * tests/test-pread.sh: Adapt to new usage.
58906         * tests/test-xalloc-die.sh: Likewise.
58908 2009-12-08  Simon Josefsson  <simon@josefsson.org>
58910         * doc/gnulib.texi (Glibc pty.h): Add.
58911         * doc/glibc-functions/forkpty.texi: Add.
58912         * doc/glibc-functions/openpty.texi: Add.
58913         Suggested by Bruno Haible.
58915 2009-12-08  Eric Blake  <ebb9@byu.net>
58917         fchdir: fix logic bugs
58918         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
58919         * tests/test-fchdir.c (main): Enhance test.
58920         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
58921         is in use.
58923         dup2: fix logic bugs
58924         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
58925         REPLACE_DUP2 to decide when rpl_dup2 is needed.
58926         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
58927         exists.
58928         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
58930 2009-12-07  Eric Blake  <ebb9@byu.net>
58932         unlink: fix m4 detection
58933         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
58935         unistd-safer: add unit test
58936         * modules/unistd-safer-tests: New file.
58937         * tests/test-dup-safer.c: Likewise.
58938         * tests/test-cloexec.c (setmode): Avoid compiler warning.
58939         * tests/test-dup2.c (setmode): Likewise.
58940         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
58942         cloexec: preserve text vs. binary across dup_cloexec
58943         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
58944         mode.
58945         * modules/dup2-tests (Depends-on): Add binary-io.
58946         * modules/cloexec-tests (Depends-on): Likewise.
58947         * tests/test-dup2.c (setmode, is_mode): New helpers.
58948         (main): Add tests that translation mode is preserved.
58949         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
58950         Reported by Bruno Haible.
58952         mgetgroups: reduce duplicate listings
58953         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
58954         resulting array.
58955         * tests/test-chown.h (test_chown): Simplify client.
58956         * tests/test-lchown.h (test_lchown): Likewise.
58958 2009-12-06  Bruno Haible  <bruno@clisp.org>
58960         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
58961         value.
58963 2009-12-06  Bruno Haible  <bruno@clisp.org>
58965         * lib/progname.c: Include stdio.h, stdlib.h.
58966         (set_program_name): Reject a NULL argument.
58968 2009-12-05  Eric Blake  <ebb9@byu.net>
58970         pipe2-safer: new module
58971         * modules/pipe2-safer: New file.
58972         * lib/unistd-safer.h (pipe2_safer): New prototype.
58973         * lib/unistd--.h (pipe2): New wrapper.
58974         * lib/pipe-safer.c (pipe2_safer): New function.
58975         * modules/pipe (Depends-on): Add pipe2-safer.
58976         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
58978         stdlib-safer: preserve cloexec flag for mkostemp[s]
58979         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
58980         fd_safer_flag.
58982         unistd-safer: allow preservation of cloexec status via flag
58983         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
58984         prototypes.
58985         * lib/dup-safer.c (dup_safer_flag): New function.
58986         * lib/fd-safer.c (fd_safer_flag): Likewise.
58987         * modules/cloexec (configure.ac): Set witness.
58989         test-dup2: enhance test
58990         * modules/dup2-tests (Depends-on): Add cloexec.
58991         * tests/test-dup2.c (main): Enhance test.
58993         cloexec: add dup_cloexec
58994         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
58995         header and comments.
58996         * lib/cloexec.c (set_cloexec_flag): Add comments.
58997         (dup_cloexec): New function, with mingw implementation borrowed
58998         from...
58999         * lib/w32spawn.h (dup_noinherit): ...here.
59000         * modules/execute (Depends-on): Add cloexec.
59001         * modules/pipe (Depends-on): Likewise.
59002         * modules/cloexec (Depends-on): Add dup2.
59003         * modules/cloexec-tests (Files): New file.
59004         * tests/test-cloexec.c: Likewise.
59006         test-xalloc-die: fix test for mingw
59007         * modules/xalloc-die-tests (Files): Add tests/init.sh.
59008         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
59009         directory and .exe suffix off argv[0] output.
59011         test-fseeko: fix test for mingw
59012         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
59013         than undefining fseek, so test will pass on mingw.
59015 2009-12-05  Bruno Haible  <bruno@clisp.org>
59017         * lib/progname.h (set_program_name): Clarify specification.
59018         * lib/progname.c (set_program_name): Likewise.
59019         Reported by Jim Meyering.
59021 2009-12-05  Jim Meyering  <meyering@redhat.com>
59023         maint.mk: backslash-escape parens in default regexp
59024         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
59025         backslash-escape the literal parentheses.
59027         maint.mk: news-date-check: use grep -E
59028         * top/maint.mk (today): Define a Make variable, not a...
59029         (news-date-check): ...shell variable.
59030         (news-date-regexp): Use the Make variable.
59031         Use grep's -E option.  Change the failing diagnostic to mention
59032         the variable, $(news-date-regexp).
59034 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
59036         maintainer-makefile: allow customization of NEWS entry format
59037         * top/maint.mk (news-date-regexp): New overridable variable.
59038         (news-date-check): Use it.
59040 2009-12-04  Eric Blake  <ebb9@byu.net>
59042         mgetgroups: add xgetgroups, and avoid ENOSYS failures
59043         * lib/mgetgroups.h (xgetgroups): New prototype.
59044         * lib/mgetgroups.c (xgetgroups): New wrapper.
59045         (mgetgroups): Handle ENOSYS.
59046         * modules/mgetgroups (Depends-on): Add realloc.
59047         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
59049         mgetgroups: avoid argument promotion issues with -1
59050         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
59051         for invalid gid_t.
59052         * tests/test-chown.h (getegid, test_chown): Likewise.
59053         * tests/test-lchown.h (getegid, test_lchown): Likewise.
59055 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
59057         exclude: Fix header file problems.
59058         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
59060 2009-12-01  Jim Meyering  <meyering@redhat.com>
59062         fts: fts_open: do not let an empty string cause immediate failure
59063         This is required in support of GNU rm, for which the command
59064         "rm A '' B" must process and remove both A and B, in spite of
59065         the empty string argument.
59066         * lib/fts.c (fts_open): Do not let the presence of an empty string
59067         cause fts_open to fail immediately.  Most fts-using tools must be
59068         able to process all arguments, in order, and can be expected to
59069         diagnose such arguments themselves.
59071 2009-11-30  Eric Blake  <ebb9@byu.net>
59073         utimens: fix compilation error
59074         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
59075         Declare variable at right scope.
59077 2009-11-29  Jim Meyering  <meyering@redhat.com>
59079         bootstrap: handle perl-5.11's changed --version output
59080         * build-aux/bootstrap (get_version): Handle perl separately,
59081         since perl-5.11's --version output is different.
59083 2009-11-28  Jim Meyering  <meyering@redhat.com>
59085         userspec: depend on the inttostr module, too
59086         * modules/userspec (Depends-on): Add inttostr.
59088         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
59089         * lib/userspec.c (parse_with_separator): Do not accept a user ID
59090         number of MAXUID when it evaluates to (uid_t) -1.
59091         Likewise for group ID.  Reported by Matt McCutchen in
59092         <http://savannah.gnu.org/bugs/?28113>
59094         userspec: reformat to use spaces, not TABs
59095         * lib/userspec.c: Expand TABs to spaces.
59096         Add Emacs' "indent-tabs-mode: nil" hint.
59098 2009-11-27  Eric Blake  <ebb9@byu.net>
59100         getopt-gnu: flush out another BSD bug
59101         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
59102         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
59103         flush out BSD bug.
59104         * tests/test-getopt.h (test_getopt): End lists with NULL.
59105         * tests/test-getopt_long.h (test_getopt_long): Likewise.
59106         (test_getopt_long_posix): Enhance test.
59107         * modules/getopt-posix-tests (Depends-on): Add stdbool.
59108         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
59109         getopt-gnu.
59110         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59111         Likewise.
59113 2009-11-27  Simon Josefsson  <simon@josefsson.org>
59115         * modules/idpriv-droptemp-tests (Notice): Fix text.
59117 2009-11-27  Jim Meyering  <meyering@redhat.com>
59119         test-xalloc-die: avoid spurious failure due to libtool argv difference
59120         In a libtool-enabled project, this test would fail due to a difference
59121         in the emitted program name, e.g.,
59122         -test-xalloc-die: memory exhausted
59123         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
59124         Use program to avoid that.
59125         * modules/xalloc-die-tests (Depends-on): Add progname.
59126         * tests/test-xalloc-die.c: Include progname.h".
59127         (program_name): Remove decl.
59128         (main): Call set_program_name.
59129         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
59131 2009-11-26  Richard Jones  <rjones@redhat.com>
59133         w32sock: leave win32 error in place.
59134         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
59136 2009-11-26  Eric Blake  <ebb9@byu.net>
59138         init.sh: suggest to use skip_ and fail_ functions in comments
59139         * tests/init.sh: Add a sentence.
59141 2009-11-25  Bruno Haible  <bruno@clisp.org>
59143         init.sh: add documentation in comments
59144         * tests/init.sh: Add some developer and user documentation.
59146 2009-11-26  Jim Meyering  <meyering@redhat.com>
59148         init.sh: accommodate even those who specify bogus srcdir manually
59149         * tests/init.sh: Normally, srcdir is guaranteed by automake and
59150         configure-time tests to be sanitized, so that there is no need to
59151         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
59152         (with no double quotes) suffices.  However, since tests may be
59153         invoked manually, and since you may explicitly set srcdir to the
59154         name of a directory containing spaces, do quote its uses here.
59155         * tests/test-pread.sh: Likewise.
59156         Suggested by Bruno Haible.
59158         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
59159         * tests/test-pread.sh: Write no data into the pipe, because
59160         test-pread actually reads none.  This avoids a diagnostic,
59161         "bash: echo: write error: Broken pipe", that arises in the unusual
59162         event something is ignoring SIGPIPE, and might be interpreted
59163         as some sort of failure.  Reported by Bruno Haible.
59165 2009-11-25  Jim Meyering  <meyering@redhat.com>
59167         test-pread: cover failure with ESPIPE and EINVAL
59168         * tests/test-pread.c (main): Test for failure, too.
59169         * tests/test-pread.sh: Invoke with stdin on a pipe.
59170         Suggested by Eric Blake.
59172         pread: improvement and fix
59173         * modules/pread (Depends-on): Depend on lseek, for portability to
59174         e.g., mingw.  Suggested by Eric Blake.
59175         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
59177         unistd.in.h: correct declaration of pread
59178         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
59179         Reported by Richard W.M. Jones.
59181         test-pread.sh: distribute the test script
59182         * modules/pread-tests (Files): Include test-pread.sh.
59184         test-pread.sh: clean up
59185         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
59186         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
59187         That is unnecessary, since it's always ".".
59188         Suggestion from Eric Blake.
59190         test-pread.sh: make executable
59191         * tests/test-pread.sh: Set executable bit.
59192         Reported by Eric Blake.
59194         correct typo in test-pread.sh
59195         * tests/test-pread.sh: Add #! line.
59197         test pread
59198         * tests/test-pread.c: New file.
59199         * tests/test-pread.sh: Likewise.
59200         * modules/pread-tests: Likewise.
59202         pread: new module
59203         * modules/pread: New file.
59204         * lib/unistd.in.h (pread): Define/declare.
59205         * lib/pread.c (pread): New file.
59206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
59207         * modules/unistd (Makefile.am): Substitute witnesses.
59208         * doc/posix-functions/pread.texi (pread): Update.
59209         * MODULES.html.sh: Add pread.
59211 2009-11-25  Jim Meyering  <meyering@redhat.com>
59213         tests/init.sh: new file to be used via most *.sh tests
59214         * tests/init.sh: New file.
59216 2009-11-25  Eric Blake  <ebb9@byu.net>
59218         utimens: work around older Linux failure with symlinks
59219         * lib/utimens.c (lutimensat_works_really): New variable.
59220         (fdutimens, lutimens): Use it to manage kernels that support
59221         nanosecond times on files, but not on symlinks.
59222         Reported by Ondřej Vašík.
59224         utimes: fix configure grammar
59225         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
59227 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
59229         regex: Fix fastmap for multibyte character ranges.
59230         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
59231         characters when a multibyte character range is included.
59233 2009-11-22  Andy Wingo  <wingo@pobox.com>
59235         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
59236         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
59238 2009-11-24  Bruno Haible  <bruno@clisp.org>
59240         doc: Most *_l functions exist in MacOS X 10.5.
59241         * doc/posix-functions/duplocale.texi: Update platforms list.
59242         * doc/posix-functions/freelocale.texi: Likewise.
59243         * doc/posix-functions/newlocale.texi: Likewise.
59244         * doc/posix-functions/uselocale.texi: Likewise.
59245         * doc/posix-functions/isalnum_l.texi: Likewise.
59246         * doc/posix-functions/isalpha_l.texi: Likewise.
59247         * doc/posix-functions/isblank_l.texi: Likewise.
59248         * doc/posix-functions/iscntrl_l.texi: Likewise.
59249         * doc/posix-functions/isdigit_l.texi: Likewise.
59250         * doc/posix-functions/isgraph_l.texi: Likewise.
59251         * doc/posix-functions/islower_l.texi: Likewise.
59252         * doc/posix-functions/isprint_l.texi: Likewise.
59253         * doc/posix-functions/ispunct_l.texi: Likewise.
59254         * doc/posix-functions/isspace_l.texi: Likewise.
59255         * doc/posix-functions/isupper_l.texi: Likewise.
59256         * doc/posix-functions/iswalnum_l.texi: Likewise.
59257         * doc/posix-functions/iswalpha_l.texi: Likewise.
59258         * doc/posix-functions/iswblank_l.texi: Likewise.
59259         * doc/posix-functions/iswcntrl_l.texi: Likewise.
59260         * doc/posix-functions/iswctype_l.texi: Likewise.
59261         * doc/posix-functions/iswdigit_l.texi: Likewise.
59262         * doc/posix-functions/iswgraph_l.texi: Likewise.
59263         * doc/posix-functions/iswlower_l.texi: Likewise.
59264         * doc/posix-functions/iswprint_l.texi: Likewise.
59265         * doc/posix-functions/iswpunct_l.texi: Likewise.
59266         * doc/posix-functions/iswspace_l.texi: Likewise.
59267         * doc/posix-functions/iswupper_l.texi: Likewise.
59268         * doc/posix-functions/iswxdigit_l.texi: Likewise.
59269         * doc/posix-functions/isxdigit_l.texi: Likewise.
59270         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
59271         * doc/posix-functions/strcasecmp_l.texi: Likewise.
59272         * doc/posix-functions/strcoll_l.texi: Likewise.
59273         * doc/posix-functions/strfmon_l.texi: Likewise.
59274         * doc/posix-functions/strftime_l.texi: Likewise.
59275         * doc/posix-functions/strncasecmp_l.texi: Likewise.
59276         * doc/posix-functions/strxfrm_l.texi: Likewise.
59277         * doc/posix-functions/tolower_l.texi: Likewise.
59278         * doc/posix-functions/toupper_l.texi: Likewise.
59279         * doc/posix-functions/towctrans_l.texi: Likewise.
59280         * doc/posix-functions/towlower_l.texi: Likewise.
59281         * doc/posix-functions/towupper_l.texi: Likewise.
59282         * doc/posix-functions/wcscoll_l.texi: Likewise.
59283         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
59284         * doc/posix-functions/wctrans_l.texi: Likewise.
59285         * doc/posix-functions/wctype_l.texi: Likewise.
59286         * doc/glibc-functions/strptime_l.texi: Likewise.
59287         * doc/glibc-functions/strtod_l.texi: Likewise.
59288         * doc/glibc-functions/strtof_l.texi: Likewise.
59289         * doc/glibc-functions/strtol_l.texi: Likewise.
59290         * doc/glibc-functions/strtold_l.texi: Likewise.
59291         * doc/glibc-functions/strtoll_l.texi: Likewise.
59292         * doc/glibc-functions/strtoul_l.texi: Likewise.
59293         * doc/glibc-functions/strtoull_l.texi: Likewise.
59294         * doc/glibc-functions/wcsftime_l.texi: Likewise.
59295         * doc/glibc-functions/wcstod_l.texi: Likewise.
59296         * doc/glibc-functions/wcstof_l.texi: Likewise.
59297         * doc/glibc-functions/wcstol_l.texi: Likewise.
59298         * doc/glibc-functions/wcstold_l.texi: Likewise.
59299         * doc/glibc-functions/wcstoll_l.texi: Likewise.
59300         * doc/glibc-functions/wcstoul_l.texi: Likewise.
59301         * doc/glibc-functions/wcstoull_l.texi: Likewise.
59303 2009-11-24  Bruno Haible  <bruno@clisp.org>
59305         duplocale: Fix logic bug.
59306         * lib/duplocale.c: Don't include <langinfo.h>.
59307         (_NL_LOCALE_NAME): Remove macro.
59308         (rpl_duplocale): Use setlocale instead of nl_langinfo.
59309         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
59311 2009-11-23  Jim Meyering  <meyering@redhat.com>
59313         test-update-copyright: don't hard-code /usr/bin/perl
59314         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
59315         perl to print the current year.  Gilles Espinasse reported that
59316         the replaced use of perl was hard-coded as /usr/bin/perl.
59318 2009-11-23  Bruno Haible  <bruno@clisp.org>
59320         duplocale: Add support for glibc 2.3.x.
59321         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
59323 2009-11-22  Bruno Haible  <bruno@clisp.org>
59325         vasnprintf: Tiny optimization.
59326         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
59327         MacOS X.
59329 2009-11-22  Bruno Haible  <bruno@clisp.org>
59331         Tests for module 'duplocale'.
59332         * modules/duplocale-tests: New file.
59333         * tests/test-duplocale.c: New file.
59335         New module 'duplocale'.
59336         * m4/duplocale.m4: New file.
59337         * lib/locale.in.h (duplocale): New declaration.
59338         * lib/duplocale.c: New file.
59339         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
59340         gl_LOCALE_H_DEFAULTS): New macros.
59341         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
59342         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
59343         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
59344         REPLACE_DUPLOCALE.
59345         * modules/duplocale: New file.
59346         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
59348 2009-11-22  Bruno Haible  <bruno@clisp.org>
59350         * modules/locale-tests (configure.ac): Test for newlocale function.
59351         * tests/test-locale.c: When the system has extended locale functions,
59352         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
59354         locale: Make locale_t available when possible.
59355         * lib/locale.in.h: Include <xlocale.h> when it exists.
59356         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
59357         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
59358         * modules/locale (Depends-on): Add extensions.
59359         (Makefile.am): Also substitute HAVE_XLOCALE_H.
59360         * doc/posix-headers/locale.texi: Document the problem with locale_t.
59362 2009-11-22  Bruno Haible  <bruno@clisp.org>
59364         Add comments.
59365         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
59366         invocation.
59367         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
59368         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
59369         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
59371 2009-11-22  Bruno Haible  <bruno@clisp.org>
59373         error: account for the possibility of freopen (stdout).
59374         * lib/error.c: Include <unistd.h>.
59375         (flush_stdout): New function, extracted from error and error_at_line.
59376         Determine stdout's fd dynamically.
59377         (error, error_at_line): Invoke flush_stdout.
59378         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
59379         * modules/error (Depends-on): Add unistd.
59381 2009-11-22  Bruno Haible  <bruno@clisp.org>
59383         diffseq: Add comment.
59384         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
59386 2009-11-22  Jim Meyering  <meyering@redhat.com>
59388         c-stack: avoid defining an unused static function
59389         * lib/c-stack.c (find_stack_direction): Do not define this function
59390         when it will not be used.
59392         diffseq: avoid spurious gcc warnings
59393         * lib/diffseq.h (IF_LINT2): Define.
59394         (compareseq): Use it to initialize two members of "part".
59395         This avoids two used-uninitialized warnings.
59397 2009-11-21  Jim Meyering  <meyering@redhat.com>
59399         c-stack: avoid "ignoring return value of `write'" warning
59400         * lib/c-stack.c: Include "ignore-value.h".
59401         (die): Explicitly ignore each write return value.
59402         * modules/c-stack (Depends-on): Add ignore-value.
59404 2009-11-21  Bruno Haible  <bruno@clisp.org>
59406         diffseq: reduce scope of variable 'best'.
59407         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
59408         variable, earlier used for two different purposes.
59410 2009-11-21  Jim Meyering  <meyering@redhat.com>
59412         diffseq: remove useless assignment to "best"
59413         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
59414         assignment.  At that point "best" is already guaranteed to be zero.
59416 2009-11-20  Eric Blake  <ebb9@byu.net>
59418         build: mention ftp redirector in release announcements
59419         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
59420         values that used to come from cfg.mk; mention FTP redirect URL.
59421         * build-aux/announce-gen: Mention the mirror list.
59422         Suggested by Karl Berry.
59424         nanosleep: improve port to mingw
59425         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
59426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
59427         LIB_NANOSLEEP, but only when needed.
59428         * modules/select (Link): Document LIBSOCKET.
59429         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
59430         enough.
59432         nanosleep: work around cygwin bug
59433         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
59434         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
59435         bug.
59436         (getnow): Delete, not needed.
59437         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
59438         LIB_CLOCK_GETTIME.
59439         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
59440         clock-time, gettime.
59441         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
59442         bug.
59443         * modules/nanosleep-tests: New test.
59444         * tests/test-nanosleep.c: New file.
59446         sleep: work around cygwin bug
59447         * lib/sleep.c (rpl_sleep): Work around the bug.
59448         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
59449         (gl_PREREQ_SLEEP): Delete unused macro.
59450         * modules/sleep (Depends-on): Add verify.
59451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
59452         * modules/unistd (Makefile.am): Substitute witness.
59453         * lib/unistd.in.h (sleep): Update prototype.
59454         * doc/posix-functions/sleep.texi (sleep): Document the bug.
59455         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
59456         * modules/sleep-tests (Depends-on): Check for alarm.
59458 2009-11-20  Jim Meyering  <meyering@redhat.com>
59460         maint.mk: improve sc_prohibit_magic_number_exit
59461         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
59462         so it does not match uses like System.exit(1).
59463         Add comments showing how to correct all offenders.
59465 2009-11-19  Eric Blake  <ebb9@byu.net>
59467         xalloc-die-tests: add missing library
59468         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
59470         test-xvasprintf: silence compiler warnings
59471         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
59472         empty string from gcc.
59474 2009-11-19  Jim Meyering  <meyering@redhat.com>
59476         xfreopen: new module, from coreutils
59477         * modules/xfreopen: New module.
59478         * lib/xfreopen.c: New file.
59479         * lib/xfreopen.h: New file.
59480         * MODULES.html.sh (File stream based Input/Output"): Add it.
59482 2009-11-19  Eric Blake  <ebb9@byu.net>
59484         manywarnings: depend on warnings
59485         * modules/manywarnings (Depends-on): Add warnings.
59487         build: avoid compiler warnings
59488         * lib/select.c (rpl_select): Delete unused variable.
59489         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
59491 2009-11-18  Eric Blake  <ebb9@byu.net>
59493         tests: avoid false negative with --with-packager
59494         * tests/test-version-etc.sh: Discard packager information.
59495         * tests/test-argp-version-etc-1.sh: Likewise.
59496         Reported by Mike Frysinger.
59498         utimens: fix regression on Solaris
59499         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
59500         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
59501         can only change fd timestamps via futimesat.  Instead, use an
59502         additional witness macro to avoid BSD bug.
59503         Reported by Jim Meyering.
59505 2009-11-17  Eric Blake  <ebb9@byu.net>
59507         usleep: use it to simplify tests
59508         * modules/stat-time-tests (Depends-on): Add usleep.
59509         (configure.ac): Drop usleep check.
59510         * modules/chown-tests (Depends-on, configure.ac): Likewise.
59511         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
59512         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
59513         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
59514         * modules/openat-tests (Depends-on, configure.ac): Likewise.
59515         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
59516         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
59517         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
59518         Likewise.
59519         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
59520         * tests/test-lchown.h (nap): Likewise.
59521         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
59522         * tests/test-stat-time.c (nap): Likewise.
59523         * tests/test-utimens-common.h (nap): Update comments.
59525         usleep: new module
59526         * modules/usleep: New file.
59527         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
59528         * lib/usleep.c (usleep): Likewise.
59529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
59530         * modules/unistd (Makefile.am): Substitute witnesses.
59531         * lib/unistd.in.h (usleep): Add declaration.
59532         * doc/pastposix-functions/usleep.texi (usleep): Document this.
59533         * MODULES.html.sh (Date and time): Likewise.
59534         * modules/usleep-tests (Depends-on): New test.
59535         * tests/test-usleep.c: New file.
59537         chown: work around OpenBSD bug
59538         * lib/chown.c (rpl_chown): Work around the bug.
59539         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
59540         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
59541         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
59542         * modules/chown (Depends-on): Add stdbool.
59543         * modules/lchown (Depends-on): Likewise.
59544         * doc/posix-functions/chown.texi (chown): Document the bug.
59545         * doc/posix-functions/lchown.texi (lchown): Likewise.
59546         * tests/test-lchown.h (test_chown): Relax test.
59548         mkstemp: avoid conflict with C++ keyword template
59549         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
59550         * lib/mkostemp.c (mkostemp): Likewise.
59551         * lib/mkostemps.c (mkostemps): Likewise.
59552         * lib/mkstemp.c (mkstemp): Likewise.
59553         * lib/mkstemps.c (mkstemps): Likewise.
59555         xalloc-die-tests: optimize
59556         * tests/test-xalloc-die.sh: Reduce number of processes.
59558 2009-11-17  Simon Josefsson  <simon@josefsson.org>
59560         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
59561         patch from ludo@gnu.org (Ludovic Courtès).
59563 2009-11-17  Jim Meyering  <meyering@redhat.com>
59565         version-etc: use proper license string
59566         * modules/version-etc (License): Use LGPL, not LGPLv3+.
59567         * modules/version-etc-fsf: Likewise.
59569 2009-11-17  Simon Josefsson  <simon@josefsson.org>
59571         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
59572         printed to stdout.  Deal with EOL differences.
59574 2009-11-17  Eric Blake  <ebb9@byu.net>
59576         unsetenv: work around Solaris bug
59577         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
59578         * lib/unsetenv.c (rpl_unsetenv): Work around it.
59579         Reported by Jim Meyering.
59581         vasnprintf: avoid compiler warnings
59582         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
59583         variables.
59584         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
59586 2009-11-17  Simon Josefsson  <simon@josefsson.org>
59588         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
59589         settings since xalloc-die is no longer the self test,
59590         xalloc-die.sh is.
59592 2009-11-17  Jim Meyering  <meyering@redhat.com>
59594         test-xalloc-die.sh: make the code agree with the commit log
59595         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
59596         at the end, just in case you happen to have a test-xalloc-die
59597         program in some other PATH directory.
59599         test-xalloc-die.sh: fix a portability bug
59600         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
59601         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
59602         Otherwise, argv[0] (as often seen in diagnostics) would be too
59603         system-dependent, sometimes with, and sometimes without the leading "./".
59605         version-etc-fsf: relax license to LGPLv3+
59606         * modules/version-etc-fsf (License): Relax license.
59608 2009-11-16  Eric Blake  <ebb9@byu.net>
59610         xalloc-die-tests: avoid printing null pointer
59611         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
59612         shell script.
59613         * tests/test-xalloc-die.c (program_name): Declare.
59614         * tests/test-xalloc-die.sh (tmpfiles): New file.
59616         setenv, unsetenv: work around various bugs
59617         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
59618         (setenv) [HAVE_SETENV]: Work around bugs.
59619         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
59620         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
59621         for bugs.
59622         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
59623         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
59624         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
59625         * modules/stdlib (Makefile.am): Update substitutions.
59626         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
59627         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
59628         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
59629         * modules/setenv-tests: New test.
59630         * modules/unsetenv-tests: Likewise.
59631         * tests/test-setenv.c: New file.
59632         * tests/test-unsetenv.c: Likewise.
59634 2009-11-16  Jim Meyering  <meyering@redhat.com>
59636         version-etc: relax license to LGPLv3+
59637         * modules/version-etc (License): Relax license.
59639         better AC_REQUIRE expanded-before-required-warning avoidance
59640         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
59641         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
59642         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
59643         which is no longer needed.
59645 2009-11-16  Eric Blake  <ebb9@byu.net>
59647         test-freading: clean up temporary file
59648         * tests/test-freading.c (main): Remove file on success, and use
59649         ASSERT more liberally.
59650         Reported by Jim Meyering.
59652 2009-11-16  Jim Meyering  <meyering@redhat.com>
59654         avoid new AC_REQUIRE expanded-before-required warnings
59655         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
59656         merely using it.
59657         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
59658         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
59660 2009-11-15  Simon Josefsson  <simon@josefsson.org>
59662         * tests/test-xalloc-die.c: New file.
59663         * modules/xalloc-die-tests: New file.
59664         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
59665         XFAIL_TESTS so it can be appended by modules.
59667 2009-11-15  Simon Josefsson  <simon@josefsson.org>
59669         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
59670         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
59672 2009-11-14  Eric Blake  <ebb9@byu.net>
59674         fnmatch: avoid compiler warning
59675         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
59676         to silence compiler warning about mismatch signedness in ?:.
59677         Reported by Robert Millan.
59679         intprops: add double-inclusion guard
59680         * lib/intprops.h: Allow idempotent includes.
59681         Suggested by Bruce Korb.
59683         openat: detect Solaris fchownat bug
59684         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
59685         penalizing glibc chownat when only lchownat is broken.
59686         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
59687         trailing slash bugs.
59688         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
59689         * modules/openat-tests (Files): Include more files.
59690         (Depends-on): Add mgetgroups, sleep, stat-time.
59691         (configure.ac): Add additional checks.
59692         (Makefile.am): Build new test.
59693         * tests/test-fchownat.c: New file.
59695         lchown: detect Solaris and FreeBSD bug
59696         * lib/lchown.c (rpl_lchown): Work around bug.
59697         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
59698         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
59699         * modules/unistd (Makefile.am): Populate it.
59700         * lib/unistd.in.h (lchown): Update declaration.
59701         * doc/posix-functions/lchown.texi (lchown): Document the bug.
59702         * modules/lchown-tests: New file.
59703         * tests/test-lchown.h (test_lchown): Likewise.
59704         * tests/test-lchown.c (main): Likewise.
59706         chown: detect Solaris and FreeBSD bug
59707         * lib/chown.c (rpl_chown): Work around bug.
59708         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
59709         (gl_PREREQ_CHOWN): Delete.
59710         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
59711         * modules/unistd (Makefile.am): Populate it.
59712         * lib/unistd.in.h (chown): Update declaration.
59713         * lib/lchown.c (chown): Update client.
59714         * modules/lchown (Depends-on): Add lstat.
59715         * doc/posix-functions/chown.texi (chown): Document the bug.
59716         * doc/posix-functions/getgroups.texi (getgroups): Document
59717         getgroups pitfall.
59718         * modules/chown-tests: New file.
59719         * tests/test-chown.h (test_chown): Likewise.
59720         * tests/test-chown.c (main): Likewise.
59722 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
59724         gnulib-tool: correctly detect absence of m4 directories
59725         * gnulib-tool: Avoid extra newline on data passed to wc -l.
59727 2009-11-14  Jim Meyering  <meyering@redhat.com>
59729         maint.mk: Prohibit inclusion of "xalloc.h" without use.
59730         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
59732 2009-11-14  John W. Eaton  <jwe@gnu.org>
59734         strftime.h: wrap function declaration in extern "C" block
59735         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
59737 2009-11-13  Eric Blake  <ebb9@byu.net>
59739         getgroups: avoid compiler warning
59740         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
59742         getgroups: work around FreeBSD bug
59743         * lib/getgroups.c (rpl_getgroups): Work around the bug.
59744         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
59745         * doc/posix-functions/getgroups.texi (getgroups): Document it.
59746         * tests/test-getgroups.c (main): Fix buffer overrun.
59748         getgroups: avoid compilation failure
59749         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
59750         * modules/getgroups (Depends-on): Add stdint.
59752 2009-11-13  Jim Meyering  <meyering@redhat.com>
59754         test-getgroups: avoid compilation failure
59755         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
59757 2009-11-13  Eric Blake  <ebb9@byu.net>
59759         mgetgroups: new module, taken from coreutils
59760         * modules/mgetgroups: New file.
59761         * lib/mgetgroups.h: Likewise.
59762         * lib/mgetgroups.c (mgetgroups): Likewise.
59763         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
59764         * MODULES.html.sh (Users and groups): Mention it.
59766         getgroups: don't expose GETGROUPS_T to user
59767         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
59768         an element at a time if GETGROUPS_T is wrong size.
59769         * lib/getugroups.h (getugroups): Change signature.
59770         * lib/unistd.in.h (getgroups): Likewise.
59771         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
59772         signature needs fixing.
59773         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
59774         AC_TYPE_GETGROUPS.
59775         * modules/group-member (Depends-on): Add getgroups.
59776         * lib/group-member.c (group_info, get_group_info): Use gid_t.
59777         (group_member): Rely on getgroups replacement.
59778         * lib/getugroups.c (getugroups): Use gid_t.
59779         * tests/test-getgroups.c (main): Likewise.
59780         * NEWS: Mention the signature change.
59781         * doc/posix-functions/getgroups.texi (getgroups): Mention the
59782         problem with signature.
59783         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
59784         GETGROUPS_T is still useful for setgroups.
59786         getgroups, getugroups: provide stubs for mingw
59787         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
59788         * lib/getugroups.c (getugroups): Likewise.
59789         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
59790         function.  Modernize replacement scheme.
59791         (gl_PREREQ_GETGROUPS): Delete.
59792         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
59793         * modules/getgroups (configure.ac): Declare witness.
59794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
59795         * modules/unistd (Depends-on): Substitute witness.
59796         * lib/unistd.in.h (getgroups): Declare replacement.
59798         getgroups: avoid calling exit
59799         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
59800         drop xalloc.
59801         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
59802         dependencies.
59803         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
59804         exiting, in the rare case of malloc failure.
59806         getgroups: fix logic error
59807         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
59808         has more than 20 groups.
59809         * modules/getgroups-tests: New test.
59810         * tests/test-getgroups.c: New file.
59812 2009-11-13  Simon Josefsson  <simon@josefsson.org>
59814         * tests/test-base64.c: Improve.
59816 2009-11-13  Simon Josefsson  <simon@josefsson.org>
59818         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
59819         Blake <ebb9@byu.net>.
59821 2009-11-13  Simon Josefsson  <simon@josefsson.org>
59823         * tests/test-xvasprintf.c: Add %s%s related checks.
59825 2009-11-12  Eric Blake  <ebb9@byu.net>
59827         version-etc: match standards.texi style
59828         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
59829         and use <> only for URLs.
59831 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
59833         fts: do not fail on a submount during traversal
59834         * lib/fts.c (fts_build): Read the stat info again after opening
59835         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
59836         Original report at http://bugzilla.redhat.com/501848.
59838 2009-11-12  Jim Meyering  <meyering@redhat.com>
59840         bootstrap: sync from coreutils
59841         * build-aux/bootstrap (bootstrap_epilogue): New function.
59842         Use git_modules_config in one more place.  This make bootstrap's
59843         --gnulib-srcdir option more useful for testing.
59845         bootstrap: generalize autoheader check
59846         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
59847         AC_CONFIG_HEADERS.
59849 2009-11-11  Eric Blake  <ebb9@byu.net>
59851         mkfifoat: use new modules for Solaris and BSD bugs
59852         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
59853         * lib/mkfifoat.c (mknodat): Split...
59854         * lib/mknodat.c (mknodat): ...into new file.
59855         * modules/mkfifoat (Files): Ship new file.
59856         (Depends-on): Add mkfifo, mknod.
59857         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
59858         (Depends-on): Add symlink.
59859         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
59860         redundant with test_mkfifo.h.
59861         (do_mkfifoat, do_mknodat): New helpers.
59863         mknod: new module
59864         * modules/mknod: New file.
59865         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
59866         * lib/mknod.c (mknod): Likewise.
59867         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
59868         defaults.
59869         * modules/sys_stat (Makefile.am): Substitute them.
59870         * lib/sys_stat.in.h (mknod): Declare replacement.
59871         * MODULES.html.sh (Support for systems lacking POSIX:2008):
59872         Document it.
59873         * doc/posix-functions/mknod.texi (mknod): Likewise.
59874         * modules/mknod-tests: New test.
59875         * tests/test-mknod.c: Likewise.
59877         mkfifo: new module
59878         * modules/mkfifo: New file.
59879         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
59880         * lib/mkfifo.c (mkfifo): Likewise.
59881         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
59882         defaults.
59883         * modules/sys_stat (Makefile.am): Substitute them.
59884         * lib/sys_stat.in.h (mkfifo): Declare replacement.
59885         * MODULES.html.sh (Support for systems lacking POSIX:2008):
59886         Document it.
59887         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
59888         * modules/mkfifo-tests: New test.
59889         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
59890         from test-mkfifoat.c.
59891         * tests/test-mkfifo.c: New file.
59893         readlink: detect FreeBSD bug
59894         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
59895         slash on symlink.
59896         * doc/posix-functions/readlink.texi (readlink): Document the bug.
59897         * tests/test-readlink.h (test_readlink): Enhance test.
59899         symlink: detect FreeBSD bug
59900         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
59901         slash on symlink.
59902         * doc/posix-functions/symlink.texi (symlink): Document the bug.
59903         * tests/test-symlink.h (test_symlink): Enhance test.
59905 2009-11-10  Eric Blake  <ebb9@byu.net>
59907         link: detect FreeBSD bug
59908         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
59909         symlink.
59910         * doc/posix-functions/link.texi (link): Document the bug.
59911         * tests/test-link.h (test_link): Enhance test.
59912         * tests/test-linkat.c (main): Update caller.
59914         unlink, remove: detect FreeBSD bug
59915         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
59916         slash on symlink.
59917         * doc/posix-functions/unlink.texi (unlink): Document the bug.
59918         * doc/posix-functions/remove.texi (remove): Likewise.
59919         * tests/test-unlink.h (test_unlink): Enhance test.
59920         * tests/test-remove.c (main): Likewise.
59922 2009-11-09  Eric Blake  <ebb9@byu.net>
59924         rename: detect FreeBSD bug
59925         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
59926         slash on symlink.
59927         * modules/renameat-tests (Depends-on): Add filenamecat.
59928         * tests/test-rename.h (test_rename): Allow one more errno.
59929         * tests/test-renameat.c (main): Likewise.
59930         * doc/posix-functions/rename.texi (rename): Document the bug.
59932         open: detect FreeBSD bug
59933         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
59934         symlink.
59935         * doc/posix-functions/open.texi (open): Document the bug.
59936         * doc/posix-functions/utimes.texi (utimes): Likewise.
59937         * tests/test-open.h (test_open): Add parameters, and test symlink
59938         handling.
59939         * tests/test-open.c (main): Adjust caller.
59940         * tests/test-fcntl-safer.c (main): Likewise.
59941         * modules/open-tests (Depends-on): Add stdbool, symlink.
59942         * modules/fcntl-safer-tests (Depends-on): Likewise.
59943         * tests/test-openat.c (main): Add test-open tests.
59945         stat: detect FreeBSD bug
59946         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
59947         symlink.
59948         * doc/posix-functions/stat.texi (stat): Document the bug.
59949         * tests/test-stat.h (test_stat_func): Add argument.
59950         * tests/test-stat.c (main): Adjust caller.
59951         * tests/test-fstatat.c (main): Likewise.
59952         * modules/stat-tests (Depends-on): Add stdbool, symlink.
59953         Reported by Jim Meyering.
59955 2009-11-09  James Youngman  <jay@gnu.org>
59957         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
59958         * lib/strftime.c: Correct placement of #include "ignore-value.h".
59960 2009-11-08  Jim Meyering  <meyering@redhat.com>
59962         utimens: remove invalid futimesat call
59963         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
59964         It used the file descriptor of the target file as the DIR_FD
59965         parameter and NULL as the file name.  That caused failure with
59966         errno == EFAULT on FreeBSD-8.0-rc2
59968 2009-11-07  Eric Blake  <ebb9@byu.net>
59970         fflush, freadseek: use fseeko, not fseek
59971         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
59972         (clear_ungetc_buffer): Avoid potential problems on large files.
59973         * lib/freadseek.c (freadseek): Likewise.
59974         * modules/freadseek (Depends-on): Add fseeko.
59975         * modules/fseek (configure.ac): Set a witness.
59976         * tests/test-fflush.c (main): Use fseeko.
59977         * tests/test-fpurge.c (fseek): Disable link warning.
59978         * tests/test-freadable.c (fseek): Likewise.
59979         * tests/test-freading.c (fseek): Likewise.
59980         * tests/test-fseeko.c (fseek): Likewise.
59981         * tests/test-ftell.c (fseek): Likewise.
59982         * tests/test-ftello.c (fseek): Likewise.
59983         * tests/test-fwritable.c (fseek): Likewise.
59984         * tests/test-fwriting.c (fseek): Likewise.
59986 2009-11-06  Simon Josefsson  <simon@josefsson.org>
59988         * modules/memchr (Depends-on): Drop getpagesize dependency.
59990 2009-11-06  Simon Josefsson  <simon@josefsson.org>
59992         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
59993         Reported by Ludovic Courtès.
59994         * build-aux/pmccabe2html: Improve example usage.
59995         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
59997 2009-11-06  Jim Meyering  <meyering@redhat.com>
59999         do-release-commit-and-tag: New module.
60000         Automate the release-commit and tag process.
60001         * build-aux/do-release-commit-and-tag: New script, from coreutils.
60002         * modules/do-release-commit-and-tag: New file.
60003         * MODULES.html.sh (Support for maintaining and releasing): Add it.
60005 2009-11-06  Simon Josefsson  <simon@josefsson.org>
60007         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
60008         because test-select.c uses inet_pton.
60010 2009-11-06  Simon Josefsson  <simon@josefsson.org>
60012         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
60013         GETADDRINFO_LIB.  Bump serial number.
60014         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
60015         Suggested by Eric Blake <ebb9@byu.net>.
60017 2009-11-05  Eric Blake  <ebb9@byu.net>
60019         strtod: detect darwin bug
60020         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
60021         Reported by Leo Davis.
60023         freopen-safer: new module
60024         * modules/freopen-safer: New module.
60025         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
60026         * lib/freopen-safer.c (freopen_safer): New file.
60027         * lib/stdio-safer.h (freopen_safer): New declaration.
60028         * lib/stdio--.h (freopen): New override.
60029         * MODULES.html.sh (File stream based Input/Output): Mention it.
60030         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
60031         freopen-safer module.
60032         * doc/posix-functions/stderr.texi (stderr): Likewise.
60033         * doc/posix-functions/stdin.texi (stdin): Likewise.
60034         * doc/posix-functions/stdout.texi (stdout): Likewise.
60035         * modules/freopen-safer-tests: New test.
60036         * tests/test-reopen-safer.c: New file.
60038 2009-11-05  Jim Meyering  <meyering@redhat.com>
60040         maint.mk: Prohibit inclusion of "close-stream.h" without use.
60041         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
60043 2009-11-05  Simon Josefsson  <simon@josefsson.org>
60045         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
60047 2009-11-05  Simon Josefsson  <simon@josefsson.org>
60049         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
60051 2009-11-05  Simon Josefsson  <simon@josefsson.org>
60053         Fix link error.
60054         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
60055         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60057 2009-11-05  Simon Josefsson  <simon@josefsson.org>
60059         * tests/test-func.c: Also test value of __func__.
60061 2009-11-05  Simon Josefsson  <simon@josefsson.org>
60063         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
60064         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
60066 2009-11-05  Bruno Haible  <bruno@clisp.org>
60068         Fix link error.
60069         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
60070         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60071         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
60073 2009-11-05  Bruno Haible  <bruno@clisp.org>
60075         Tests for module 'inet_pton'.
60076         * modules/inet_pton-tests: New file.
60077         * tests/test-inet_pton.c: New file.
60079 2009-11-05  Bruno Haible  <bruno@clisp.org>
60081         Tests for module 'inet_ntop'.
60082         * modules/inet_ntop-tests: New file.
60083         * tests/test-inet_ntop.c: New file.
60085 2009-11-04  Eric Blake  <ebb9@byu.net>
60087         stdlib-safer: wrap all mkstemp variants
60088         * modules/mkostemp (configure.ac): Set witness.
60089         * modules/mkostemps (configure.ac): Likewise.
60090         * modules/mkstemps (configure.ac): Likewise.
60091         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
60092         (mkstemps_safer): Wrap more functions.
60093         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
60094         wrapping.
60095         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
60096         (mkstemps_safer): Implement the wrappers.
60098         mkstemps, mkostemps: new modules
60099         * modules/mkostemps: New module.
60100         * modules/mkstemps: Likewise.
60101         * lib/mkostemps.c (mkostemps): New file.
60102         * lib/mkstemps.c (mkstemps): Likewise.
60103         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
60104         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
60105         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
60106         * modules/stdlib (Makefile.am): Substitute them.
60107         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
60108         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
60109         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
60110         * doc/gnulib.texi (Glibc stdlib.h): Include them.
60111         * MODULES.html.sh (File system functions): Mention them.
60113         tempname: resync from glibc
60114         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
60115         same values for __GT_FILE as glibc.  Abort even when assertions
60116         are disabled.
60117         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
60118         match its value otherwise.  Allow idempotent inclusion.
60119         * lib/mkdtemp.c (mkdtemp): Adjust caller.
60120         * lib/mkostemp.c (mkostemp): Likewise.
60121         * lib/mkstemp.c (mkstemp): Likewise.
60122         * lib/tmpfile.c (tmpfile): Likewise.
60123         * NEWS: Document this.
60125         utimens: fix use of futimens on older Linux
60126         * lib/utimens.c (fdutimens): Use updated, rather than original,
60127         timespec to avoid bug in older Linux kernel.
60128         Reported by Simon Josefsson.
60130 2009-11-04  Bruno Haible  <bruno@clisp.org>
60132         Make num_processors more flexible and consistent.
60133         * lib/nproc.h (enum nproc_query): New type.
60134         (num_processors): Add a 'query' argument.
60135         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
60136         (num_processors): Add a 'query' argument. Test the value of the
60137         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
60138         mingw, count the number of CPUs available for the current process.
60139         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
60140         Check for sched_getaffinity and sched_getaffinity_np.
60141         * modules/nproc (Depends-on): Add c-ctype, extensions.
60142         * NEWS: Mention the change.
60144 2009-11-03  Bruno Haible  <bruno@clisp.org>
60146         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
60148 2009-11-03  Jim Meyering  <meyering@redhat.com>
60150         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
60151         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
60152         if it is defined.
60154 2009-11-02  Eric Blake  <ebb9@byu.net>
60156         mktime, timegm: share common declaration
60157         * lib/mktime-internal.h: New file.
60158         * lib/mktime.c: Use it rather than open-coding a declaration.
60159         * lib/timegm.c: Likewise.
60160         * modules/mktime (Files): Ship it.
60161         * modules/timegm (Files): Likewise.
60162         Suggested by Bruno Haible.
60164         test-update-copyright: update test to match script changes
60165         * tests/test-update-copyright.sh: Avoid hard-coding perl
60166         location.  Don't update *.bak created by earlier runs.
60168 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60169             Simon Josefsson  <simon@josefsson.org>
60170             Bruno Haible  <bruno@clisp.org>
60172         Fix link error on Solaris 8.
60173         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
60174         also in libnsl. Define also INET_PTON_LIB.
60175         * modules/inet_pton (Link): New section.
60177 2009-11-02  Simon Josefsson  <simon@josefsson.org>
60178             Bruno Haible  <bruno@clisp.org>
60180         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
60181         * modules/inet_ntop (Link): New section.
60182         Reported by Boyan Kasarov <bkasarov@gmail.com>.
60184 2009-11-02  Eric Blake  <ebb9@byu.net>
60186         maint: avoid compiler warnings in m4 macros
60187         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
60188         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
60190 2009-11-02  Simon Josefsson  <simon@josefsson.org>
60192         * m4/pmccabe2html.m4: Remove file.
60193         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
60194         function.  Change maintainer.
60195         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
60196         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
60197         Courtès).
60199 2009-10-31  Eric Blake  <ebb9@byu.net>
60201         fseeko: fix m4 regression
60202         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
60203         regression from 2009-10-27.
60204         Reported by Ralf Wildenhues.
60206 2009-10-31  Jim Meyering  <meyering@redhat.com>
60208         inttostr: aesthetics and improved (compile-time) safety
60209         Define inttype_is_signed rather than inttype_is_unsigned,
60210         since the sole use is via "#if inttype_is_signed".
60211         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
60212         inttype_is_unsigned.
60213         * lib/offtostr.c (inttype_is_signed): Likewise.
60214         * lib/uinttostr.c (inttype_is_signed): Likewise.
60215         * lib/umaxtostr.c (inttype_is_signed): Likewise.
60216         * lib/inttostr.c (inttostr): Use verify to cross-check the
60217         inttype_is_signed value and the signedness of the actual type.
60218         * modules/inttostr (Depends-on): Add verify.
60220 2009-10-30  Eric Blake  <ebb9@byu.net>
60222         build: avoid compiler warnings
60223         * lib/fchmodat.c (lchmod): Mark unused variables.
60224         * lib/getopt.c (_getopt_initialize): Likewise.
60225         * lib/mktime.c (__mktime_internal): Provide prototype.
60226         * lib/inttostr.c (inttostr): Avoid compiler warning even with
60227         older gcc that do not understand #pragma GCC diagnostic.
60228         * lib/uinttostr.c (inttype_is_unsigned): Define.
60229         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
60231 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
60233         stat: fix compilation on AIX
60234         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
60235         only see struct stat64.
60237 2009-10-30  Eric Blake  <ebb9@byu.net>
60239         exclude: make more robust
60240         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
60241         rather than masking a coding bug.
60242         Suggested by Bruno Haible.
60244 2009-10-30  Jim Meyering  <meyering@redhat.com>
60246         perl scripts: remove #!/usr/bin/perl in favor of more portable...
60247         Rather than putting #!/usr/bin/perl on the first line,
60248         start with a variant of what's recommended by "man perlrun" that
60249         invokes the first "perl" program from your shell's search path.
60250         * build-aux/gitlog-to-changelog: Replace #!... as above.
60251         Add a "Local Variables" perl mode setting.
60252         Prompted by a patch from Ludovic Courtès.
60253         Improved by Eric Blake.
60254         * build-aux/useless-if-before-free: Likewise.
60255         * build-aux/announce-gen: Likewise.
60256         * build-aux/update-copyright: Likewise.
60258 2009-10-29  Eric Blake  <ebb9@byu.net>
60260         filenamecat-lgpl: adjust clients
60261         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
60262         filenamecat.
60263         * modules/renameat (Depends-on): Likewise.
60265         filenamecat: split into filenamecat-lgpl
60266         * modules/filenamecat-lgpl: New module.
60267         * modules/filenamecat (Files): Move library-safe files into
60268         filenamecat-lgpl.
60269         (Depends-on): Add filenamecat-lgpl.
60270         (configure.ac): Declare witness.
60271         * lib/filenamecat.h (file_name_concat): Only declare when using
60272         GPL module.
60273         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
60274         Move...
60275         * lib/filenamecat-lgpl.c: ...into new file.
60276         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
60277         (gl_FILE_NAME_CONCAT): Use it.
60278         * MODULES.html.sh (File system functions): Mention new module.
60280         argp: avoid memory leak
60281         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
60282         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
60283         base_name, since the latter malloc()s and can call exit().
60284         Leak introduced 2006-07-03.
60286         dirname-lgpl: adjust clients that don't need full dirname
60287         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
60288         * modules/filenamecat (Depends-on): Likewise.
60289         * modules/linkat (Depends-on): Likewise.
60290         * modules/mkancesdirs (Depends-on): Likewise.
60291         * modules/mkdir (Depends-on): Likewise.
60292         * modules/openat (Depends-on): Likewise.
60293         * modules/savewd (Depends-on): Likewise.
60294         * modules/rename (Depends-on): Likewise.
60295         (License): Relax license.
60296         * modules/mkdir-tests (Depends-on): Drop progname.
60297         (Makefile.am): Delete unneeded LDADD.
60298         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
60300         dirname: split into dirname-lgpl
60301         * modules/dirname-lgpl: New module.
60302         * modules/dirname (Files): Move library-safe files into
60303         dirname-lgpl.
60304         (Depends-on): Add dirname-lgpl.
60305         (configure.ac): Declare witness.
60306         * modules/double-slash-root (License): Relax license.
60307         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
60308         module.
60309         * lib/dirname.c (dir_len, mdir_name): Move...
60310         * lib/dirname-lgpl.c: ...into new file.
60311         * lib/basename.c (last_component, base_len): Move...
60312         * lib/basename-lgpl.c: ...into new file.
60313         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
60314         (gl_DIRNAME): Use it.
60315         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
60316         Mention new module.
60317         * modules/dirname-tests (Depends-on): Add progname.
60318         * tests/test-dirname.c (program_name): Delete.
60320         mkdir: make safe for libraries
60321         * modules/mkdir (Depends-on): Drop xalloc.
60322         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
60323         exit.
60325         tests: avoid some compiler warnings
60326         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
60327         literals.
60328         * tests/test-memchr.c (main): Avoid type mismatch.
60329         * tests/test-arpa_inet.c (main): Avoid unused parameters.
60330         * tests/test-base64.c (main): Likewise.
60331         * tests/test-getdelim.c (main): Likewise.
60332         * tests/test-gethostname.c (main): Likewise.
60333         * tests/test-getline.c (main): Likewise.
60334         * tests/test-netinet_in.c (main): Likewise.
60335         * tests/test-select.c (open_server_socket, main): Likewise.
60336         * tests/test-select-stdin.c (main): Likewise.
60337         * tests/test-sockets.c (main): Likewise.
60338         * tests/test-strsignal.c (main): Likewise.
60339         * tests/test-sys_select.c (main): Likewise.
60340         * tests/test-sys_socket.c (main): Likewise.
60341         * tests/test-u64.c (main): Likewise.
60342         * tests/test-xfprintf-posix.c (main): Likewise.
60343         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
60345         sockets: avoid compiler warning
60346         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
60348         maint: detect usage(1) and other suspicious exits
60349         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
60351 2009-10-29  Jim Meyering  <meyering@redhat.com>
60353         timespec: long-to-int truncation could make timespec_cmp malfunction
60354         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
60355         a multiple of 2^32 nanoseconds as no difference.
60357 2009-10-28  Jim Meyering  <meyering@redhat.com>
60359         fprintftime: wrap macro code argument in "do {...} while(0)"
60360         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
60361         cpy macro must be a statement that can be followed by a semicolon.
60362         Now that the else clause contains a comment and is hence longer
60363         than one line, I require curly braces.  That in turn requires
60364         that we wrap this code block in the standard do...while(0).
60366         fprintftime: remove stray semicolon from previous change
60367         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
60369         fprintftime: avoid a warning about ignored fwrite return value
60370         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
60371         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
60372         that is unsafe.
60373         * modules/fprintftime (Depends-on): Add ignore-value.
60375         exclude: avoid an unwarranted warning
60376         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
60378 2009-10-27  Eric Blake  <ebb9@byu.net>
60380         fseek: avoid compilation failure when fflush is replaced
60381         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
60382         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
60383         module is in use.
60384         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
60385         module is not in use; since REPLACE_FSEEK worked otherwise.
60386         (GNULIB_FTELLO): Likewise for ftell.
60387         Reported by Ian Beckwith and others.
60389 2009-10-27  Bruno Haible  <bruno@clisp.org>
60391         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
60392         Reported by Jim Meyering.
60394 2009-10-27  Jim Meyering  <jim@meyering.net>
60395             Bruno Haible  <bruno@clisp.org>
60397         Avoid warning despite dropping the return value of fwrite.
60398         * lib/unicodeio.c: Include ignore-value.h.
60399         (fwrite_success_callback): Explicitly ignore fwrite's return value.
60400         * modules/unicodeio (Depends-on): Add ignore-value.
60402 2009-10-26  Eric Blake  <ebb9@byu.net>
60404         areadlinkat: fix fallback path
60405         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
60406         pointer and zero.
60408 2009-10-22  Pádraig Brady  <P@draigBrady.com>
60410         Use a better IO block size for modern systems
60411         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
60412         * lib/md2.c: Likewise.
60413         * lib/md4.c: Likewise.
60414         * lib/md5.c: Likewise.
60415         * lib/sha1.c: Likewise.
60416         * lib/sha256.c: Likewise.
60417         * lib/sha512.c: Likewise.
60419 2009-10-22  Eric Blake  <ebb9@byu.net>
60421         tests: avoid several compiler warnings
60422         * tests/test-getcwd.c (main): Avoid buffer underflow.
60423         * tests/test-getdate.c (main): String literals are not safe with
60424         putenv, so use setenv.  Declare unused argument.
60425         * modules/getdate-tests (Depends-on): Add setenv.
60426         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
60427         problems with string literals in char *.
60428         * tests/test-hash.c (main): Avoid shadowing declaration.
60429         (insert_new): Treat string literals as char const *.
60430         * tests/test-getopt.h (test_getopt): Likewise.
60431         (getopt_loop): Alter types to minimize casting elsewhere.
60432         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
60433         (test_getopt_long_posix): Likewise.
60434         (do_getopt_long): Add wrapper to minimize casting.
60435         * tests/test-atexit.c (clear_temp_file): Use void.
60436         * tests/test-areadlink-with-size.c (main): Declare unused
60437         arguments.
60438         * tests/test-areadlink.c (main): Likewise.
60439         * tests/test-areadlinkat-with-size.c (main): Likewise.
60440         * tests/test-areadlinkat.c (main): Likewise.
60441         * tests/test-canonicalize-lgpl.c (main): Likewise.
60442         * tests/test-canonicalize.c (main): Likewise.
60443         * tests/test-dirent-safer.c (main): Likewise.
60444         * tests/test-dirname.c (main): Likewise.
60445         * tests/test-dup2.c (main): Likewise.
60446         * tests/test-fchdir.c (main): Likewise.
60447         * tests/test-fcntl-h.c (main): Likewise.
60448         * tests/test-fcntl-safer.c (main): Likewise.
60449         * tests/test-fdopendir.c (main): Likewise.
60450         * tests/test-fdutimensat.c (main): Likewise.
60451         * tests/test-fflush.c (main): Likewise.
60452         * tests/test-filenamecat.c (main): Likewise.
60453         * tests/test-filevercmp.c (main): Likewise.
60454         * tests/test-fopen-safer.c (main): Likewise.
60455         * tests/test-fopen.c (main): Likewise.
60456         * tests/test-fpending.c (main): Likewise.
60457         * tests/test-fpurge.c (main): Likewise.
60458         * tests/test-freading.c (main): Likewise.
60459         * tests/test-fstatat.c (main): Likewise.
60460         * tests/test-fsync.c (main): Likewise.
60461         * tests/test-futimens.c (main): Likewise.
60462         * tests/test-getndelim2.c (main): Likewise.
60463         * tests/test-gettimeofday.c (main): Likewise.
60464         * tests/test-getopt.c (main): Likewise.
60465         * tests/test-i-ring.c (main): Likewise.
60466         * tests/test-inttypes.c (main): Likewise.
60467         * tests/test-link.c (main): Likewise.
60468         * tests/test-lstat.c (main): Likewise.
60469         * tests/test-math.c (main): Likewise.
60470         * tests/test-md5.c (main): Likewise.
60471         * tests/test-memchr2.c (main): Likewise.
60472         * tests/test-memrchr.c (main): Likewise.
60473         * tests/test-mkdir.c (main): Likewise.
60474         * tests/test-mkdirat.c (main): Likewise.
60475         * tests/test-mkfifoat.c (main): Likewise.
60476         * tests/test-open.c (main): Likewise.
60477         * tests/test-openat-safer.c (main): Likewise.
60478         * tests/test-openat.c (main): Likewise.
60479         * tests/test-quotearg.c (main): Likewise.
60480         * tests/test-rawmemchr.c (main): Likewise.
60481         * tests/test-readlink.c (main): Likewise.
60482         * tests/test-remove.c (main): Likewise.
60483         * tests/test-rename.c (main): Likewise.
60484         * tests/test-renameat.c (main): Likewise.
60485         * tests/test-rmdir.c (main): Likewise.
60486         * tests/test-sha1.c (main): Likewise.
60487         * tests/test-signal.c (main): Likewise.
60488         * tests/test-sigaction.c (main): Likewise.
60489         * tests/test-stat.c (main): Likewise.
60490         * tests/test-stat-time.c (main): Likewise.
60491         * tests/test-stddef.c (main): Likewise.
60492         * tests/test-stdint.c (main): Likewise.
60493         * tests/test-stdio.c (main): Likewise.
60494         * tests/test-stdlib.c (main): Likewise.
60495         * tests/test-strchrnul.c (main): Likewise.
60496         * tests/test-strerror.c (main): Likewise.
60497         * tests/test-string.c (main): Likewise.
60498         * tests/test-strtod.c (main): Likewise.
60499         * tests/test-strverscmp.c (main): Likewise.
60500         * tests/test-symlink.c (main): Likewise.
60501         * tests/test-symlinkat.c (main): Likewise.
60502         * tests/test-sys_stat.c (main): Likewise.
60503         * tests/test-sys_time.c (main): Likewise.
60504         * tests/test-time.c (main): Likewise.
60505         * tests/test-unistd.c (main): Likewise.
60506         * tests/test-unlink.c (main): Likewise.
60507         * tests/test-unlinkat.c (main): Likewise.
60508         * tests/test-utimens.c (main): Likewise.
60509         * tests/test-utimensat.c (main): Likewise.
60510         * tests/test-version-etc.c (main): Likewise.
60511         * tests/test-wchar.c (main): Likewise.
60512         * tests/test-wctype.c (main): Likewise.
60513         * tests/test-xprintf-posix.c (main): Likewise.
60514         * tests/test-posixtm.c (main): Likewise.
60515         (STREQ): Delete unused macro.
60516         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
60517         shadowed variables.
60518         * tests/test-memchr.c (main): Likewise.
60520 2009-10-21  Eric Blake  <ebb9@byu.net>
60522         areadlinkat: avoid failure on older glibc
60523         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
60524         rather than mis-comparing 0 against FUNC_RESULT of char*.
60526 2009-10-21  Bruno Haible  <bruno@clisp.org>
60528         * modules/stpncpy (License): Relicense under LGPLv2+.
60529         Reported by David Lutterkort <lutter@redhat.com>.
60531 2009-10-20  Eric Blake  <ebb9@byu.net>
60533         utimensat: work around Solaris 9 bug
60534         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
60535         has trailing slash bugs.
60536         * tests/test-lutimens.h (test_lutimens): Enhance test.
60537         * tests/test-utimens.h (test_utimens): Likewise.
60538         * doc/posix-functions/utime.texi (utime): Enhance documentation.
60539         * doc/posix-functions/utimes.texi (utimes): Likewise.
60540         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
60541         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
60542         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
60543         * doc/posix-functions/futimens.texi (futimens): Likewise.
60545         fdutimensat: new module
60546         * modules/fdutimensat: New file.
60547         * lib/fdutimensat.c (fdutimensat): Likewise.
60548         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
60549         * MODULES.html.sh (File system functions): Mention module.
60550         * modules/fdutimensat-tests: New test.
60551         * tests/test-fdutimensat.c: Likewise.
60553         doc: regenerate INSTALL
60554         * doc/INSTALL: Reflect recent autoconf update.
60555         * doc/INSTALL.ISO: Likewise.
60556         * doc/INSTALL.UTF-8: Likewise.
60558 2009-10-20  Pádraig Brady  <P@draigBrady.com>
60560         acl: warn if ACL support is not detected
60561         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
60563 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
60565         * lib/nproc.h: Add extern "C" block for C++.
60567 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
60568             Bruno Haible  <bruno@clisp.org>
60570         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
60571         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
60572         * doc/posix-functions/isalpha.texi: Likewise.
60573         * doc/posix-functions/isblank.texi: Likewise.
60574         * doc/posix-functions/iscntrl.texi: Likewise.
60575         * doc/posix-functions/isdigit.texi: Likewise.
60576         * doc/posix-functions/isgraph.texi: Likewise.
60577         * doc/posix-functions/islower.texi: Likewise.
60578         * doc/posix-functions/isprint.texi: Likewise.
60579         * doc/posix-functions/ispunct.texi: Likewise.
60580         * doc/posix-functions/isspace.texi: Likewise.
60581         * doc/posix-functions/isupper.texi: Likewise.
60582         * doc/posix-functions/isxdigit.texi: Likewise.
60584 2009-10-18  Bruno Haible  <bruno@clisp.org>
60586         Tests for module 'isblank'.
60587         * modules/isblank-tests: New file.
60588         * tests/test-isblank.c: New file.
60590         New module 'isblank'.
60591         * lib/isblank.c: New file.
60592         * m4/isblank.m4: New file.
60593         * modules/isblank: New file.
60594         * doc/posix-functions/isblank.texi: Mention the new module.
60596 2009-10-18  Bruno Haible  <bruno@clisp.org>
60598         New module 'ctype'.
60599         * lib/ctype.in.h: New file.
60600         * m4/ctype.m4: New file.
60601         * modules/ctype: New file.
60602         * doc/posix-headers/ctype.texi: Mention the new module.
60604 2009-10-18  Jim Meyering  <meyering@redhat.com>
60606         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
60607         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
60608         right after its initialization, rather than farther down.
60609         Keeping these in close proximity makes it easier to ensure
60610         that each such variable is initialized.  E.g.,
60612             LIB_CLOCK_GETTIME=
60613             AC_SUBST([LIB_CLOCK_GETTIME])
60615         This change also increments these serial numbers.
60616         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
60617         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
60618         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60620 2009-10-18  Bruno Haible  <bruno@clisp.org>
60622         Don't let environment variables perturb build.
60623         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
60624         (gl_PREREQ_GETHRXTIME): ... not here.
60626 2009-10-18  Bruno Haible  <bruno@clisp.org>
60628         Avoid symlink attack in localcharset module.
60629         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
60630         (O_NOFOLLOW): Define fallback.
60631         (get_charset_aliases): Don't open the file if it is a symbolic link.
60632         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
60633         gl_FCNTL_H.
60634         (gl_FCNTL_H): Require it.
60635         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
60636         * modules/localcharset (Files): Add m4/fcntl_h.m4.
60637         Reported by Fergal Glynn <fglynn@veracode.com>.
60639 2009-10-18  Bruno Haible  <bruno@clisp.org>
60641         Implement nproc for mingw.
60642         * lib/nproc.c: Include <windows.h>
60643         (num_processors): On native Windows platforms, try GetSystemInfo.
60645 2009-10-18  Bruno Haible  <bruno@clisp.org>
60647         Implement nproc for IRIX.
60648         * lib/nproc.c: Include <sys/sysmp.h>.
60649         (num_processors): On IRIX systems, try sysmp.
60650         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
60652 2009-10-18  Bruno Haible  <bruno@clisp.org>
60654         Implement nproc for HP-UX.
60655         * lib/nproc.c: Include <sys/pstat.h>
60656         (num_processors): On HP-UX systems, try pstat_getdynamic.
60657         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
60658         pstat_getdynamic.
60660 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
60661             Bruno Haible  <bruno@clisp.org>
60663         Implement nproc for NetBSD, OpenBSD.
60664         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
60665         (ARRAY_SIZE): New macro.
60666         (num_processors): On BSD systems, try sysctl of HW_NCPU.
60667         * m4/nproc.m4: New file.
60668         * modules/nproc (Files): Add m4/nproc.m4.
60669         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
60670         (Makefile.am): Instead, augment lib_SOURCES.
60672 2009-10-18  Bruno Haible  <bruno@clisp.org>
60674         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
60675         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
60676         sys/param.h.
60678 2009-10-16  Eric Blake  <ebb9@byu.net>
60680         utimensat: new module
60681         * modules/utimensat: New file.
60682         * lib/utimensat.c (utimensat): Likewise.
60683         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
60684         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
60685         so we can work around Linux bugs.
60686         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
60687         * modules/sys_stat (Makefile.am): Substitute them.
60688         * lib/sys_stat.in.h (utimensat): Declare it.
60689         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
60690         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
60691         * modules/utimensat-tests: New test.
60692         * tests/test-utimensat.c: Likewise.
60694         utimens: let lutimens work on non-symlinks
60695         * lib/utimens.c (lutimens): Fall back to utimens rather than
60696         failing with ENOSYS, when file is not a symlink.
60697         (utimens): Reduce redirection.
60698         * tests/test-lutimens.h (test_lutimens): Update test to cover
60699         non-symlinks.
60700         * tests/test-utimens.h (test_utimens): Update test to cover
60701         symlinks.
60702         * tests/test-utimens.c (main): Update caller.
60704         utimens: cache whether utimensat syscall works
60705         * lib/utimens.c (utimensat_works_really): New cache variable.
60706         (fdutimens, lutimens): Use it to avoid failing syscall.
60708         test-stat-time, test-utimens: improve portability
60709         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
60710         ext4 on alpha, and for cygwin.
60711         * tests/test-utimens-common.h: New file.
60712         (nap): Factor delays into single function.
60713         * tests/test-lutimens.h (test_lutimens): Use new header.
60714         * tests/test-futimens.h (test_futimens): Likewise.
60715         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
60716         timestamps to occur from same machine, as was done previously for
60717         test_utimens.
60718         * modules/utimens-tests (Files): Ship new file.
60719         * modules/futimens-tests (Files): Likewise.
60720         Reported in part by Jim Meyering.
60722         sys_stat: sort replacement declarations
60723         * lib/sys_stat.in.h: Sort declarations.
60724         * lib/futimens.c (futimens): Fix typo.
60726 2009-10-15  Jim Meyering  <meyering@redhat.com>
60728         don't let environment settings perturb build
60729         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
60730         could cause a configure-time and/or build-time malfunction.
60731         Typically, a configure-time function-in-library test is performed
60732         via code like this:
60734           LIB_VAR=
60735           AC_SUBST([LIB_VAR])
60736           prefix_saved_LIBS=$LIBS
60737             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
60738                        [test "$ac_cv_search_FUNC" = "none required" ||
60739                         LIB_VAR=$ac_cv_search_FUNC])
60740           LIBS=$prefix_saved_LIBS
60742         However, in each of the files affected by this change, the LIB_VAR=
60743         initialization was omitted.  Thus, when set in the environment, its
60744         value would propagate into generated Makefiles when FUNC is not found
60745         in LIB_NAME.
60746         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
60747         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
60748         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60750 2009-10-14  Eric Blake  <ebb9@byu.net>
60752         fchdir: avoid infinite recursion in mingw
60753         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
60754         recursing.
60756         test-stat-time: port to mingw
60757         * tests/test-stat-time.c (force_unlink): Return a value.
60758         (test_ctime) [W32]: Fix compilation error.
60759         (nap): Don't call usleep with too large an argument.  Use
60760         force_unlink.
60761         * doc/pastposix-functions/usleep.texi (usleep): Document the
60762         portability issue.
60764 2009-10-13  Jim Meyering  <meyering@redhat.com>
60766         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
60767         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
60768         * modules/pipe-filter-ii: Likewise.
60769         * modules/sys_socket-tests: Likewise.
60770         * modules/tsearch-tests: Likewise.
60771         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
60772         (check): Depend on it.
60774 2009-10-12  Eric Blake  <ebb9@byu.net>
60776         utimens-tests: port to NFS file systems
60777         * tests/test-utimens.h (test_utimens): Refactor utimecmp
60778         comparisons to avoid spurious failures from timestamp drift
60779         between NFS machines.
60781 2009-10-12  Eric Blake  <ebb9@byu.net>
60783         stat-time-tests: minor cleanups
60784         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
60785         * tests/test-stat-time.c (nap): Separate assignment from call.
60786         Suggested by Paolo Bonzini and Bruno Haible.
60788         sys_stat: guarantee struct timespec
60789         * lib/sys_stat.in.h (includes): Always include <time.h>
60790         * modules/sys_stat (Depends-on): Add time.
60791         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
60792         mode_t permission values.
60793         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
60794         get at subsecond timestamps.
60796 2009-10-10  Eric Blake  <ebb9@byu.net>
60798         futimens: new module
60799         * modules/futimens: New file.
60800         * lib/futimens.c (futimens): Likewise.
60801         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
60802         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
60803         we can work around Linux bugs.
60804         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
60805         * modules/sys_stat (Makefile.am): Substitute them.
60806         * lib/sys_stat.in.h (futimens): Declare it.
60807         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
60808         * doc/posix-functions/futimens.texi (futimens): Likewise.
60809         * modules/futimens-tests: New test.
60810         * tests/test-futimens.c: Likewise.
60812         utimens: introduce fdutimens
60813         * lib/utimens.h (fdutimens): New prototype.
60814         * lib/utimens.c (gl_futimens): Move guts...
60815         (fdutimens): ...to new interface.
60816         * tests/test-utimens.c (do_fdutimens): Use it.
60818         utimens: add UTIME_NOW and UTIME_OMIT support
60819         * lib/utimens.c (validate_timespec, update_timespec): New helper
60820         functions.
60821         (gl_futimens, lutimens): Use them.
60822         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
60823         stdbool, sys_stat.
60824         (Link): Mention resulting library dependency.
60825         * modules/utimecmp (Link): Likewise.
60826         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
60827         (Makefile.am): Pick up library dependency.
60828         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
60829         definition.
60830         * tests/test-sys_stat.c: Test the definitions.
60831         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
60832         * NEWS: Document library dependency.
60834         utimecmp: support symlink timestamps
60835         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
60836         hashing when possible.  Use pathconf when available.
60837         (SYSCALL_RESOLUTION): Recognize tighter resolution.
60838         * modules/utimecmp (Depends-on): Add lstat.
60840         utimens: add lutimens interface
60841         * lib/utimens.c (lutimens): New function.
60842         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
60843         * lib/utimens.h (lutimens): Declare new interface.
60844         * tests/test-utimens.c (main): Enhance test.
60845         * tests/test-lutimens.h (test_lutimens): New file.
60846         * modules/utimens-tests (Files): Distribute it.
60847         (Depends-on): Add symlink.
60848         (configure.ac): Check for usleep.
60850         utimens: validate futimens usage
60851         * lib/utimens.c (gl_futimens): Require valid fd up front, using
60852         fewer syscalls on failure later on.  Avoid compiler warning on
60853         mingw.
60854         * modules/utimens (Depends-on): Add dup2.
60856         utimens: add test
60857         * modules/utimens-tests: New test.
60858         * tests/test-utimens.h: New file.
60859         * tests/test-futimens.h: Likewise.
60860         * tests/test-utimens.c: Likewise.
60862         doc: mention timestamp portability issues
60863         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
60864         instead.
60865         * doc/posix-functions/utime.texi (utime): Likewise.
60866         * doc/posix-functions/utimes.texi (utimes): Likewise.
60867         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
60868         instead.
60869         * doc/posix-functions/futimens.texi (futimens): Mention utimens
60870         module.
60871         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
60872         Mention weakness with symlink timestamps.
60873         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
60874         to utimensat/futimens instead.
60875         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
60877         test-dup2: enhance test
60878         * tests/test-dup2.c (main): Also check AT_FDCWD.
60880         test-stat-time: avoid more spurious failures
60881         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
60882         xfs; and avoid race if the two timestamps cross quantization edge.
60884         relocatable: prefer 'file system' over 'filesystem'
60885         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
60886         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
60887         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
60888         * doc/relocatable.texi (Enabling Relocatability): Likewise.
60889         * lib/relocatable.c (compute_curr_prefix): Likewise.
60891 2009-10-10  Jim Meyering  <meyering@redhat.com>
60893         stat-time-tests: check for the usleep function
60894         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
60896 2009-10-10  Bruno Haible  <bruno@clisp.org>
60898         * modules/xnanosleep: Put the Link section after the Include section.
60900 2009-10-09  Eric Blake  <ebb9@byu.net>
60902         dup2: work around FreeBSD 6.1 bug
60903         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
60904         * doc/posix-functions/dup2.texi (dup2): Document it.
60905         Reported by Nelson H. F. Beebe and Jim Meyering.
60907         test-stat-time: port to buggy NFS clients
60908         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
60909         (test_ctime): Also skip test if mtime and ctime are skewed.
60911         maint: prefer 'file system' over 'filesystem'
60912         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
60913         * doc/posix-functions/lstat.texi (lstat): Likewise.
60914         * lib/file-has-acl.c (file_has_acl): Likewise.
60915         * lib/fwriteerror.c [TEST]: Likewise.
60916         * tests/test-areadlink.h (test_areadlink): Likewise.
60917         * tests/test-areadlinkat-with-size.c (main): Likewise.
60918         * tests/test-areadlinkat.c (main): Likewise.
60919         * tests/test-canonicalize-lgpl.c (main): Likewise.
60920         * tests/test-canonicalize.c (main): Likewise.
60921         * tests/test-fstatat.c (main): Likewise.
60922         * tests/test-linkat.c (main): Likewise.
60923         * tests/test-lstat.h (test_lstat_func): Likewise.
60924         * tests/test-mkdir.h (test_mkdir): Likewise.
60925         * tests/test-readlink.h (test_readlink): Likewise.
60926         * tests/test-remove.c (main): Likewise.
60927         * tests/test-rename.h (test_rename): Likewise.
60928         * tests/test-renameat.c (main): Likewise.
60929         * tests/test-rmdir.h (test_rmdir_func): Likewise.
60930         * tests/test-symlink.h (test_symlink): Likewise.
60931         * tests/test-symlinkat.c (main): Likewise.
60932         * tests/test-unlink.h (test_unlink_func): Likewise.
60933         * tests/test-unlinkat.c (main): Likewise.
60935         maint: make realtime library usage explicit
60936         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
60937         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
60938         * modules/settime (Link): Likewise.
60939         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
60941         test-stat-time: speed up execution
60942         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
60943         warning on mingw.
60944         (nap): New helper function.
60945         (prepare_test): Use it to reduce sleep time.
60946         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
60947         execution.
60948         * modules/stat-time-tests (configure.ac): Check for usleep.
60950 2009-10-09  Jim Meyering  <meyering@redhat.com>
60952         selinux-h: always use getfilecon wrappers
60953         * lib/getfilecon.c: New file.
60954         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
60955         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
60956         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
60957         (fgetfilecon): Provide a stub.
60958         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
60959         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
60960         file unconditionally.
60961         When <selinux/selinux.h> is found, arrange to use wrappers.
60962         * modules/selinux-h (Files): Add getfilecon.c.
60963         (Makefile.am): Substitute include-next-related bits
60964         into the now-always-generated selinux/selinux.h file.
60965         * doc/glibc-functions/lgetfilecon.texi: New file.
60966         * doc/glibc-functions/fgetfilecon.texi: New file.
60967         * doc/glibc-functions/getfilecon.texi: New file.
60968         * doc/glibc-functions/getfilecon-desc.texi: New file.
60969         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
60970         which to pull in the new files.
60971         * MODULES.html.sh (Misc): Add selinux-h.
60973 2009-10-08  Jim Meyering  <meyering@redhat.com>
60975         unistd: fix comment typo
60976         * lib/unistd.in.h (euidaccess): Fix a comment typo.
60978 2009-10-08  Eric Blake  <ebb9@byu.net>
60980         areadlink: use SIZE_MAX consistently
60981         * modules/areadlink (Depends-on): Add stdint.
60982         * modules/areadlink-with-size (Depends-on): Likewise.
60983         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
60984         gives NULL; drop sys/types, since unistd gives size_t; and add
60985         stdint for SIZE_MAX.
60986         (SIZE_MAX): Rely on headers.
60987         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
60988         and add stdint.
60989         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
60990         (SIZE_MAX): Likewise.
60991         (INITIAL_BUF_SIZE): Turn into enum.
60992         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
60994 2009-10-08  Jim Meyering  <meyering@redhat.com>
60996         areadlinkat: avoid compilation failure
60997         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
60998         Fix typo in comment.
61000 2009-10-07  Eric Blake  <ebb9@byu.net>
61002         areadlinkat-with-size: new module
61003         * modules/areadlinkat-with-size: New module.
61004         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
61005         * lib/areadlink.h (areadlinkat): Declare it.
61006         * MODULES.html.sh (File system functions): Mention it.
61007         * modules/areadlinkat-with-size-tests: New test.
61008         * tests/test-areadlinkat-with-size.c: New file.
61010         xreadlinkat: new module
61011         * modules/xreadlinkat: New module.
61012         * lib/xreadlinkat.c (xreadlinkat): New file.
61013         * lib/xreadlink.h (xreadlinkat): Declare it.
61014         * MODULES.html.sh (File system functions): Mention it.
61016         areadlinkat: new module
61017         * lib/at-func.c (FUNC_FAIL): New define.
61018         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
61019         * modules/areadlinkat: New module.
61020         * lib/linkat.c (areadlinkat): Move...
61021         * lib/areadlinkat.c (areadlinkat): ...to new file.
61022         * lib/areadlink.h (areadlinkat): Declare it.
61023         * modules/linkat (Depends-on): Add areadlinkat.
61024         * MODULES.html.sh (File system functions): Mention it.
61025         * modules/areadlinkat-tests: New test.
61026         * tests/test-areadlinkat.c: New file.
61028         areadlink, areadlink-with-size: add tests
61029         * modules/areadlink-tests: New test.
61030         * modules/areadlink-with-size-tests: Likewise.
61031         * tests/test-areadlink.h: New file.
61032         * tests/test-areadlink.c: Likewise.
61033         * tests/test-areadlink-with-size.c: Likewise.
61035         maint: minor cleanups
61036         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
61037         _UNUSED_PARAMETER_ instead.
61038         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
61039         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
61040         * modules/linkat-tests (Files): Distribute test-link.h.
61042         openat, utimens: whitespace cleanup
61043         * lib/openat.c: Prefer space throughout, rather than mix of 8
61044         spaces vs. tabs.
61045         * lib/at-func.c: Likewise.
61046         * lib/utimens.c: Likewise.
61048         openat: avoid using wrong fd
61049         * lib/openat.c (openat_permissive): Reject user's fd if saving the
61050         working directory chooses same fd.
61051         * lib/at-func.c (AT_FUNC_NAME): Likewise.
61053         mkdir, mkdirat: fix cygwin 1.5.x bug
61054         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
61055         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
61056         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
61057         bug.
61058         (gl_PREREQ_MKDIR): Delete unused macro.
61059         * modules/mkdir (Files): Track file rename.
61060         (configure.ac): Update macro name.
61061         * modules/openat (Depends-on): Add mkdir.
61062         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
61064         mkdir, mkdirat: add tests
61065         * modules/mkdir-tests: New test.
61066         * tests/test-mkdir.h: New file.
61067         * tests/test-mkdir.c: Likewise.
61068         * tests/test-mkdirat.c: Likewise.
61069         * modules/openat-tests (Files): Add new files.
61070         (Makefile.am): Run new test.
61072 2009-10-06  Eric Blake  <ebb9@byu.net>
61074         doc: tweak *at function documentation
61075         * doc/posix-functions/faccessat.texi (faccessat): Mention
61076         known issue with replacement.
61077         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
61078         * doc/posix-functions/linkat.texi (linkat): Likewise.
61079         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
61080         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
61081         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
61082         * doc/posix-functions/renameat.texi (renameat): Likewise.
61083         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
61085         openat: fix GNU/Hurd bug in unlinkat
61086         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
61087         broken.
61088         * doc/posix-functions/unlink.texi (unlink): Document this.
61089         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
61091         fdopendir: fix GNU/Hurd bug
61092         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
61093         allowing non-directory fds.
61094         * lib/fdopendir.c (rpl_fdopendir): Work around it.
61095         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
61096         * modules/dirent (Makefile.am): Substitute it.
61097         * lib/dirent.in.h (fdopendir): Declare replacement.
61098         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
61099         * tests/test-fdopendir.c (main): Test something other than
61100         /dev/null, since on Hurd that behaves like a directory.
61102         test-symlink: port to GNU/Hurd
61103         * tests/test-symlink.h (test_symlink): Relax expected errno.
61105         doc: tweak more cygwin information
61106         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
61107         now compatible with glibc.
61108         * doc/posix-functions/getopt.texi (getopt): Likewise.
61110         getopt-gnu: add another test
61111         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
61112         guarantee behavior relied on by m4.
61113         * tests/test-getopt.c (main): Use it.
61114         * modules/getopt-posix-tests (Depends-on): Add setenv.
61115         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
61117         getopt: fix compilation on darwin
61118         * lib/getopt.in.h (includes): Leave breadcrumbs during system
61119         include.
61120         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
61121         Reported by Ludovic Courtès.
61123 2009-10-06  Bruno Haible  <bruno@clisp.org>
61125         * modules/size_max (Description): Discourage its use.
61126         Reported by Simon Josefsson.
61128 2009-10-06  Jim Meyering  <meyering@redhat.com>
61130         linkat: avoid compilation failure
61131         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
61133 2009-10-05  Eric Blake  <ebb9@byu.net>
61135         linkat: support Linux 2.6.17
61136         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
61137         linkat on Linux, but allow cache variable override.
61138         * lib/linkat.c (rpl_linkat): Define override.
61139         * modules/linkat (Depends-on): Add symlinkat.
61140         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
61141         * modules/unistd (Makefile.am): Substitute it.
61142         * lib/unistd.in.h (linkat): Declare replacement.
61143         Reported by Pádraig Brady.
61145         quotearg: port test to systems with C.UTF-8 locale
61146         * tests/test-quotearg.c (struct result_strings): Add another
61147         member, differentiating between C.ASCII and C.UTF-8 handling.
61148         (compare_strings): Add parameter.
61149         (main): Adjust all callers.
61151         getopt: avoid clash with FreeBSD _getopt_internal
61152         * lib/getopt.in.h (_getopt_internal): Override the name.
61153         * lib/getopt_int.h (includes): Pick up any overrides.
61154         Reported by Reuben Thomas.
61156         hash: allow C89 compilation
61157         * lib/hash.c (check_tuning): Move declaration before statement.
61158         Reported by Reuben Thomas.
61160 2009-10-05  Karl Berry  <karl@gnu.org>
61162         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
61164 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
61165             Bruno Haible  <bruno@clisp.org>
61167         * lib/uname.c (uname): Use a table-driven algorithm to compute
61168         Windows NT versions.
61170 2009-10-04  Bruno Haible  <bruno@clisp.org>
61172         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
61173         program_invocation_short_name.
61174         * modules/progname (configure.ac): Test for presence of
61175         program_invocation_short_name.
61176         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
61178 2009-10-04  Bruno Haible  <bruno@clisp.org>
61180         * lib/progname.c (set_program_name): Fix comment.
61181         Reported by Jim Meyering.
61183 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
61184             Bruno Haible  <bruno@clisp.org>
61186         * lib/uname.c: Include <string.h>.
61187         (uname): Do only one call to GetVersionEx in the common case.
61189 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
61190             Bruno Haible  <bruno@clisp.org>
61192         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
61193         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
61194         (uname): Add support for Windows CE and various non-x86 CPU types.
61196 2009-10-03  Bruno Haible  <bruno@clisp.org>
61198         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
61199         invocation to tests/configure.ac.
61200         Reported by Ian Beckwith <ianb@erislabs.net>.
61202 2009-10-02  Eric Blake  <ebb9@byu.net>
61204         fchdir: avoid compiler warning
61205         * lib/fchdir.c (canonicalize_file_name)
61206         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
61208         test-open: support mingw errno values
61209         * tests/test-open.h (test_open): Relax test.
61210         * tests/test-fopen.h (test_fopen): Likewise.
61211         * tests/test-openat-safer.c (main): Likewise.
61213         open: fix opening directory on mingw
61214         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
61216         test-open: on GNU/Hurd, /dev/null is a directory
61217         * tests/test-fopen.h (main): Rename...
61218         (test_fopen): ...to this.  Use a guaranteed non-directory when
61219         confirming open behavior on trailing slash.
61220         * tests/test-openat-safer.c (main): Likewise.
61221         * tests/test-open.h (main): Likewise....
61222         (test_open): ...to this.
61223         * tests/test-fopen.c (main): Adjust caller.
61224         * tests/test-fopen-safer.c (main): Likewise.
61225         * tests/test-open.c (main): Likewise.
61226         * tests/test-fcntl-safer.c (main): Likewise.
61227         Reported by Samuel Thibault.
61229         rename, fchdir: don't ignore chdir failure
61230         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
61231         * lib/rename.c (rpl_rename) [W32]: Likewise.
61232         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
61233         an empty destination directory if source cannot be renamed,
61234         although there is still possibility for failure.
61235         * doc/posix-functions/rename.texi (rename): Document the race.
61236         Reported by Jim Meyering.
61238         maint: cleanup whitespace in recent commits
61239         * lib/rename.c (rpl_rename): Remove tabs.
61240         * tests/test-link.h (test_link): Likewise.
61241         * lib/fchdir.c (get_name): Likewise.
61242         Reported by Jim Meyering.
61244 2009-10-02  Ben Pfaff  <blp@gnu.org>
61246         relocatable-prog-wrapper: Add missing dependency on
61247         double-slash-root.
61248         * modules/relocatable-prog-wrapper: Add dependency.
61249         Reported by Ian Beckwith <ianb@erislabs.net>.
61251 2009-10-02  Eric Blake  <ebb9@byu.net>
61253         renameat: fix Solaris bugs
61254         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
61255         needed fixing.
61256         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
61257         * modules/stdio (Makefile.am): Substitute it.
61258         * lib/stdio.in.h (renameat): Declare replacement.
61259         * lib/renameat.c (rpl_renameat): Implement fix.
61261         renameat: new module
61262         * modules/renameat: New file.
61263         * lib/renameat.c (renameat): Likewise.
61264         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
61265         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
61266         * modules/stdio (Makefile.am): Substitute them.
61267         * lib/stdio.in.h (renameat): Declare it.
61268         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61269         * doc/posix-functions/renameat.texi (renameat): Likewise.
61270         * modules/renameat-tests: New test.
61271         * tests/test-renameat.c: Likewise.
61273         rename: fix mingw bugs
61274         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
61275         directory overwrite bugs.
61277         rename: fix another cygwin 1.5 bug
61278         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
61279         checks.
61280         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
61281         unnecessary cygwin workarounds.  Also work around bug with moving
61282         full directory onto an empty one.
61283         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
61285         rename-dest-slash: merge into rename module
61286         * modules/rename-dest-slash (Status): Mark obsolete.
61287         (Depends-on): Add rename.
61288         (Files): Let rename do it all.
61289         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
61290         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
61291         * m4/rename-dest-slash.m4: ...so this file can be deleted.
61292         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
61293         * lib/rename.c (rpl_rename): Update comments.
61295         rename: fix cygwin 1.5.x bugs
61296         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
61297         * lib/rename.c (rpl_rename): Work around them.
61298         * modules/rename (Depends-on): Add same-inode.
61300         rename: fix Solaris 10 bug
61301         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
61302         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
61303         was the only bug.
61305         rename: fix Solaris 9 bug
61306         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
61307         on non-directory.  Avoid calling exit.
61308         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
61309         strdup.
61310         * modules/rename-tests (Depends-on): Drop lstat.
61311         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
61312         (gl_PREREQ_RENAME): Delete unused macro.
61314         rename-dest-slash: fix NetBSD bug
61315         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
61316         links.
61317         * modules/rename-dest-slash (Depends-on): Add same-inode.
61319         rename-tests: new test, exposes several platform bugs
61320         * modules/rename-tests: New file.
61321         * tests/test-rename.h: Likewise.
61322         * tests/test-rename.c: Likewise.
61323         * doc/posix-functions/rename.texi (rename): Improve documentation,
61324         including bugs that will eventually be fixed in gnulib.
61326 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
61328         * lib/uname.c: Include <stdlib.h>
61329         (uname): Assume version info is available.
61331 2009-10-02  Jim Meyering  <meyering@redhat.com>
61333         gnu-web-doc-update: correct --help output
61334         * build-aux/gnu-web-doc-update: Make --help output relevant.
61336         gnu-web-doc-update: add standard options
61337         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
61339         gnu-web-doc-update: New module.
61340         Use this script to automatically update the on-line web documentation
61341         for your GNU project at http://www.gnu.org/software/$pkg/manual/
61342         * modules/gnu-web-doc-update: New file, from coreutils.
61343         * build-aux/gnu-web-doc-update: New script.
61345 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
61347         link: LoadLibrary is not needed.
61348         * lib/link.c: Use GetModuleHandle.
61350 2009-10-01  Eric Blake  <ebb9@byu.net>
61352         getopt: bump serial number
61353         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
61354         change.
61356         tests: tighten link, rmdir, and remove tests
61357         * tests/test-link.h (includes): No need to use <config.h> here.
61358         Clean up if directory hard link was created, otherwise test for
61359         trailing '.'.
61360         * tests/test-linkat.c (main): Simplify.
61361         * tests/test-remove.c (main): Enhance test for trailing '.'.
61362         * tests/test-rmdir.h (test_rmdir_func): Likewise.
61364 2009-10-01  Jim Meyering  <meyering@redhat.com>
61366         maint.mk: requiring "make major" was annoying, for a "minor" release.
61367         What is intended is "stable", to contrast with alpha and beta,
61368         so require "make stable", not "make major".
61369         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
61370         (get_tool_versions): Likewise.
61371         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
61373 2009-09-30  Ben Pfaff  <blp@gnu.org>
61375         Fix broken build of replacement for Windows tmpfile().
61376         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
61377         flags argument added along with the 'mkostemp' module.
61379 2009-09-28  Bruno Haible  <bruno@clisp.org>
61381         Avoid identifier clash with POSIX function 'remove' defined as a macro.
61382         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
61383         to 'remove_elt'.
61384         (gl_list_remove): Update.
61385         * lib/gl_list.c (gl_list_remove): Update.
61386         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
61387         to 'remove_elt'.
61388         (gl_oset_remove): Update.
61389         * lib/gl_list.c (gl_oset_remove): Update.
61390         Reported by Eric Blake.
61392 2009-09-28  Eric Blake  <ebb9@byu.net>
61394         doc: mention yet more cygwin 1.7 status
61395         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
61396         cygwin.
61397         * doc/glibc-functions/execvpe.texi (execvpe): New file.
61398         * doc/gnulib.texi (Glibc unistd.h): Mention it.
61400         argp: fix test failure
61401         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
61402         that are not upper-case.  Pass correct range to tolower.
61404 2009-09-27  Jim Meyering  <meyering@redhat.com>
61406         test-yesno: work around sparc-dash here-document infelicity
61407         Without this change, the literal \177 byte in a here document
61408         would make dash 0.5.5.1-3 access uninitialized memory.
61409         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
61410         Instead, use a marker, "@", and filter through tr to create the desired
61411         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
61413 2009-09-27  Bruno Haible  <bruno@clisp.org>
61415         Disable untested support for new flavours of ACLs on AIX.
61416         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
61417         progress.
61418         * lib/set-mode-acl.c (qset_acl): Likewise.
61420 2008-12-07  Bruno Haible  <bruno@clisp.org>
61422         Add support for new flavours of ACLs on AIX. (Untested.)
61423         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
61424         (file_has_acl): Add support for newer AIX.
61425         * lib/set-mode-acl.c (qset_acl): Likewise.
61426         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
61427         Rainer Tammer <tammer@tammer.net>.
61429 2009-09-26  Eric Blake  <ebb9@byu.net>
61431         argp: fix compilation of getopt
61432         * lib/getopt.in.h (includes): Use different guard than glibc.
61433         Reported by Sergey Poznyakoff.
61435         doc: mention more cygwin 1.7 status
61436         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
61437         bug.
61438         * doc/posix-functions/execl.texi (execl): Likewise.
61439         * doc/posix-functions/execle.texi (execle): Likewise.
61440         * doc/posix-functions/execlp.texi (execlp): Likewise.
61441         * doc/posix-functions/execv.texi (execv): Likewise.
61442         * doc/posix-functions/execve.texi (execve): Likewise.
61443         * doc/posix-functions/execvp.texi (execvp): Likewise.
61444         * doc/glibc-functions/canonicalize_file_name.texi
61445         (canonicalize_file_name): Cygwin 1.7 now provides this.
61446         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
61447         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
61448         on AT_SYMLINK_NOFOLLOW.
61450 2009-09-24  Eric Blake  <ebb9@byu.net>
61452         test-linkat: make test more robust
61453         * tests/test-linkat.c (main): Avoid collision with EEXIST.
61455         getopt: fix inclusion guards for cygwin
61456         * modules/getopt-posix (Depends-on): Add include-next.
61457         (Makefile.am): Substitute more items in replacement header.
61458         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
61459         <getopt.h>.
61460         * lib/getopt.in.h (includes): Use split inclusion guard, and
61461         prefer <getopt.h> over include <unistd.h> when one is present.
61462         (option): Also override name of 'struct option'.
61464         same-inode: revert prior change; it is not yet ready
61465         * NEWS: Undo mention of this change.
61466         * lib/same-inode.h (same-inode.h): Undo tri-state change.
61467         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
61468         * lib/cycle-check.c (cycle_check): Likewise.
61469         * lib/same.c (same_name): Likewise.
61470         * lib/at-func2.c (at_func2): Likewise.
61472 2009-09-23  Eric Blake  <ebb9@byu.net>
61474         linkat: new module
61475         * modules/linkat: New file.
61476         * lib/at-func2.c (at_func2): Likewise.
61477         * lib/linkat.c (linkat): Likewise.
61478         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
61479         * lib/openat-priv.h (at_func2): Add declaration.
61480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
61481         * modules/unistd (Makefile.am): Substitute them.
61482         * lib/unistd.in.h (linkat): Declare it.
61483         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61484         * doc/posix-functions/linkat.texi (linkat): Likewise.
61485         * doc/posix-functions/link.texi (link): Tweak wording.
61486         * tests/test-link.c (main): Move guts...
61487         * tests/test-link.h (test_link): ...into new file.
61488         * modules/linkat-tests: New test.
61489         * tests/test-linkat.c: Likewise.
61490         * modules/link-tests (Files): Ship new file.
61491         (Depends-on): Add stdbool.
61493         dirname: add library-safe mdir_name
61494         * lib/dirname.h (mdir_name): New prototype.
61495         * lib/dirname.c (dir_name): Move guts...
61496         (mdir_name): ...to new function that avoids xalloc_die.
61498         fchdir: another mingw fix
61499         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
61500         * lib/fchdir.c (get_name): New helper method; skips canonicalize
61501         on mingw (where it has not yet been ported), and make it optional
61502         elsewhere.
61503         (_gl_register_fd): Use it.
61505         same-inode: make SAME_INODE tri-state, to port to mingw
61506         * NEWS: Mention this change.
61507         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
61508         st_ino always being 0.
61509         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
61510         * lib/cycle-check.c (cycle_check): Likewise.
61511         * lib/same.c (same_name): Likewise.
61513         lstat: avoid mingw compilation error
61514         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
61515         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
61516         lstat ourselves.
61517         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
61518         was adequate.
61519         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
61520         the checks for lstat.
61521         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
61523         link: fix test failure on Solaris 9
61524         * lib/link.c (rpl_link): Don't assume link will catch bogus
61525         trailing slash on source.
61527         test-symlinkat: enhance test
61528         * tests/test-readlink.c (main): Move guts...
61529         * tests/test-readlink.h (test_readlink): ...into new file.
61530         * tests/test-symlink.c (main): Move guts...
61531         * tests/test-symlink.h (test_symlink): ...into new file.
61532         * tests/test-symlinkat.c (main): Use new files for further
61533         coverage.
61534         (do_symlink, do_readlink): New helper functions.
61535         * modules/symlink-tests (Files): Ship new file.
61536         (Depends-on): Add stdbool.
61537         * modules/readlink-tests (Files): Ship new file.
61538         (Depends-on): Add stdbool.
61539         * modules/symlinkat-tests (Files): Use new files.
61541 2009-09-23  Eric Blake  <ebb9@byu.net>
61543         readlink: document portability issue with symlink length
61544         * doc/posix-functions/lstat.texi (lstat): Mention that some file
61545         systems have bogus st_size on symlinks, and mention the
61546         areadlink-with-size module.
61547         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
61548         * doc/posix-functions/readlink.texi (readlink): Mention the
61549         areadlink module, and ERANGE failure.
61550         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
61551         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
61553         readlink: fix Solaris 9 bug with trailing slash
61554         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
61555         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
61556         * doc/posix-functions/readlink.texi (readlink): Document this.
61557         * modules/readlink-tests: New test.
61558         * tests/test-readlink.c: Likewise.
61560         readlink: fix cygwin 1.5.x bug with return type
61561         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
61562         * lib/unistd.in.h (readlink): Use ssize_t.
61563         * lib/readlink.c (readlink): Likewise.
61564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61565         * modules/unistd (Makefile.am): Substitute it.
61566         * lib/unistd.in.h (readlink): Declare replacement.
61567         * doc/posix-functions/readlink.texi (readlink): Document this.
61569         symlink: use throughout gnulib
61570         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
61571         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
61572         symlink is not used.
61573         * modules/symlinkat (Depends-on): Add symlink.
61574         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
61575         * modules/canonicalize-tests (Depends-on): Likewise.
61576         * modules/lstat-tests (Depends-on): Likewise.
61577         * modules/openat-tests (Depends-on): Likewise.
61578         * modules/remove-tests (Depends-on): Likewise.
61579         * modules/rmdir-tests (Depends-on): Likewise.
61580         * modules/unlink-tests (Depends-on): Likewise.
61581         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
61582         * tests/test-canonicalize.c (symlink): Likewise.
61583         * tests/test-fstatat.c (symlink): Likewise.
61584         * tests/test-lstat.c (symlink): Likewise.
61585         * tests/test-remove.c (symlink): Likewise.
61586         * tests/test-rmdir.c (symlink): Likewise.
61587         * tests/test-unlink.c (symlink): Likewise.
61588         * tests/test-unlinkat.c (symlink): Likewise.
61590         symlink: new module, for Solaris 9 bug
61591         * modules/symlink: New file.
61592         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
61593         * lib/symlink.c: Likewise.
61594         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
61595         * modules/unistd (Makefile.am): Substitute them.
61596         * lib/unistd.in.h (symlink): Declare replacement.
61597         * MODULES.html.sh (File system functions): Mention it.
61598         * doc/posix-functions/symlink.texi (symlink): Likewise.
61599         * modules/symlink-tests: New test.
61600         * tests/test-symlink.c: Likewise.
61602 2009-09-23  Bruno Haible  <bruno@clisp.org>
61604         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
61605         when needed.
61606         Test case: gnulib-tool --import --with-tests atexit inttypes.
61607         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
61609 2009-09-23  Bruno Haible  <bruno@clisp.org>
61611         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
61612         subcommand, not in a subshell.
61614 2009-09-22  Eric Blake  <ebb9@byu.net>
61616         unistd: sort replacement declarations
61617         * lib/unistd.in.h: Sort declarations.
61619         open, openat: minor optimization
61620         * lib/open.c (open): If open succeeded, len is non-zero.
61621         * lib/openat.c (rpl_openat): Likewise.
61623         link-follow: ensure correct result
61624         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
61625         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
61626         distinguish between possible failures.
61628 2009-09-21  Eric Blake  <ebb9@byu.net>
61630         fts: avoid compiler warning
61631         * lib/fts.c (dirent_inode_sort_may_be_useful)
61632         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
61634 2009-09-19  Bruno Haible  <bruno@clisp.org>
61636         * lib/progreloc.c (canonicalize_file_name): New declaration.
61638 2009-09-19  Eric Blake  <ebb9@byu.net>
61640         link: fix quoting
61641         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
61643         openat: fix openat bugs on Solaris 9
61644         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
61645         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
61646         * modules/openat (Depends-on): Add open.
61647         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
61648         * modules/fcntl-h (Makefile.am): Substitute it.
61649         * lib/fcntl.in.h (openat): Declare replacement.
61650         * doc/posix-functions/openat.texi (openat): Document this.
61652         openat: move fstatat and unlinkat into correct files
61653         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
61654         compiled.
61655         * lib/openat.c (fstatat, unlinkat): Move...
61656         * lib/fstatat.c (fstatat): ...into correct files.
61657         * lib/unlinkat.c (unlinkat): Likewise.
61659         openat: fix unlinkat bugs on Solaris 9
61660         * lib/unlinkat.c (unlinkat): New file.
61661         * modules/openat (Depends-on): Add unlink.
61662         (Files): Distribute it.
61663         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
61664         trailing slash behavior is broken.
61665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61666         * modules/unistd (Makefile.am): Substitute it.
61667         * lib/unistd.in.h (unlinkat): Declare replacement.
61668         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
61670         openat: fix fstatat bugs on Solaris 9
61671         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
61672         stat.
61673         * doc/posix-functions/fstatat.texi (fstatat): Document this.
61675         test-unlinkat: enhance test, to expose Solaris 9 bug
61676         * tests/test-unlink.c (main): Factor guts...
61677         * tests/test-unlink.h (test_rmdir_func): ...into new file.
61678         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
61679         * tests/test-rmdir.c (main): Adjust caller.
61680         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
61681         (unlinker): New helper function.
61682         (rmdirat): Enhance check.
61683         * modules/rmdir-tests (Depends-on): Add stdbool.
61684         * modules/unlink-tests (Depends-on): Likewise.
61685         (Files): Add test-unlink.h.
61686         * modules/openat-tests (Files): Likewise.
61687         (Depends-on): Add unlinkdir.
61689         test-fstatat: new test, to expose Solaris 9 bugs
61690         * tests/test-stat.c (main): Factor guts...
61691         * tests/test-stat.h (test_stat_func): ...into new file.
61692         * tests/test-lstat.c (main): Factor guts...
61693         * tests/test-lstat.h (test_lstat_func): ...into new file.
61694         * tests/test-fstatat.c: New file.
61695         * modules/stat-tests (Files): Add test-stat.h.
61696         * modules/lstat-tests (Files): Add test-lstat.h.
61697         (Depends-on): Add stdbool.
61698         * modules/openat-tests (Depends-on): Add pathmax.
61699         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
61700         (Makefile.am): Run new test.
61702         remove: new module, for mingw and Solaris 9 bugs
61703         * modules/remove: New file.
61704         * lib/remove.c: Likewise.
61705         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
61706         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
61707         * modules/stdio (Makefile.am): Use them.
61708         * lib/stdio.in.h (remove): Declare replacement.
61709         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61710         * doc/posix-functions/remove.texi (remove): Likewise.
61711         * modules/remove-tests: New test.
61712         * tests/test-remove.c: Likewise.
61714         unlink: new module, for Solaris 9 bug
61715         * modules/unlink: New file.
61716         * lib/unlink.c: Likewise.
61717         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
61718         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
61719         * modules/unistd (Makefile.am): Use them.
61720         * lib/unistd.in.h (stat): Declare replacement.
61721         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61722         * doc/posix-functions/unlink.texi (unlink): Likewise.
61723         * modules/unlink-tests: New test.
61724         * tests/test-unlink.c: Likewise.
61726         lstat: fix Solaris 9 bug
61727         * lib/lstat.c (lstat): Also check for trailing slash on
61728         non-symlink, non-directories.  Use stat module to simplify logic.
61729         * doc/posix-functions/lstat.texi (lstat): Document it.
61730         * modules/lstat-tests (Depends-on): Add errno, same-inode.
61731         (configure.ac): Check for symlink.
61732         * tests/test-lstat.c (main): Add more tests.
61734         stat: add as dependency to other modules
61735         * modules/chown (Depends-on): Add stat.
61736         * modules/euidaccess (Depends-on): Likewise.
61737         * modules/fchdir (Depends-on): Likewise.
61738         * modules/isdir (Depends-on): Likewise.
61739         * modules/link (Depends-on): Likewise.
61740         * modules/lstat (Depends-on): Likewise.
61741         * modules/mkdir-p (Depends-on): Likewise.
61742         * modules/modechange (Depends-on): Likewise.
61743         * modules/open (Depends-on): Likewise.
61744         * modules/readlink (Depends-on): Likewise.
61745         * modules/same (Depends-on): Likewise.
61747         stat: fix Solaris 9 bug
61748         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
61749         slash.
61750         * lib/stat.c (rpl_stat): Work around it.
61751         * doc/posix-functions/stat.texi (stat): Update documentation.
61753         stat: new module, for mingw bug
61754         * modules/stat: New file.
61755         * lib/stat.c: Likewise.
61756         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
61757         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
61758         * modules/sys_stat (Makefile.am): Use them.
61759         * lib/sys_stat.in.h (stat): Declare replacement.
61760         * lib/openat.c (fstatat): Deal with lstat and stat being function
61761         macros.
61762         * modules/openat (Depends-on): Add inline.
61763         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
61764         * doc/posix-functions/stat.texi (stat): Likewise.
61765         * modules/stat-tests: New test.
61766         * tests/test-stat.c: Likewise.
61768 2009-09-19  Jim Meyering  <meyering@redhat.com>
61770         syntax-check: detect unnecessary inclusion of canonicalize.h
61771         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
61773 2009-09-19  Eric Blake  <ebb9@byu.net>
61775         canonicalize-lgpl: adjust clients to use correct header
61776         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
61777         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
61778         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
61779         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
61780         * lib/progreloc.c (includes): Likewise.
61782 2009-09-19  Jim Meyering  <meyering@redhat.com>
61784         test-posixtm.c: correct a comment
61785         * tests/test-posixtm.c: Correct first-line comment.
61786         Spotted by Eric Blake.
61788 2009-09-16  Jim Meyering  <meyering@redhat.com>
61790         posixtm-tests: make T const-correct; add a test case
61791         * tests/test-posixtm.c (T): Declare const.
61792         Add a test for -(2^31+1).
61793         Remove useless can-succeed-only-in-2002 test.
61795         posixtm-tests: adjust the sole failing test
61796         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
61797         expected output matches what mktime now produces.  Cross-checked via
61798         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
61800         posixtm: move #ifdef'd tests into a new module
61801         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
61802         * tests/test-posixtm.c: ... this new file.
61803         * modules/posixtm-tests: New module.
61805 2009-09-19  Eric Blake  <ebb9@byu.net>
61807         openat: simplify use of at-func.c
61808         * lib/at-func.c (includes): Include prerequisites here, to
61809         simplify requirements on client files.
61810         * lib/openat-priv.h: Add double-inclusion guard.
61811         * lib/faccessat.c (includes): Simplify.
61812         * lib/fchmodat.c (includes): Likewise.
61813         * lib/fchownat.c (includes): Likewise.
61814         * lib/mkdirat.c (includes): Likewise.
61815         * lib/mkfifoat.c (includes): Likewise.
61816         * lib/symlinkat.c (includes): Likewise.
61818         openat: allow return of fd 0
61819         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
61820         * modules/save-cwd (Depends-on): Replace fcntl-safer with
61821         unistd-safer.
61822         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
61823         <fcntl.h>; this module does not leak fds.
61824         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
61825         must be allowed to return 0, leaving openat_safer to add the
61826         safety.
61827         (openat_permissive): Avoid writing to just-opened fd 2 if
61828         restoring the current directory fails.
61829         * lib/openat-die.c (openat_restore_fail): Add comment.
61830         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
61831         (save_cwd): Guarantee safe fd, but without use of open_safer.
61832         * tests/test-openat.c: New test.
61833         * modules/openat-tests (Files, Makefile.am): Distribute and build
61834         new file.
61836         relocatable-prog-wrapper: fix build
61837         * modules/relocatable-prog-wrapper (Files): Update name of
61838         canonicalize m4 file, broken on 2009-09-17.
61839         Reported by emad hajjar <aleppos@hotmail.com>.
61841 2009-09-19  Bruno Haible  <bruno@clisp.org>
61843         * lib/safe-alloc.h: Use the standard header with GPL copyright.
61844         * lib/safe-alloc.c: Likewise.
61845         Reported by Ian Beckwith <ianb@erislabs.net>.
61847 2009-09-18  Bruno Haible  <bruno@clisp.org>
61849         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
61850         Reported by <erobles@sensacd.com.mx>.
61852 2009-09-17  Eric Blake  <ebb9@byu.net>
61854         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
61855         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
61856         slashes when checking if last component is missing.
61857         * tests/test-canonicalize.c (main): Test this.
61859         canonicalize, canonicalize-lgpl: honor // if distinct from /
61860         * modules/canonicalize (Files): Add double-slash-root.m4.
61861         * modules/canonicalize-lgpl (Files): Likewise.
61862         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
61863         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
61864         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
61865         fallback definition.
61866         (canonicalize_filename_mode): Use it to protect //.
61867         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
61868         (__realpath): Likewise.
61869         * tests/test-canonicalize.c (main): Test this.
61870         * tests/test-canonicalize-lgpl.c (main): Likewise.
61871         * modules/canonicalize-tests (Depends-on): Add same-inode.
61872         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
61874         canonicalize-lgpl: fix glibc bug with trailing slash
61875         * m4/canonicalize-lgpl.m4: Move contents...
61876         * m4/canonicalize.m4: ...here.
61877         (gl_CANONICALIZE_LGPL): Factor realpath check...
61878         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
61879         glibc 2.3.5 bug, fixed 2005-04-27.
61880         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
61881         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
61882         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
61883         * modules/canonicalize-lgpl (Files): Manage file rename.
61884         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
61885         * modules/stdlib (Makefile.am): Substitute witness.
61886         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
61887         is needed.
61888         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
61889         replacement is required.
61890         * lib/canonicalize.c (canonicalize_file_name): Likewise.
61891         * doc/glibc-functions/canonicalize_file_name.texi
61892         (canonicalize_file_name): Document this.
61893         * doc/posix-functions/realpath.texi (realpath): Likewise.
61895         canonicalize-lgpl: reject non-directory with trailing slash
61896         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
61897         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
61898         catches failures in glibc 2.3.5.
61899         * tests/test-canonicalize.c (main): Likewise.
61901         canonicalize-lgpl: use native realpath if it works
61902         * lib/canonicalize-lgpl.c (realpath): Guard with
61903         FUNC_REALPATH_WORKS.
61904         * lib/stdlib.in.h (realpath): Make declaration optional based on
61905         HAVE_REALPATH.
61906         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
61907         native realpath works.
61908         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
61909         * modules/stdlib (Makefile.am): Substitute witness.
61911         canonicalize, canonicalize-lgpl: use <stdlib.h>
61912         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
61913         (Include): Mention <stdlib.h>.
61914         (configure.ac): Mention functions we provide.
61915         * modules/canonicalize (configure.ac): Likewise.
61916         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
61917         realpath if canonicalize_file_name is missing.
61918         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
61919         * modules/stdlib (Makefile.am): Substitute witnesses.
61920         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
61921         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
61922         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
61923         * NEWS: Document this.
61924         * doc/glibc-functions/canonicalize_file_name.texi
61925         (canonicalize_file_name): Likewise.
61926         * doc/posix-functions/realpath.texi (realpath): Likewise.
61927         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
61929         test-canonicalize: consolidate into single C program
61930         * tests/test-canonicalize.sh: Delete; move setup into...
61931         * tests/test-canonicalize.c (main): ...the program, making it
61932         easier to run in debugger.  Add some tests.
61933         * modules/canonicalize-tests (Files): Remove unused file.
61934         (Depends-on): Add progname.
61935         (configure.ac, Makefile.am): Simplify.
61937         test-canonicalize-lgpl: consolidate into single C program
61938         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
61939         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
61940         easier to run in debugger.  Add some tests.
61941         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
61942         (configure.ac, Makefile.am): Simplify.
61944         canonicalize: avoid resolvepath
61945         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
61946         unnecessary checks.
61947         * lib/canonicalize.c (includes): Simplify.
61948         (canonicalize_file_name): Drop resolvepath implementation.
61949         * modules/canonicalize (Depends-on): Drop filenamecat.
61951         canonicalize: don't lose errno
61952         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
61953         over calls to free.
61955         canonicalize: simplify errno handling
61956         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
61957         assignment.
61959         canonicalize, canonicalize-lgpl: update module dependencies
61960         * modules/canonicalize (Depends-on): Add extensions, lstat,
61961         pathmax, stdlib.
61962         (Files): Drop pathmax.h.
61963         (configure.ac): Adjust macro name.
61964         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
61965         lstat, stdlib, sys_stat.
61966         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
61967         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
61968         extensions.
61969         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
61970         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
61971         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
61972         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
61973         declaration, if available.
61974         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
61975         we can rely on the readlink module.
61976         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
61977         (includes): Use <unistd.h> unconditionally.
61979 2009-09-17  Eric Blake  <ebb9@byu.net>
61981         maint: make Include sections of modules consistent
61982         * modules/alloca: Use only header name; no need to list #include.
61983         * modules/alloca-opt: Likewise.
61984         * modules/arpa_inet: Likewise.
61985         * modules/canon-host: Likewise.
61986         * modules/configmake: Likewise.
61987         * modules/dirent: Likewise.
61988         * modules/eealloc: Likewise.
61989         * modules/environ: Likewise.
61990         * modules/fchdir: Likewise.
61991         * modules/fcntl: Likewise.
61992         * modules/fcntl-h: Likewise.
61993         * modules/gethrxtime: Likewise.
61994         * modules/gettime: Likewise.
61995         * modules/ignore-value: Likewise.
61996         * modules/inet_ntop: Likewise.
61997         * modules/inet_pton: Likewise.
61998         * modules/inttypes: Likewise.
61999         * modules/isnand-nolibm: Likewise.
62000         * modules/isnanf-nolibm: Likewise.
62001         * modules/mbchar: Likewise.
62002         * modules/mbfile: Likewise.
62003         * modules/mbiter: Likewise.
62004         * modules/mbuiter: Likewise.
62005         * modules/netdb: Likewise.
62006         * modules/netinet_in: Likewise.
62007         * modules/nproc: Likewise.
62008         * modules/pagealign_alloc: Likewise.
62009         * modules/poll: Likewise.
62010         * modules/printf-frexp: Likewise.
62011         * modules/pthread: Likewise.
62012         * modules/putenv: Likewise.
62013         * modules/random_r: Likewise.
62014         * modules/relocatable-prog: Likewise.
62015         * modules/search: Likewise.
62016         * modules/select: Likewise.
62017         * modules/selinux-h: Likewise.
62018         * modules/settime: Likewise.
62019         * modules/signal: Likewise.
62020         * modules/size_max: Likewise.
62021         * modules/socklen: Likewise.
62022         * modules/ssize_t: Likewise.
62023         * modules/stdarg: Likewise.
62024         * modules/stdbool: Likewise.
62025         * modules/stddef: Likewise.
62026         * modules/stdint: Likewise.
62027         * modules/stdio: Likewise.
62028         * modules/stdlib: Likewise.
62029         * modules/string: Likewise.
62030         * modules/strings: Likewise.
62031         * modules/sys_file: Likewise.
62032         * modules/sys_ioctl: Likewise.
62033         * modules/sys_select: Likewise.
62034         * modules/sys_socket: Likewise.
62035         * modules/sys_stat: Likewise.
62036         * modules/sys_time: Likewise.
62037         * modules/sys_times: Likewise.
62038         * modules/sys_utsname: Likewise.
62039         * modules/sys_wait: Likewise.
62040         * modules/sysexits: Likewise.
62041         * modules/time: Likewise.
62042         * modules/times: Likewise.
62043         * modules/tmpfile: Likewise.
62044         * modules/trim: Likewise.
62045         * modules/unistd: Likewise.
62046         * modules/wchar: Likewise.
62047         * modules/wctype: Likewise.
62049 2009-09-17  Bruno Haible  <bruno@clisp.org>
62051         Make getdate.y compile on QNX and NetBSD 5 / i386.
62052         * m4/getdate.m4 (gl_GETDATE): Conditionally define
62053         TIME_T_FITS_IN_LONG_INT.
62054         * lib/getdate.y (long_time_t): New type.
62055         (relative_time): Change type of 'seconds' field to long_time_t.
62056         (get_date): Update types of local variables. Check against overflow
62057         during conversion from long_time_t to time_t.
62058         Reported by Matt Kraai <kraai@ftbfs.org>
62059         and Hasso Tepper <hasso@netbsd.org>.
62061 2009-09-17  Bruno Haible  <bruno@clisp.org>
62063         * modules/COPYING: Update copyright years.
62064         * modules/README: Likeiwse.
62065         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
62066         Reported by Ian Beckwith <ianb@erislabs.net>.
62068 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
62070         * users.txt: Update references for gnuit package.
62072 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
62074         * m4/getdelim.m4: Fix typo in copyright line.
62076 2009-09-17  Bruno Haible  <bruno@clisp.org>
62078         * lib/atoll.c: Use the standard header with GPL copyright.
62079         * lib/argz.in.h: Likewise.
62080         * lib/glob.c: Likewise.
62081         * lib/glob-libc.h: Likewise.
62082         * lib/random_r.c: Likewise.
62083         * lib/siglist.h: Likewise.
62084         * lib/strsignal.c: Likewise.
62085         Reported by Ian Beckwith <ianb@erislabs.net>.
62087 2009-09-17  Eric Blake  <ebb9@byu.net>
62089         rmdir: ensure correct dependency order
62090         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
62092 2009-09-17  Bruno Haible  <bruno@clisp.org>
62094         Disable assertion that fails on NetBSD 5 / i386.
62095         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
62096         Reported by Sam Steingold <sds@gnu.org>
62097         and Hasso Tepper <hasso@netbsd.org>.
62099 2009-09-16  Eric Blake  <ebb9@byu.net>
62101         unlinkdir: port to mingw
62102         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
62103         on which no one can unlink a directory.
62105         stdlib: sort witness names
62106         * modules/stdlib (Makefile.am): Sort replacements.
62107         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
62108         * lib/stdlib.in.h: Likewise.
62110         parse-duration-tests: avoid link failure
62111         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
62112         LIBINTL.
62113         Reported by Tom G. Christensen.
62115         openat-tests: ensure unlinkat behaves like rmdir
62116         * tests/test-rmdir.c (main): Factor guts...
62117         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
62118         * modules/rmdir-tests (Files): Ship new file.
62119         * modules/openat-tests: New test.
62120         * tests/test-unlinkat.c: Likewise.
62122         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
62123         * modules/rmdir-errno (Status, Notice): Now obsolete.
62125         rmdir: work around cygwin 1.5.x and mingw bugs
62126         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
62127         * lib/rmdir.c (rmdir): Work around it.
62128         * modules/rmdir (Status, Notice): No longer obsolete.
62129         (Files): Add dos.m4.
62130         (Depends-on): Add unistd.
62131         (configure.ac): Set witnesses.
62132         (License): Relax to LGPLv2+.
62133         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
62134         * modules/unistd (Makefile.am): Substitute witnesses.
62135         * lib/unistd.in.h (rmdir): Declare replacement.
62136         * doc/posix-functions/rmdir.texi (rmdir): Document this.
62137         * modules/rmdir-tests: New tests.
62138         * tests/test-rmdir.c: Likewise.
62140 2009-09-15  Eric Blake  <ebb9@byu.net>
62142         fchdir: improve use of replacement functions
62143         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
62144         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
62145         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
62146         REPLACE_CLOSEDIR.
62147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
62148         * modules/sys_stat (Makefile.am): Substitute correct witness.
62149         * modules/dirent (Makefile.am): Likewise.
62150         * modules/unistd (Makefile.am): Likewise.
62151         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
62152         * lib/unistd.in.h (dup): Likewise.
62153         * lib/sys_stat.in.h (fstat): Likewise.
62155         maint: ignore gnulib-tool temp files
62156         * .gitignore: Ignore files created during gnulib-tool --test.
62158 2009-09-13  Jim Meyering  <meyering@redhat.com>
62160         posixtm: don't reject a time that specify "60" as the number of seconds
62161         * lib/posixtm.c (posixtime): The code to reject invalid dates
62162         would also reject a time specified with the .60 suffix.
62163         But POSIX allows that, in order to accommodate leap seconds.
62164         So don't reject it.
62165         (main): Adjust tests accordingly.
62166         * modules/posixtm (Depends-on): Add stpcpy.
62168 2009-09-11  Jim Meyering  <meyering@redhat.com>
62170         announce-gen: include [$release_type] in emitted Subject:
62171         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
62172         e.g., [stable] in the emitted Subject: line.
62174 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62176         Remove obsolete macros from several modules.
62177         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
62178         obsolete Autoconf macros with their modern counterparts.
62179         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
62180         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
62181         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
62182         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
62183         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
62184         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62185         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
62186         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
62187         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
62188         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
62189         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
62190         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
62191         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
62192         * m4/sockets.m4 (gl_SOCKETS): Likewise.
62193         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
62194         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
62195         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62196         * m4/time_r.m4 (gl_TIME_R): Likewise.
62197         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
62198         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
62199         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62201         Fix copyright header in build-aux scripts.
62202         * build-aux/git-version-gen: Fix copyright header to match GPLv3
62203         recommendation.
62204         * build-aux/ncftpput-ftp: Likewise.
62205         * build-aux/update-copyright: Likewise.
62207 2009-09-09  Eric Blake  <ebb9@byu.net>
62209         test-link: allow Linux choice of errno
62210         * tests/test-link.c (main): Relax test for alternate error.
62212         strndup: fix improper m4 caching
62213         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
62214         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
62215         (gl_PREREQ_STRNDUP): Delete.
62216         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
62217         * modules/string (Makefile.am): Substitute it.
62218         * lib/string.in.h (strndup): Modernize prototype.
62220         getcwd: port to mingw
62221         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
62222         different from the POSIX assumptions made throughout the getcwd
62223         module; fortunately, the mingw getcwd does not need replacement.
62224         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
62225         * modules/getcwd-tests: New test.
62226         * tests/test-getcwd.c: Likewise.
62228         link: fix platform bugs
62229         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
62230         * lib/link.c (link): Work around them.  Fix related mingw bug.
62231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
62232         * modules/unistd (Makefile.am): Substitute it.
62233         * lib/unistd.in.h (link): Declare replacement.
62234         * doc/posix-functions/link.texi (link): Document this.
62235         * modules/link (Depends-on): Add strdup-posix, sys_stat.
62237         test-link: consolidate into single C program, test more cases
62238         * tests/test-link.sh: Delete.
62239         * tests/test-link.c: Test more error conditions.  Exposes bugs on
62240         at least Cygwin and Solaris.
62241         * modules/link-tests (Files): Remove unused file.
62242         (Depends-on): Add errno, sys_stat.
62243         (Makefile.am): Simplify.
62245 2009-09-08  Bruno Haible  <bruno@clisp.org>
62247         Work around towlower, towupper bug on mingw.
62248         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
62249         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
62250         * doc/posix-functions/towlower.texi: Mention the mingw bug.
62251         * doc/posix-functions/towupper.texi: Likewise.
62252         Reported by Eric Blake.
62254 2009-09-08  Jim Meyering  <meyering@redhat.com>
62256         build: don't try to run autoheader if we don't use it
62257         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
62258         is not used in configure.ac.
62260 2009-09-08  Eric Blake  <ebb9@byu.net>
62262         euidaccess: fix compilation error
62263         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
62265         rawmemchr: relax license
62266         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
62267         okay.
62268         Reported by Jim Meyering.
62270         mkfifoat: new module
62271         * modules/mkfifoat: New file.
62272         * lib/mkfifoat.c: Likewise.
62273         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
62274         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62275         * modules/sys_stat (Makefile.am): Use them.
62276         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
62277         * MODULES.html.sh (File system functions): Mention module.
62278         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
62279         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
62280         * modules/mkfifoat-tests: New test.
62281         * tests/test-mkfifoat.c: Likewise.
62283         strchrnul: relax license
62284         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
62285         okay.
62286         Reported by Jim Meyering.
62288 2009-09-08  Eric Blake  <ebb9@byu.net>
62290         fstatat: fix compilation on Solaris
62291         * lib/fstatat.c (includes): Add fcntl.h.
62292         Reported by Pádraig Brady.
62294 2009-09-07  Eric Blake  <ebb9@byu.net>
62296         rename: modernize replacement
62297         * modules/rename (Depends-on): Add stdio.
62298         (configure.ac): Declare witness.
62299         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
62300         stdio take care of replacement.
62301         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
62302         * modules/stdio (Makefile.am): Substitute them.
62303         * lib/stdio.in.h (rename): Declare replacement.
62304         * lib/rename.c (includes): Allow cross-compilation to non-windows
62305         machines.
62306         * doc/posix-functions/rename.texi (rename): Improve
62307         documentation.
62309         stdio: sort witness names
62310         * modules/stdio (Makefile.am): Sort replacements.
62311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
62312         * lib/stdio.in.h: Likewise.
62314         getcwd: minor cleanups
62315         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
62316         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
62318         openat: provide more convenience names
62319         * modules/faccessat (configure.ac): Add C witness.
62320         * lib/unistd.in.h (readlinkat): Fix typo.
62321         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
62322         convenience wrappers.
62323         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
62324         wrappers in syntax checks.
62326 2009-09-06  Eric Blake  <ebb9@byu.net>
62328         doc: fix comments in recent patches
62329         * lib/faccessat.c: Mention correct function.
62330         * lib/fchmodat.c: Likewise.
62331         * lib/fchownat.c: Likewise.
62332         * lib/symlinkat.c: Likewise.
62333         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
62334         constants.
62336         faccessat, symlinkat: continue cleanup of previous patch
62337         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
62338         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
62339         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
62340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
62341         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
62342         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
62343         set.
62345 2009-09-06  Bruno Haible  <bruno@clisp.org>
62347         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
62348         (fstatat): Declare if GNULIB_FSTATAT is set.
62349         (mkdirat): Declare if GNULIB_MKDIRAT is set.
62350         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
62351         (unlinkat): Declare if GNULIB_UNLINKAT is set.
62352         * modules/fcntl-h (Files): Remove m4/openat.m4.
62353         * modules/sys_stat (Files): Remove m4/openat.m4.
62354         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
62355         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
62356         * modules/unistd (Files): Remove m4/openat.m4.
62357         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
62358         GNULIB_OPENAT.
62359         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
62360         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
62361         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
62362         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
62363         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
62364         gl_OPENAT_DEFAULTS.
62365         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
62366         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
62367         Don't require gl_OPENAT_DEFAULTS.
62368         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
62369         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
62370         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
62371         (gl_OPENAT_DEFAULTS): Remove macro.
62373 2009-09-06  Bruno Haible  <bruno@clisp.org>
62375         * modules/openat (configure.ac): Remove unneeded witness.
62377 2009-09-06  Bruno Haible  <bruno@clisp.org>
62379         Set errno to ENOSYS when a function is entirely unsupported.
62380         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
62381         EOPNOTSUPP.
62382         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
62383         * modules/chown (Depends-on): Remove errno.
62385 2009-09-06  Bruno Haible  <bruno@clisp.org>
62387         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
62389 2009-09-06  Bruno Haible  <bruno@clisp.org>
62391         * lib/sys_stat.in.h: Fix preprocessor command indentation.
62393 2009-09-06  Ben Pfaff  <blp@gnu.org>
62394             Bruno Haible  <bruno@clisp.org>
62396         Work around a glibc bug in strtok_r.
62397         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
62398         Undefine if UNDEFINE_STRTOK_R is set.
62399         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
62400         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62401         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
62402         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
62403         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
62404         UNDEFINE_STRTOK_R.
62405         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
62407 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
62409         exclude: minor fix
62410         * lib/exclude.c: Include wctype.h
62412 2009-09-06  Akim Demaille  <demaille@gostai.com>
62414         bootstrap: improve error message
62415         * build-aux/bootstrap (find_tool): Upon failure, report the list
62416         of candidates.
62417         Honor the initial value of the envvar.
62419 2009-09-05  Eric Blake  <ebb9@byu.net>
62421         symlinkat: new module
62422         * modules/symlinkat: New file.
62423         * lib/symlinkat.c: Likewise.
62424         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
62425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
62426         * modules/unistd (Makefile.am): Use them.
62427         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
62428         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
62429         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
62430         * MODULES.html.sh (File system functions): Mention module.
62431         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
62432         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
62433         * modules/symlinkat-tests: New test.
62434         * tests/test-symlinkat.c: Likewise.
62436         test-openat-safer: add more checks
62437         * tests/test-openat-safer.c (main): Check more code paths.
62439 2009-09-05  Jim Meyering  <meyering@redhat.com>
62441         syntax-check: detect unnecessary inclusion of openat.h
62442         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
62444 2009-09-05  Bruno Haible  <bruno@clisp.org>
62446         Support towlower, towupper.
62447         * doc/posix-functions/towlower.texi: Mention module wctype.
62448         * doc/posix-functions/towupper.texi: Likewise.
62449         * lib/wctype.in.h (towlower, towupper): New functions.
62450         * tests/test-wctype.c: Include stdio.h, stdlib.h.
62451         (ASSERT): New macro.
62452         (e): New variable.
62453         (main): Test also towlower, towupper. Test WEOF argument.
62454         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
62456 2009-09-05  Bruno Haible  <bruno@clisp.org>
62458         Fix conversion behaviour when the input is invalid.
62459         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
62460         mark occurring in first pass of indirect conversion.
62461         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
62462         input.
62463         Found by clang's static analyzer.
62465 2009-09-05  Bruno Haible  <bruno@clisp.org>
62467         * tests/test-striconveh.c (main): Test indirect conversion on platforms
62468         where direct conversion is possible.
62470 2009-09-04  Eric Blake  <ebb9@byu.net>
62472         openat: fail with ENOENT on empty name
62473         * lib/openat-proc.c (openat_proc_name): Special-case the empty
62474         buffer.
62476         link-follow: fix logic bug in prior patch
62477         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
62478         reversed sense of yes and no in prior patch.  Avoid confusing
62479         compilation failure with desired semantics.
62481         link-follow: accommodate mingw and cross-compilation
62482         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
62483         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
62484         cross-compilation results to -1, to make linkat easier to
62485         implement when cross-compiling.  Trivially support mingw.
62486         * modules/link-follow (configure.ac): Call new name.
62487         * NEWS: Mention this.
62489 2009-09-03  Eric Blake  <ebb9@byu.net>
62491         faccessat: compile replacement
62492         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
62493         needed.
62495         fts: fix compilation error
62496         * lib/fts.c (includes): Re-add "openat.h", for
62497         openat_needs_fchdir.
62499         faccessat: new module
62500         * modules/faccessat: New file.
62501         * lib/faccessat.c: Likewise.
62502         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
62503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
62504         * modules/unistd (Makefile.am): Use it.
62505         * lib/unistd.in.h (faccessat): Declare it.
62506         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
62507         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
62508         * MODULES.html.sh (File system functions): Mention it.
62509         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
62510         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
62512         euidaccess: prefer POSIX over non-standard implementation
62513         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
62514         * lib/euidaccess.c (euidaccess): Use it if available.
62516         openat: make template easier to use
62517         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
62518         AT_FUNC_F2 to be undefined.
62519         (VALIDATE_FLAG): New macro; use it to reject bad flags.
62520         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
62521         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
62522         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
62523         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
62524         Likewise.
62525         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
62526         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
62527         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
62528         Likewise.
62530         openat: declare in POSIX headers
62531         * NEWS: Mention this.
62532         * modules/openat (configure.ac): Declare witnesses.
62533         (Depends-on): Add fcntl-h, sys_stat, unistd.
62534         (Include): Mention correct headers.
62535         * modules/fcntl-h (Depends-on): Add link-warning.
62536         (Files): Add openat.m4.
62537         (Makefile.am): Substitute witnesses.
62538         * modules/sys_stat (Files, Makefile.am): Likewise.
62539         * modules/unistd (Files, Makefile.am): Likewise.
62540         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
62541         (gl_OPENAT_DEFAULTS): New macro.
62542         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
62543         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
62544         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
62545         (SYS_STAT_H): Remove unused variable.
62546         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
62547         * lib/fcntl--.h (includes): Remove unneeded header.
62548         * lib/openat-safer.c (includes): Likewise.
62549         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
62550         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
62551         appropriate headers.
62552         (__OPENAT_PREFIX): Delete.
62553         * lib/fcntl.in.h (openat): Provide declaration.
62554         (AT_FDCWD): Fix Solaris bug.
62555         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
62556         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
62557         * lib/fchmodat.c (includes):  Adjust to find declaration.
62558         * lib/fchownat.c (includes): Likewise.
62559         * lib/mkdirat.c (includes): Likewise.
62560         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
62561         still visible.
62563 2009-09-02  Eric Blake  <ebb9@byu.net>
62565         errno: use consistently
62566         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
62567         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
62568         * lib/canonicalize.c (ELOOP): Likewise.
62569         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
62570         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
62571         * lib/lchown.c (EOPNOTSUPP): Likewise.
62572         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
62573         * lib/savewd.c (ESTALE): Likewise.
62574         * lib/settime.c (ENOSYS): Likewise.
62575         * lib/utimens.c (ENOSYS): Likewise.
62576         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
62577         * lib/chdir-safer.c (ELOOP): Likewise.
62578         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
62579         * modules/c-stack (Depends-on): Add errno.
62580         * modules/canonicalize (Depends-on): Likewise.
62581         * modules/chdir-safer (Depends-on): Likewise.
62582         * modules/fdopendir (Depends-on): Likewise.
62583         * modules/inet_ntop (Depends-on): Likewise.
62584         * modules/inet_pton (Depends-on): Likewise.
62585         * modules/lchown (Depends-on): Likewise.
62586         * modules/openat (Depends-on): Likewise.
62587         * modules/savewd (Depends-on): Likewise.
62588         * modules/settime (Depends-on): Likewise.
62589         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
62591         fts: avoid leaking fds
62592         * modules/fts (Depends-on): Add cloexec.
62593         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
62594         flag.
62596         fts: make directory fds more robust
62597         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
62598         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
62600         backupfile, chdir-long, fts, savedir: make safer
62601         * lib/backupfile.c (includes): Use "dirent--.h", since
62602         numbered_backup can write to stderr during readdir.
62603         * lib/savedir.c (includes): Likewise.
62604         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
62605         emulation can write to stderr on failure.
62606         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
62607         * lib/getcwd.c: Document why opendir_safer is unused.
62608         * lib/glob.c: Likewise.
62609         * lib/scandir.c: Likewise.
62610         * lib/openat-proc.c: Likewise, for open_safer.
62611         * modules/backupfile (Depends-on): Add dirent-safer.
62612         * modules/savedir (Depends-on): Likewise.
62613         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
62614         * modules/chdir-long (Depends-on): Add openat-safer.
62616         openat-safer: new module
62617         * modules/openat-safer: New file.
62618         * lib/openat-safer.c: Likewise.
62619         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
62620         * lib/fcntl-safer.h (openat_safer): Declare.
62621         * lib/fcntl--.h (openat): Override.
62622         * MODULES.html.sh (File descriptor based I/O): Mention it.
62623         * lib/openat.h: Add double-inclusion guards.
62624         * lib/openat.c (includes): Only include "fcntl-safer.h", not
62625         "fcntl--.h", so we can implement openat.
62626         * modules/openat-safer-tests: New test.
62627         * tests/test-openat-safer.c: New file.
62629         dirent-safer: new module
62630         * modules/dirent-safer: New file.
62631         * lib/dirent--.h: Likewise.
62632         * lib/dirent-safer.h: Likewise.
62633         * lib/opendir-safer.c: Likewise.
62634         * m4/dirent-safer.m4: Likewise.
62635         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
62636         * modules/dirent-safer-tests: New test.
62637         * tests/test-dirent-safer.c: New file.
62638         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
62640         fdopendir: optimize on mingw
62641         * lib/unistd.in.h (_gl_directory_name): New prototype.
62642         * lib/fchdir.c (_gl_directory_name): Implement it.
62643         (fchdir): Use it to simplify implementation.
62644         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
62645         fchdir, when available, to avoid calling [f]chdir().
62647         fdopendir: split into its own module
62648         * lib/openat.c (fdopendir): Move...
62649         * lib/fdopendir.c: ...into new file.
62650         * modules/fdopendir: New module.
62651         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
62652         * modules/openat (Depends-on): Add fdopendir.
62653         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
62654         fdopendir here.
62655         * modules/savedir (Depends-on): Only need fdopendir, not full
62656         openat.
62657         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
62658         * lib/openat.h (fdopendir): Drop prototype.
62659         * lib/dirent.in.h (fdopendir): Provide prototype.
62660         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
62661         * modules/dirent (Makefile.am): Substitute them.
62662         * MODULES.html.sh (File system functions): Mention it.
62663         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
62664         * modules/fdopendir-tests: New file.
62665         * tests/test-fdopendir.c: Likewise.
62667         fchdir: use more consistent macro convention
62668         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
62669         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
62670         REPLACE_FCHDIR, rather than relying on config.h macros.
62671         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
62672         inside a single make-time REPLACE_FCHDIR block, rather than using
62673         the config.h FCHDIR_REPLACEMENT.
62674         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
62675         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
62676         Manage fstat replacement.
62677         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
62678         REPLACE_FCHDIR.
62679         * modules/sys_stat (Files): Add m4/unistd_h.m4.
62680         (Makefile.am): Substitute REPLACE_FCHDIR.
62681         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
62682         FCHDIR_REPLACEMENT.
62683         * lib/dup-safer.c (dup_safer): Likewise.
62684         * lib/dup2.c (rpl_dup2): Likewise.
62685         * lib/dup3.c (rpl_dup3): Likewise.
62686         * lib/open.c (rpl_open): Likewise.
62688         fchdir: simplify error handling, and support dup3
62689         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
62690         stdbool, malloc-posix, realloc-posix.
62691         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
62692         (ensure_dirs_slot): Return false on allocation failure.
62693         (rpl_dup2): Delete.
62694         (_gl_register_dup): New function.
62695         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
62696         (_gl_register_fd): Close fd on allocation failure.
62697         * lib/fcntl.in.h (_gl_register_fd): Update signature.
62698         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
62699         prototype.
62700         (rpl_dup2_fchdir): Delete prototype.
62701         * lib/open.c (open): Update caller.
62702         * lib/dup2.c (dup2): Track fchdir metadata.
62703         * lib/dup3.c (dup3): Likewise.
62704         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
62705         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
62707 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62709         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
62710         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
62711         don't pass arguments to AC_OUTPUT.
62713 2009-09-02  Bruno Haible  <bruno@clisp.org>
62715         * modules/mkdtemp (License): Relicense under LGPLv2+.
62716         Reported by Paolo Bonzini.
62718 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62720         Replace uses of obsolete autoconf macros in Jim's modules.
62721         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
62722         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
62723         can evoke a warning from autoconf when run with -Wobsolete
62724         enabled.  They were declared obsolete for good reasons (see
62725         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
62726         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
62727         should not continue using the deprecated macros.
62728         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
62729         obsolete Autoconf macros with modern counterparts.
62730         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
62731         * m4/dos.m4 (gl_AC_DOS): Likewise.
62732         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
62733         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
62734         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
62735         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
62736         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
62737         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
62738         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
62739         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
62740         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
62741         Likewise.
62742         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
62743         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
62744         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
62745         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
62746         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
62747         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
62749 2009-09-01  Eric Blake  <ebb9@byu.net>
62751         fchdir: fix off-by-one bug in previous patch
62752         * lib/fchdir.c (rpl_fstat): Use correct bounds.
62753         (_gl_unregister_fd): Delete useless if.
62755 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
62757         maint.mk: sort the list of syntax-check rules
62758         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
62759         easier to get a sense of progress when the rules are run sequentially
62760         and take a long time.
62762 2009-09-01  Simon Josefsson  <simon@josefsson.org>
62764         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
62765         * modules/netinet_in: Likewise.
62766         * modules/sys_file: Likewise.
62767         * modules/sys_ioctl: Likewise.
62768         * modules/sys_select: Likewise.
62769         * modules/sys_socket: Likewise.
62770         * modules/sys_stat: Likewise.
62771         * modules/sys_time: Likewise.
62772         * modules/sys_times: Likewise.
62773         * modules/sys_utsname: Likewise.
62774         * modules/sys_wait: Likewise.
62776 2009-09-01  Jim Meyering  <meyering@redhat.com>
62778         fts: help ensure that return values are not ignored
62779         * lib/fts_.h (__GNUC_PREREQ): Define.
62780         (__attribute_warn_unused_result__): Define.
62781         (fts_children, fts_close, fts_open, fts_read): Declare with
62782         __attribute_warn_unused_result__.
62784         fts: fts_close now fails also when closing a dir file descriptor fails
62785         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
62786         and propagate to caller, along with errno.
62788         announce-gen: correct formatting in --help output
62789         * build-aux/announce-gen (usage): Move the one-line description in
62790         --help output "up", to where it belongs, just after Usage:.
62792 2009-08-31  Eric Blake  <ebb9@byu.net>
62794         fchdir: port to mingw
62795         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
62796         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
62797         opened, then use a substitute.
62798         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
62799         replacement.
62800         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
62801         (_gl_register_fd): No need to check stat if open already filters
62802         all directories.
62803         (fchdir): Fix error condition to match POSIX.
62804         * modules/fchdir (Depends-on): Add sys_stat.
62805         * doc/posix-functions/open.texi (open): Document the limitation.
62806         * modules/fchdir-tests: New file.
62807         * tests/test-fchdir.c: Likewise.
62809         canonicalize: allow cross-testing from cygwin to mingw
62810         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
62811         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
62812         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
62813         Likewise.
62814         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
62815         target does not support symlinks.
62816         * tests/test-canonicalize-lgpl.sh: Likewise.
62818         chown: avoid compilation warning on mingw
62819         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
62820         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
62821         mingw.
62822         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
62823         * modules/chown (Depends-on): Add errno.
62825 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
62827         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
62828         command.
62830 2009-08-31  Jim Meyering  <meyering@redhat.com>
62832         canonicalize: remove useless initialization
62833         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
62834         initialization of local, "end".
62836 2009-08-30  Bruno Haible  <bruno@clisp.org>
62838         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
62839         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
62840         ENOSYS.
62842 2009-08-30  Bruno Haible  <bruno@clisp.org>
62844         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
62845         /usr/xpg4/bin/tr when it exists.
62846         * tests/test-pipe-filter-gi1.sh: Likewise.
62848 2009-08-30  Bruno Haible  <bruno@clisp.org>
62850         Work around deficient /usr/bin/id program on Solaris.
62851         * tests/test-file-has-acl.sh (ID): New variable.
62852         * tests/test-set-mode-acl.sh (ID): Likewise.
62853         * tests/test-copy-acl.sh (ID): Likewise.
62854         * tests/test-copy-file.sh (ID): Likewise.
62856 2009-08-30  Bruno Haible  <bruno@clisp.org>
62858         New module 'xstriconveh'.
62859         * lib/xstriconveh.h: New file.
62860         * lib/xstriconveh.c: New file.
62861         * modules/xstriconveh: New file.
62863 2009-08-30  Bruno Haible  <bruno@clisp.org>
62865         Make it easier to use mem_cd_iconveh.
62866         * lib/striconveh.h (iconveh_t): New type.
62867         (iconveh_open, iconveh_close): New declarations.
62868         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
62869         with a single 'const iconveh_t *' argument.
62870         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
62871         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
62872         with a single 'const iconveh_t *' argument.
62873         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
62874         * tests/test-striconveh.c (main): Update.
62875         * NEWS: Mention the change.
62877 2009-08-30  Bruno Haible  <bruno@clisp.org>
62879         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
62880         problem.
62882 2009-08-30  Bruno Haible  <bruno@clisp.org>
62884         Work around iconv_open problem on Solaris.
62885         * lib/iconv_open-solaris.gperf: New file.
62886         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
62887         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
62888         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
62889         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
62890         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
62891         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
62893 2009-08-29  Jim Meyering  <meyering@redhat.com>
62895         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
62896         * top/maint.mk (cvs-check): Remove target; it was just an alias
62897         to the better-named vc-diff-check.
62898         (maintainer-distcheck): Remove rule.  It was used only from
62899         the (alpha/beta/major) target, and all of its commands but one
62900         were coreutils-specific.
62901         (vc-dist): Remove rule.
62902         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
62903         Run vc-diff-check, not vc-dist.
62904         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
62906 2009-08-27  Bruno Haible  <bruno@clisp.org>
62908         * tests/test-bitrotate.c (main): Remove test that uses a shift count
62909         of 0.
62911 2009-08-27  Bruno Haible  <bruno@clisp.org>
62913         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
62914         compilers.
62915         * doc/func.texi: Document the SunPRO C bug.
62917 2009-08-27  Bruno Haible  <bruno@clisp.org>
62919         Fix link error on Solaris.
62920         * tests/test-parse-duration.c (xstrdup): Remove function.
62922 2009-08-26  Pádraig Brady  <P@draigbrady.com>
62924         ignore-value: handle pointer types, too
62925         * lib/ignore-value.h (__attribute__): Remove definition.
62926         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
62927         of a more concise and more-often effective "(void) i" statement.
62928         (ignore_ptr): New function to suppress warnings from functions that
62929         return pointers, and to make it explicit that one function doesn't
62930         handle all cases.
62932 2009-08-25  Bruno Haible  <bruno@clisp.org>
62934         dup2: work around a Linux bug.
62935         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
62936         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
62937         * doc/posix-functions/dup2.texi: Mention the Linux bug.
62938         Reported by Simon Josefsson.
62940 2009-08-25  Jim Meyering  <meyering@redhat.com>
62942         libguestfs uses gnulib
62943         * users.txt: Add libguestfs.
62945 2009-08-24  Eric Blake  <ebb9@byu.net>
62947         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
62948         * lib/pipe2.c (includes): Add binary-io.h.
62949         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
62951 2009-08-24  Bruno Haible  <bruno@clisp.org>
62953         Tolerate declared but missing accept4 syscall.
62954         * lib/accept4.c (accept4): Invoke original accept4 function first, if
62955         available.
62956         * lib/sys_socket.in.h (accept4): If the function is already present,
62957         override it.
62958         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
62959         * modules/accept4 (Makefile.am): Compile accept4.c always.
62960         Reported by Paolo Bonzini and Eric Blake.
62962 2009-08-23  Bruno Haible  <bruno@clisp.org>
62964         New module 'accept4'.
62965         * lib/sys_socket.in.h (accept4): New declaration.
62966         * lib/accept4.c: New file.
62967         * m4/accept4.m4: New file.
62968         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
62969         GNULIB_ACCEPT4, HAVE_ACCEPT4.
62970         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
62971         HAVE_ACCEPT4.
62972         * modules/accept4: New file.
62973         * doc/glibc-functions/accept4.texi: Mention the new module.
62975 2009-08-24  Jim Meyering  <meyering@redhat.com>
62977         progname: also set global program_invocation_name, when possible
62978         Before this change, a libtool-enabled program that calls glibc's
62979         error function would report the program name as
62980         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
62981         * modules/progname (configure.ac): Check for a declaration of
62982         program_invocation_name.
62983         * lib/progname.c:  Include <errno.h>.
62984         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
62985         Set program_invocation_name.
62987 2009-08-23  Bruno Haible  <bruno@clisp.org>
62989         * lib/dup3.c: Include <string.h>.
62991 2009-08-23  Bruno Haible  <bruno@clisp.org>
62993         * lib/dup3.c (dup3): Test only once whether the system actually exists.
62994         * lib/pipe2.c (pipe2): Likewise.
62995         Suggested by Eric Blake.
62997 2009-08-23  Bruno Haible  <bruno@clisp.org>
62999         Tolerate declared but missing dup3 syscall.
63000         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
63001         * lib/unistd.in.h (dup3): If the function is already present,
63002         override it.
63003         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
63004         * modules/dup3 (Makefile.am): Compile dup3.c always.
63005         Reported by Paolo Bonzini.
63007 2009-08-23  Bruno Haible  <bruno@clisp.org>
63009         Tolerate declared but missing pipe2 syscall.
63010         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
63011         available.
63012         * lib/unistd.in.h (pipe2): If the function is already present,
63013         override it.
63014         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
63015         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
63016         Reported by Paolo Bonzini.
63018 2009-08-23  Bruno Haible  <bruno@clisp.org>
63020         * lib/pipe2.c (pipe2): Move #ifs inside function.
63022 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
63024         quotearg: document limitations of quote_these_too
63025         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
63026         those limitations are created.
63027         * lib/quotearg.h (set_char_quoting): Document that digits and
63028         letters that are special after backslash are not permitted.
63029         (quotearg_char): Cross-reference set_char_quoting documentation.
63031 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
63033         quotearg: implement custom_quoting_style
63034         * lib/quotearg.c: (struct quoting_options): Add left_quote and
63035         right_quote fields.
63036         (set_custom_quoting): New public function.
63037         (quotearg_buffer_restyled): Add left_quote and right_quote
63038         arguments, handle them very much like locale quoting, and update
63039         all uses.
63040         (quotearg_n_custom): New public function.
63041         (quotearg_n_custom_mem): New public function.
63042         (quotearg_custom): New public function.
63043         (quotearg_custom_mem): New public function.
63044         * lib/quotearg.h: Prototype and document new public functions.
63045         (enum quoting_style): For escape_quoting_style and
63046         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
63047         ignored even though they're otherwise like c_quoting_style.
63048         Add custom_quoting_style member and document with comparison to
63049         clocale_quoting_style.
63050         * tests/test-quotearg.c (custom_quotes): New array.
63051         (custom_results): New array.
63052         (main): Extend to test custom quoting.
63054 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
63056         quotearg: fix right quote escaping when it's in quote_these_too
63057         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
63058         quote, be sure to prepend only one backslash.
63059         * tests/test-quotearg.c (use_quote_double_quotes): New function.
63060         (main): Test it.
63062 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
63064         quotearg-tests: test escaping of embedded locale quotes
63065         * tests/test-quotearg.c (struct result_strings): Add member for
63066         new input.
63067         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
63068         (inputs): Add new input.
63069         (results_g): Add expected results.
63070         (flag_results): Likewise.
63071         (locale_results): Likewise.
63072         (compare_strings): Check those.
63074 2009-08-23  Bruno Haible  <bruno@clisp.org>
63076         Tests for module 'dup3'.
63077         * modules/dup3-tests: New file.
63078         * tests/test-dup3.c: New file.
63080         New module 'dup3'.
63081         * lib/unistd.in.h (dup3): New declaration.
63082         * lib/dup3.c: New file.
63083         * m4/dup3.m4: New file.
63084         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
63085         HAVE_DUP3.
63086         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
63087         * modules/dup3: New file.
63088         * doc/glibc-functions/dup3.texi: Mention the new module.
63090 2009-08-23  Bruno Haible  <bruno@clisp.org>
63092         Tweak the dup2 test.
63093         * tests/test-dup2.c (main): Create the test file empty. Verify that an
63094         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
63095         the test file is still empty. Fix argument order of lseek.
63097 2009-08-23  Bruno Haible  <bruno@clisp.org>
63099         Avoid test link errors when the modules getopt-gnu, gettext are used.
63100         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
63101         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
63103 2009-08-23  Bruno Haible  <bruno@clisp.org>
63105         Fix getdtablesize() on mingw.
63106         * lib/getdtablesize.c (getdtablesize): Implement differently.
63107         * lib/unistd.in.h (getdtablesize): Improve comment.
63109 2009-08-23  Bruno Haible  <bruno@clisp.org>
63111         New module 'mkostemp'.
63112         Based on Ulrich Drepper's 2007-08-10 change in glibc.
63113         * lib/stdlib.in.h (mksotemp): New declaration.
63114         * lib/mkostemp.c: New file, from glibc with modifications.
63115         * lib/tempname.h (GT_FILE): Remove outdated comment.
63116         (gen_tempname): Add flags argument.
63117         * lib/tempname.c (__GT_BIGFILE): Remove macro.
63118         (__GT_FILE): Map to 1.
63119         (small_open, large_open): Remove macros.
63120         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
63121         * lib/mkstemp.c (mkstemp): Update.
63122         * lib/mkdtemp.c (mkdtemp): Likewise.
63123         * m4/mkostemp.m4: New file.
63124         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
63125         HAVE_MKOSTEMP.
63126         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
63127         HAVE_MKOSTEMP.
63128         * modules/mkostemp: New file, based on modules/mkstemp.
63129         * doc/glibc-functions/mkostemp.texi: Mention the new module.
63130         * NEWS: Mention the change.
63132 2009-08-23  Bruno Haible  <bruno@clisp.org>
63134         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
63135         Reported by Eric Blake.
63137 2009-08-23  Bruno Haible  <bruno@clisp.org>
63139         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
63140         Reported by Eric Blake.
63142 2009-08-23  Bruno Haible  <bruno@clisp.org>
63144         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
63145         * modules/pipe2 (Depends-on): Likewise.
63147 2009-08-23  Eric Blake  <ebb9@byu.net>
63149         fcntl-h: add O_TTY_INIT support
63150         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
63151         * tests/test-fcntl-h.c (o): Test it.
63152         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
63154         fcntl-h: rename from fcntl, in preparation for fcntl(2)
63155         * modules/fcntl: Move <fcntl.h> header replacement...
63156         * modules/fcntl-h: ...to new name, so as not to collide with
63157         like-named function.
63158         * tests/test-fcntl.c: Rename...
63159         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
63160         * modules/fcntl-tests: Rename...
63161         * modules/fcntl-h-tests: ...to this.  Update test file name.
63162         * modules/chdir-long (Depends-on): Update clients.
63163         * modules/chdir-safer (Depends-on): Likewise.
63164         * modules/fcntl-safer (Depends-on): Likewise.
63165         * modules/fts (Depends-on): Likewise.
63166         * modules/mkancesdirs (Depends-on): Likewise.
63167         * modules/mkdir-p (Depends-on): Likewise.
63168         * modules/open (Depends-on): Likewise.
63169         * modules/savewd (Depends-on): Likewise.
63170         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
63171         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
63173 2009-08-22  Bruno Haible  <bruno@clisp.org>
63175         * modules/binary-io (License): Relicense under LGPL.
63176         * modules/pipe2 (License): Likewise.
63178 2009-08-22  Bruno Haible  <bruno@clisp.org>
63180         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
63181         return value.
63182         * lib/pipe-filter-gi.c (filter_init): Likewise.
63183         Reported by Eric Blake.
63185 2009-08-22  Bruno Haible  <bruno@clisp.org>
63187         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
63188         * modules/pipe (Depends-on): Add pipe2.
63190 2009-08-22  Bruno Haible  <bruno@clisp.org>
63192         Tests for module 'pipe2'.
63193         * modules/pipe2-tests: New file.
63194         * tests/test-pipe2.c: New file.
63196         New module 'pipe2'.
63197         * lib/unistd.in.h (pipe2): New declaration.
63198         * lib/pipe2.c: New file.
63199         * m4/pipe2.m4: New file.
63200         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
63201         HAVE_PIPE2.
63202         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
63203         * modules/pipe2: New file.
63204         * doc/glibc-functions/pipe2.texi: Mention the new module.
63206 2009-08-22  Bruno Haible  <bruno@clisp.org>
63208         Reference some new glibc functions.
63209         * doc/glibc-functions/accept4.texi: New file.
63210         * doc/glibc-functions/dup3.texi: New file.
63211         * doc/glibc-functions/mkostemp.texi: New file.
63212         * doc/glibc-functions/pipe2.texi: New file.
63213         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
63214         (Glibc sys/socket.h): Refer to accept4.
63215         (Glibc unistd.h): Refer to dup3, pipe2.
63216         Reported by Eric Blake.
63218 2009-08-22  Jim Meyering  <meyering@redhat.com>
63219             Bruno Haible  <bruno@clisp.org>
63221         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
63222         This makes it so packages using automake-1.11's silent-rules option
63223         can print e.g., a single "GEN    configmake.h" line, rather than
63224         the 30+ statements that perform the job.  If you want to see the
63225         actual commands, you can still run "make V=1".
63226         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
63227         so that make output is abbreviated when those variables are defined
63228         appropriately.
63229         * modules/argz: Likewise.
63230         * modules/arpa_inet: Likewise.
63231         * modules/byteswap: Likewise.
63232         * modules/configmake: Likewise.
63233         * modules/dirent: Likewise.
63234         * modules/errno: Likewise.
63235         * modules/fcntl: Likewise.
63236         * modules/float: Likewise.
63237         * modules/fnmatch: Likewise.
63238         * modules/getopt-posix: Likewise.
63239         * modules/glob: Likewise.
63240         * modules/iconv_open: Likewise.
63241         * modules/inttypes: Likewise.
63242         * modules/localcharset: Likewise.
63243         * modules/locale: Likewise.
63244         * modules/math: Likewise.
63245         * modules/netdb: Likewise.
63246         * modules/netinet_in: Likewise.
63247         * modules/poll: Likewise.
63248         * modules/posix_spawnp-tests: Likewise.
63249         * modules/sched: Likewise.
63250         * modules/search: Likewise.
63251         * modules/selinux-h: Likewise.
63252         * modules/signal: Likewise.
63253         * modules/spawn: Likewise.
63254         * modules/stdarg: Likewise.
63255         * modules/stdbool: Likewise.
63256         * modules/stddef: Likewise.
63257         * modules/stdint: Likewise.
63258         * modules/stdio: Likewise.
63259         * modules/stdlib: Likewise.
63260         * modules/string: Likewise.
63261         * modules/strings: Likewise.
63262         * modules/sys_file: Likewise.
63263         * modules/sys_ioctl: Likewise.
63264         * modules/sys_select: Likewise.
63265         * modules/sys_socket: Likewise.
63266         * modules/sys_stat: Likewise.
63267         * modules/sys_time: Likewise.
63268         * modules/sys_times: Likewise.
63269         * modules/sys_utsname: Likewise.
63270         * modules/sys_wait: Likewise.
63271         * modules/sysexits: Likewise.
63272         * modules/time: Likewise.
63273         * modules/unistd: Likewise.
63274         * modules/wchar: Likewise.
63275         * modules/wctype: Likewise.
63277 2009-08-22  Jim Meyering  <meyering@redhat.com>
63279         announce-gen: detect write failure
63280         * build-aux/announce-gen: Add Coda at end.
63281         Remove equivalent-but-more-verbose block at top.
63283 2009-08-19  Akim Demaille  <demaille@gostai.com>
63285         bootstrap: --help to stdout.
63286         * bootstrap (usage): Don't send --help to stderr.
63287         Use a here doc instead of a long string.
63289 2009-08-21  Eric Blake  <ebb9@byu.net>
63291         test-popen-safer: split from test-popen
63292         * tests/test-popen.c (main): Move...
63293         * tests/test-popen.h: ...into new file.
63294         * tests/test-popen-safer2.c: New file.
63295         * modules/popen-tests (Files): Add test-popen.h.
63296         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
63297         Suggested by Bruno Haible.
63299         test-fcntl-safer: split from test-open
63300         * tests/test-open.c (main): Move...
63301         * tests/test-open.h: ...into new file.
63302         * tests/test-fcntl-safer.c: New file.
63303         * modules/open-tests (Files): Add test-open.h.
63304         * modules/fcntl-safer-tests: New file.
63305         Suggested by Bruno Haible.
63307         test-fopen-safer: split from test-fopen
63308         * tests/test-fopen.c (main): Move...
63309         * tests/test-fopen.h: ...into new file.
63310         * tests/test-fopen-safer.c: New file.
63311         * modules/fopen-tests (Files): Add test-fopen.h.
63312         * modules/fopen-safer-tests: New file.
63313         Suggested by Bruno Haible.
63315 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
63317         popen-safer: test O_CLOEXEC at run-time.
63318         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
63320 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
63322         fcntl: move more flags to the header
63323         * lib/cloexec.c: Do not define FD_CLOEXEC here.
63324         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
63325         * lib/fcntl.in.h: Do both things here.
63327 2009-08-21  Jim Meyering  <meyering@redhat.com>
63329         consistently remove $@-t before redirecting to it
63330         * modules/argz: Remove $@-t and $@ before redirecting to the former.
63331         * modules/alloca-opt: Likewise.
63332         * modules/byteswap: Likewise.
63333         * modules/fnmatch: Likewise.
63334         * modules/getopt-posix: Likewise.
63335         * modules/glob: Likewise.
63336         * modules/poll: Likewise.
63337         * modules/posix_spawnp-tests: Likewise.
63338         * modules/sys_socket: Likewise.
63339         * modules/sysexits: Likewise.
63341 2009-08-21  Eric Blake  <ebb9@byu.net>
63343         popen: simplify access to original popen
63344         * lib/popen.c (rpl_popen): No need to worry about popen being a
63345         macro.
63346         Reported by Bruno Haible.
63348 2009-08-20  Eric Blake  <ebb9@byu.net>
63350         build: avoid some compiler warnings
63351         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
63352         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
63353         type.
63354         (new_exclude_segment, excluded_file_pattern_p)
63355         (excluded_file_name_p): Reduce scope.
63356         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
63357         old-style declaration.
63359 2009-08-20  Simon Josefsson  <simon@josefsson.org>
63361         * tests/test-exclude1.sh: Handle Windows EOL.
63362         * tests/test-exclude2.sh: Likewise.
63363         * tests/test-exclude3.sh: Likewise.
63364         * tests/test-exclude4.sh: Likewise.
63365         * tests/test-exclude5.sh: Likewise.
63366         * tests/test-exclude6.sh: Likewise.
63367         * tests/test-exclude7.sh: Likewise.
63369 2009-08-19  Akim Demaille  <demaille@gostai.com>
63371         bootstrap: find sha1sum when named gsha1sum.
63372         * bootstrap (find_tool): New.
63373         ($SHA1SUM): New.
63374         Use it.
63376 2009-08-20  Jim Meyering  <meyering@redhat.com>
63378         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
63379         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
63380         expression that converts "." in a file name to "\." in the resulting
63381         regexp.  Start with a dummy statement, so that prior shell variable
63382         definitions are expanded portably.  Reported by Simon Josefsson.
63384 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
63386         Fix polling for writeability of a screen buffer.
63387         * lib/poll.c: Distinguish input and screen buffers for the
63388         Win32 implementation.
63389         * lib/select.c: Likewise.
63391 2009-08-19  Eric Blake  <ebb9@byu.net>
63393         popen-safer: prevent popen from clobbering std descriptors
63394         * modules/popen-safer: New file.
63395         * lib/popen-safer.c: Likewise.
63396         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
63397         * lib/stdio--.h (popen): Provide override.
63398         * lib/stdio-safer.h (popen_safer): Provide declaration.
63399         * tests/test-popen.c (includes): Partially test this.
63400         * modules/popen-safer-tests: New file, for more tests.
63401         * tests/test-popen-safer.c: Likewise.
63402         * MODULES.html.sh (file stream based Input/Output): Mention it.
63404         tests: test some of the *-safer modules
63405         * modules/fopen-safer (Depends-on): Add fopen.
63406         * modules/fcntl-safer (Depends-on): Add fcntl.
63407         * modules/stdlib-safer (Depends-on): Add stdlib.
63408         (configure.ac): Set indicator.
63409         * modules/unistd-safer (configure.ac): Likewise.
63410         * modules/tmpfile-safer (configure.ac): Likewise.
63411         (Depends-on): Add tmpfile.
63412         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
63413         active.
63414         * tests/test-fopen.c (includes): Test safer versions when they are
63415         in use.
63416         * tests/test-open.c (includes): Likewise.
63418         popen: fix cygwin 1.5 bug when stdin closed
63419         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
63420         * modules/popen: New file.
63421         * modules/popen-tests: Likewise.
63422         * tests/test-popen.c: Likewise.
63423         * m4/popen.m4: Likewise.
63424         * lib/popen.c: Likewise.
63425         * lib/stdio.in.h (popen): New declaration.
63426         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
63427         * modules/stdio (Makefile.am): Likewise.
63428         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
63430 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
63432         maint.mk: give full control over update-copyright exclusions
63433         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
63434         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
63435         (update-copyright): Don't force inclusion of top-level
63436         ChangeLog.  Don't force exclusion of all COPYING files, but make
63437         them the default exclusion instead.
63439 2009-08-16  Bruno Haible  <bruno@clisp.org>
63441         Fix test failures on Solaris 10.
63442         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
63443         tests when Solaris iconv() is used.
63444         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
63445         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
63446         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
63447         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
63448         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
63450 2009-08-16  Bruno Haible  <bruno@clisp.org>
63452         Fix test failures on Solaris 10.
63453         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
63454         'tr' program and pass it as first argument.
63455         * tests/test-pipe-filter-gi1.sh: Likewise.
63456         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
63457         program as first argument.
63458         * tests/test-pipe-filter-gi1.c (main): Likewise.
63460 2009-08-16  Eric Blake  <ebb9@byu.net>
63462         fpurge: fix previous commits
63463         * modules/fpurge (Makefile.am): Make replacement conditional,
63464         partially reverting 2007-04-29 change; missed in previous
63465         attempt.
63466         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
63467         is missing.
63469 2009-08-16  Bruno Haible  <bruno@clisp.org>
63471         Clarify fpurge's effect on the file position.
63472         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
63473         * tests/test-fpurge.c (main): Make a second pass for checking the file
63474         position.
63476 2009-08-16  Bruno Haible  <bruno@clisp.org>
63478         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
63479         declaration of fpurge is missing.
63480         * tests/test-fpurge.c (main): Check that the file has not more contents
63481         than expected. Close the file before removing it.
63483 2009-08-15  Eric Blake  <ebb9@byu.net>
63485         fpurge: don't wrap working cygwin implementation
63486         * lib/fpurge.c (fpurge): Fix comment typo.
63487         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
63488         1.7 to avoid replacement.
63489         * tests/test-fpurge.c (main): Enhance test.
63491 2009-08-15  Eric Blake  <ebb9@byu.net>
63492         and Jim Meyering  <meyering@redhat.com>
63494         test-update-copyright: skip if perl is insufficient
63495         * tests/test-update-copyright.sh: Failure to run maintainer tool
63496         should not cause testsuite failure on cygwin 1.5.
63498 2009-08-14  Eric Blake  <ebb9@byu.net>
63500         doc: mention more functions added in cygwin 1.7.0
63501         * doc/posix-headers/limits.texi (limits.h): Update for recent
63502         cygwin additions.
63503         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
63504         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
63505         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
63506         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
63507         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
63509 2009-08-14  Eric Blake  <ebb9@byu.net>
63511         maint.mk: simplify update-copyright rule
63512         * top/maint.mk (update-copyright-local): Delete, and document how
63513         to do it in cfg.mk instead.
63514         (update-copyright-exclude-regexp): Delete, and document how to do
63515         it in .x-update-copyright instead.
63516         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
63517         exclude ChangeLog.
63519 2009-08-14  Bruno Haible  <bruno@clisp.org>
63521         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
63523 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
63525         maint.mk: support update-copyright-env
63526         * top/maint.mk (update-copyright-env): Define place-holder.
63527         (update-copyright): Expand $(update-copyright-env) before
63528         invoking update-copyright.
63530 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
63532         update-copyright: implement forced reformatting
63533         * build-aux/update-copyright: Implement and document
63534         UPDATE_COPYRIGHT_FORCE.
63535         * tests/test-update-copyright.sh: Test it.
63537 2009-08-14  Eric Blake  <ebb9@byu.net>
63538         and Bruno Haible  <bruno@clisp.org>
63540         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
63541         * tests/test-locale.c: Revert previous patch related to NULL.
63542         * tests/test-stdio.c: Likewise.
63543         * tests/test-stdlib.c: Likewise.
63544         * tests/test-string.c: Likewise.
63545         * tests/test-unistd.c: Likewise.
63546         * modules/time-tests (Depends-on): Add verify.
63547         * modules/wchar-tests (Depends-on): Likewise.
63548         * tests/test-time.c: Test for NULL compliance.
63549         * tests/test-wchar.c: Likewise.
63550         * modules/locale (Depends-on): Add stddef.
63551         * modules/stdio (Depends-on): Likewise.
63552         * modules/stdlib (Depends-on): Likewise.
63553         * modules/string (Depends-on): Likewise.
63554         * modules/time (Depends-on): Likewise.
63555         * modules/unistd (Depends-on): Likewise.
63556         * modules/wchar (Depends-on): Likewise.
63557         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
63558         * lib/stdlib.in.h (includes): Likewise.
63559         * lib/string.in.h (includes): Likewise.
63560         * lib/time.in.h (includes): Likewise.
63561         * lib/unistd.in.h (includes): Likewise.
63562         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
63563         replaced.
63564         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
63565         * m4/stddef_h.m4: New file.
63566         * modules/stddef: Likewise.
63567         * lib/stddef.in.h: Likewise.
63568         * modules/stddef-tests: Likewise.
63569         * tests/test-stddef.c: Likewise.
63570         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
63571         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
63572         * doc/posix-headers/locale.texi (locale.h): Likewise.
63573         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
63574         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
63575         * doc/posix-headers/string.texi (string.h): Likewise.
63576         * doc/posix-headers/time.texi (time.h): Likewise.
63577         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
63578         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
63580 2009-08-14  Eric Blake  <ebb9@byu.net>
63582         doc: improve git diff of texinfo files
63583         * .gitattributes: Add rule for *.texi files, with hint on how to
63584         use it.
63585         Copied from m4, and based on a report by Bruno Haible.
63587 2009-08-14  Bruno Haible  <bruno@clisp.org>
63589         Disable multithread support by default on Cygwin 1.5.x for real.
63590         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
63592 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
63594         update-copyright: much ado about intervals
63595         * build-aux/update-copyright: Implement and document
63596         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
63597         of copyright year intervals.
63598         Also, document UPDATE_COPYRIGHT_YEAR.
63599         * tests/test-update-copyright.sh: Test it.
63601         update-copyright: convert 2-digit to 4-digit years
63602         * build-aux/update-copyright: Implement and document.
63603         * tests/test-update-copyright.sh: Update.
63605 2009-08-14  Jim Meyering  <meyering@redhat.com>
63607         test-exclude: avoid coreutils "make check" failure
63608         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
63609         just as in test-argmatch.c.
63611 2009-08-13  Eric Blake  <ebb9@byu.net>
63613         test-dup2: fix bad assumption
63614         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
63615         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
63617         test-version-etc: fix CRLF portability issue
63618         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
63619         recognize \r.
63620         * tests/test-argp-version-etc-1.sh: Likewise.
63622         getopt: update client modules
63623         * modules/argp (Depends-on): Use getopt-gnu.
63624         * modules/git-merge-changelog (Depends-on): Likewise.
63625         * modules/long-options (Depends-on): Likewise.
63626         * modules/xstrtol (Depends-on): Likewise.
63628 2009-08-13  Simon Josefsson  <simon@josefsson.org>
63630         * tests/test-version-etc.sh: Don't fail on different
63631         project/version.  Don't fail on CRLF differences.  Rewrite to use
63632         multiple -e instead of multiple sed forks, suggested by Eric Blake
63633         <ebb9@byu.net>.
63634         * tests/test-argp-version-etc-1.sh: Likewise.
63636 2009-08-13  Simon Josefsson  <simon@josefsson.org>
63638         * tests/test-version-etc.sh: Don't fail on different
63639         project/version.
63641 2009-08-12  Bruno Haible  <bruno@clisp.org>
63643         Tests for modules 'getopt-posix', 'getopt-gnu'.
63644         * modules/getopt-posix-tests: New file.
63645         * tests/test-getopt.c: New file.
63646         * tests/test-getopt.h: New file.
63647         * tests/test-getopt_long.h: New file.
63649         New modules 'getopt-posix', 'getopt-gnu'.
63650         * modules/getopt-gnu: New file, renamed from modules/getopt.
63651         * modules/getopt-posix: New file.
63652         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
63653         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
63654         (gl_GETOPT): Remove macro.
63655         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
63656         Disable the test against BSD systems that declare optreset. Test
63657         against mingw bug. Test against lack of support of optional arguments
63658         on many platforms.
63659         * doc/glibc-headers/getopt.texi: Update module name and list of
63660         relevant platforms.
63661         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
63662         'getopt-gnu' and more portability problems.
63663         * NEWS: Mention the changes.
63665 2009-08-12  Bruno Haible  <bruno@clisp.org>
63667         Ensure that optarg etc. get declared by <unistd.h>.
63668         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
63669         AC_USE_SYSTEM_EXTENSIONS.
63670         * modules/getopt (Depends-on): Add 'extensions'.
63672 2009-08-12  Bruno Haible  <bruno@clisp.org>
63674         Avoid test link errors.
63675         * modules/pipe-filter-ii-tests (Makefile.am): Define
63676         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
63677         * modules/pipe-filter-gi-tests (Makefile.am): Define
63678         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
63679         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
63681 2009-08-12  Bruno Haible  <bruno@clisp.org>
63683         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
63684         gl_GETOPT_SUBSTITUTE before.
63685         (gl_GETOPT): Use it.
63686         * m4/argp.m4 (gl_ARGP): Update.
63687         Reported by Sergey Poznyakoff.
63689         * m4/getopt.m4: Reorder macros.
63690         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
63691         (gl_GETOPT_SUBSTITUTE): Remove macro.
63693 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63695         Minor improvement in gitlog-to-changelog
63697         * build-aux/gitlog-to-changelog: New option `--format' makes
63698         output format string configurable.
63700 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63702         Optimize exclude: use hash tables for non-wildcard patterns.
63704         * lib/exclude.c: Include hash.h and mbuiter.h
63705         (struct exclude_pattern, exclude_segment): New data types.
63706         (struct exclude): Rewrite.
63707         (fnmatch_pattern_has_wildcards): New function.
63708         (new_exclude_segment, free_exclude_segment): New functions.
63709         (excluded_file_pattern_p, excluded_file_name_p): New functions.
63710         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
63711         * lib/exclude.h (is_fnmatch_pattern): New prototype.
63712         * modules/exclude: Depend on hash and mbuiter.
63714         * modules/exclude-tests: New file.
63715         * tests/test-exclude.c: New file.
63716         * tests/test-exclude1.sh: New file.
63717         * tests/test-exclude2.sh: New file.
63718         * tests/test-exclude3.sh: New file.
63719         * tests/test-exclude4.sh: New file.
63720         * tests/test-exclude5.sh: New file.
63721         * tests/test-exclude6.sh: New file.
63722         * tests/test-exclude7.sh: New file.
63724 2009-08-12  Bruno Haible  <bruno@clisp.org>
63726         Ensure that getopt() gets declared by <unistd.h>.
63727         * lib/unistd.in.h: Conditionally include getopt.h.
63728         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
63729         Set GNULIB_UNISTD_H_GETOPT.
63730         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63731         GNULIB_UNISTD_H_GETOPT.
63732         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
63734 2009-08-12  Bruno Haible  <bruno@clisp.org>
63736         Clarify logic.
63737         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
63738         gl_replace_getopt instead of GETOPT_H.
63740 2009-08-12  Bruno Haible  <bruno@clisp.org>
63742         * m4/getopt.m4: Add comments.
63744 2009-08-12  Bruno Haible  <bruno@clisp.org>
63746         Disable multithread support by default on Cygwin 1.5.x.
63747         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
63748         set gl_use_threads=no if not specified otherwise.
63750 2009-08-11  Bruno Haible  <bruno@clisp.org>
63752         Avoid compilation error on NetBSD 5.0.
63753         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
63754         * tests/test-stdio.c: Likewise.
63755         * tests/test-stdlib.c: Likewise.
63756         * tests/test-string.c: Likewise.
63757         * tests/test-unistd.c: Likewise.
63758         Reported by Greg Troxel <gdt@ir.bbn.com>
63759         at <https://savannah.gnu.org/support/?106973>.
63761 2009-08-11  Bruno Haible  <bruno@clisp.org>
63763         * modules/dup2-tests (Depends-on): Remove close.
63765         Undo 2009-07-19 commit.
63766         * modules/acl-tests (Depends-on): Remove close.
63767         * modules/binary-io-tests (Depends-on): Likewise.
63768         * modules/closein-tests (Depends-on): Likewise.
63769         * modules/flock-tests (Depends-on): Likewise.
63770         * modules/fsync-tests (Depends-on): Likewise.
63771         * modules/lseek-tests (Depends-on): Likewise.
63772         * modules/pipe-tests (Depends-on): Likewise.
63773         * modules/posix_spawn-tests (Depends-on): Likewise.
63774         * modules/posix_spawnp-tests (Depends-on): Likewise.
63775         * modules/stat-time-tests (Depends-on): Likewise.
63776         * modules/yesno-tests (Depends-on): Likewise.
63778 2009-08-10  Bruno Haible  <bruno@clisp.org>
63780         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
63782 2009-08-10  Bruno Haible  <bruno@clisp.org>
63784         Fix a gcc warning.
63785         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
63787 2009-08-10  Bruno Haible  <bruno@clisp.org>
63789         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
63790         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
63791         not only the first time.
63792         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
63793         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
63794         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
63795         is 1, not only the first time.
63797 2009-08-10  Bruno Haible  <bruno@clisp.org>
63799         Make it possible to use module 'gethostname' without module 'close'.
63800         * lib/unistd.in.h (close): Evoke a link error only if
63801         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
63802         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63803         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
63804         * modules/unistd (Makefile.am): Substitute
63805         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
63806         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
63807         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
63808         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
63809         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
63810         * modules/sys_ioctl (Makefile.am): Substitute
63811         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
63812         * modules/socket (configure.ac): On native Windows, set
63813         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
63814         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
63815         Reported by Sam Steingold <sds@gnu.org>.
63817 2009-08-10  Bruno Haible  <bruno@clisp.org>
63819         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
63820         * modules/ioctl (configure.ac): Likewise.
63822 2009-08-10  Bruno Haible  <bruno@clisp.org>
63824         Avoid collision between gnulib wrapper and libintl wrapper.
63825         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
63826         already defined in intl/printf.c.
63827         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
63828         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
63830 2009-08-09  Bruno Haible  <bruno@clisp.org>
63832         Make <sys/select.h> really self-contained, also on Solaris 10.
63833         * lib/sys_select.in.h: Include <string.h>.
63834         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
63835         Solaris 10 problem.
63836         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
63837         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
63838         Reported by Jim Meyering.
63840 2009-08-09  Bruno Haible  <bruno@clisp.org>
63842         Avoid warnings from 'aclocal' that are due to a use of macro name
63843         AM_XGETTEXT_OPTION that is not defined in automake.
63844         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
63845         automake.
63846         * modules/error (configure.ac): Likewise.
63847         * modules/propername (configure.ac): Likewise.
63848         * modules/vasprintf (configure.ac): Likewise.
63849         * modules/verror (configure.ac): Likewise.
63850         * modules/xprintf (configure.ac): Likewise.
63851         * modules/xvasprintf (configure.ac): Likewise.
63853 2009-08-08  Bruno Haible  <bruno@clisp.org>
63855         Avoid compilation error in C++ mode.
63856         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
63857         Reported by Sam Steingold <sds@gnu.org>.
63859 2009-08-08  Bruno Haible  <bruno@clisp.org>
63861         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
63862         for the various Unix platforms.
63863         * doc/posix-headers/limits.texi: Update platforms list regarding
63864         HOST_NAME_MAX.
63865         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
63867 2009-08-07  Jim Meyering  <meyering@redhat.com>
63869         selinux-at: fix typo in a comment
63870         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
63871         Spotted by Paolo Bonzini.
63873         selinux-at: remove redundant m4 code, add documentation
63874         * modules/selinux-at (configure.ac): Remove redundant code.
63875         LIB_SELINUX is already set via the dependent module, selinux-h.
63876         (Include): Add quotes around selinux-at.h.
63877         * lib/selinux-at.h: Add documentation.
63878         Reported by Bruno Haible in
63879         http://marc.info/?l=gnulib-bug&m=124958988300749
63881 2009-08-07  Bruno Haible  <bruno@clisp.org>
63883         Avoid link error on MacOS X 10.3 and 10.4.
63884         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
63885         on non-ELF systems.
63886         * lib/argp-pv.c (argp_program_version): Likewise.
63887         Reported by Simon Josefsson.
63889 2009-08-07  Simon Josefsson  <simon@josefsson.org>
63891         * tests/test-version-etc.sh: Use $EXEEXT.
63893 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
63895         update-copyright: update documentation to point to maint.mk
63896         * build-aux/update-copyright: Here.
63898 2009-08-06  Jim Meyering  <meyering@redhat.com>
63900         maint.mk: support update-copyright-local
63901         * top/maint.mk (update-copyright-local): Define place-holder.
63902         (update-copyright): Depend on $(update-copyright-local).
63904 2009-08-06  Jim Meyering  <meyering@redhat.com>
63906         selinux-at: new module
63907         Initially written for coreutils, this module will soon be
63908         used by findutils, too.
63909         * MODULES.html.sh [Misc]: Add selinux-at.
63910         * lib/selinux-at.h: New file, from coreutils.
63911         * lib/selinux-at.c: Likewise.
63912         * modules/selinux-at: Likewise.
63913         (License): Change from LGPL to GPL, since it depends
63914         on the GPL'd openat module.
63916         doc: update README
63917         * README: Remove references to cogito.
63918         Remove cvs-repo-updating instructions from 2007.
63919         Don't imply that CVS is better if you have limited disk space.
63921 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
63923         update-copyright: support C-style comments
63924         * build-aux/update-copyright: Implement and document.
63925         * tests/test-update-copyright.sh: Test.
63927 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
63929         update-copyright: support omitted "(C)"
63930         * build-aux/update-copyright: Implement and document.  Also,
63931         allow variable whitespace before "(C)".
63932         * tests/test-update-copyright.sh: Test.
63934 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
63936         update-copyright: don't trip on non-FSF copyright statements
63937         * build-aux/update-copyright: Fix so that the first correctly
63938         formatted FSF copyright statement is recognized no matter what
63939         appears before it.  Update documentation.
63940         * tests/test-update-copyright.sh: Test that.
63942 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
63944         update-copyright: clean up code a little
63945         * build-aux/update-copyright: Append "_re" to the name of any
63946         variable holding a regular expression.
63947         Replace "old" and "new" with "stmt" in variable names.
63948         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
63949         handled correctly.
63950         Format code more consistently.
63952 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
63954         update-copyright-tests: improve portability
63955         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
63956         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
63958 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
63960         update-copyright: support @copyright{} and &copy;
63961         * build-aux/update-copyright: Implement and document.
63962         * tests/test-update-copyright.sh: Test.
63964 2009-08-04  Jim Meyering  <meyering@redhat.com>
63966         update-copyright-tests: correctly test EOL=\r\n handling
63967         * tests/test-update-copyright.sh: Put \r at the end of some lines
63968         for the dos-eol tests.  Based on a patch by Joel E. Denny.
63970         maint.mk: make update-copyright exclusion list more configurable
63971         * top/maint.mk (update-copyright): Default to excluding COPYING,
63972         but allow an override, in case someone does want to update that file.
63974         maint.mk: don't update copyright date in COPYING
63975         * top/maint.mk (update-copyright): Exclude COPYING.
63977         maint.mk: add a copyright-updating rule
63978         * top/maint.mk (update-copyright): New rule.
63979         Derived from coreutils/Makefile.am.
63981         update-copyright: rename some variables
63982         * build-aux/update-copyright: Rename a few variables for clarity.
63983         Tweak syntax.  List Joel E. Denny as coauthor.
63985 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
63987         update-copyright: fix bug for 2-digit last year and add tests
63988         * build-aux/update-copyright: Fix bug.
63989         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
63990         specified.
63991         * modules/update-copyright-tests: New
63992         * tests/test-update-copyright.sh: New.
63994 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
63996         update-copyright: handle leading tabs in line prefix
63997         * build-aux/update-copyright: Count leading tabs as 8 spaces
63998         when computing margin.  This helps with the formatting of
63999         ChangeLogs, for example.
64000         Fix documentation a little.
64002 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
64004         update-copyright: support EOL=\r\n
64005         * build-aux/update-copyright: Implement that.
64007 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
64009         update-copyright: automatically format copyright statements
64010         * build-aux/update-copyright: Implement that.
64011         Also, be a little more predictable and safer by always failing
64012         when the full copyright format is not perfectly recognized as an
64013         unbroken whole.  Discussed at
64014         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
64015         Rewrite documentation.
64017 2009-08-03  Bruno Haible  <bruno@clisp.org>
64019         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
64021 2009-08-02  Bruno Haible  <bruno@clisp.org>
64023         Tests for module 'uname'.
64024         * modules/uname-tests: New file.
64025         * tests/test-uname.c: New file.
64027         New module 'uname'.
64028         * lib/uname.c: New file.
64029         * m4/uname.m4: New file.
64030         * modules/uname: New file.
64031         * doc/posix-functions/uname.texi: Mention the new module.
64033 2009-08-02  Bruno Haible  <bruno@clisp.org>
64035         Tests for module 'sys_utsname'.
64036         * modules/sys_utsname-tests: New file.
64037         * tests/test-sys_utsname.c: New file.
64039         New module 'sys_utsname'.
64040         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
64041         * m4/sys_utsname_h.m4: New file.
64042         * modules/sys_utsname: New file.
64043         * doc/posix-headers/sys_utsname.texi: Mention the new module.
64045 2009-08-02  Bruno Haible  <bruno@clisp.org>
64047         Implicitly initialize the sockets library.
64048         * lib/gethostname.c: Include sockets.h.
64049         (rpl_gethostname): Invoke gl_sockets_startup.
64050         * lib/socket.c: Include sockets.h.
64051         (rpl_socket): Invoke gl_sockets_startup.
64052         * modules/gethostname (Depends-on): Add sockets.
64053         * modules/socket (Depends-on): Likewise.
64054         * tests/test-poll.c: Don't include sockets.h.
64055         (main): Don't invoke gl_sockets_startup.
64056         * tests/test-select.c: Don't include sockets.h.
64057         (main): Don't invoke gl_sockets_startup.
64059 2009-08-02  Bruno Haible  <bruno@clisp.org>
64061         Allow multiple calls to gl_sockets_startup.
64062         * lib/sockets.c (initialized_sockets_version): New variable.
64063         (gl_sockets_startup): Do nothing if already called for this or a higher
64064         version.
64065         (gl_sockets_cleanup): Reset initialized_sockets_version.
64067 2009-08-03  Simon Josefsson  <simon@josefsson.org>
64069         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
64070         different project/version.
64072 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
64073             Bruno Haible  <bruno@clisp.org>
64075         Tests for module 'pipe-filter-gi'.
64076         * modules/pipe-filter-gi-tests: New file.
64077         * tests/test-pipe-filter-gi1.sh: New file.
64078         * tests/test-pipe-filter-gi1.c: New file.
64079         * tests/test-pipe-filter-gi2.sh: New file.
64080         * tests/test-pipe-filter-gi2-main.c: New file.
64081         * tests/test-pipe-filter-gi2-child.c: New file.
64083         New module 'pipe-filter-gi'.
64084         * lib/pipe-filter-gi.c: New file.
64085         * modules/pipe-filter-gi: New file.
64087 2009-08-02  Bruno Haible  <bruno@clisp.org>
64088             Paolo Bonzini  <bonzini@gnu.org>
64090         Tests for module 'pipe-filter-ii'.
64091         * modules/pipe-filter-ii-tests: New file.
64092         * tests/test-pipe-filter-ii1.sh: New file.
64093         * tests/test-pipe-filter-ii1.c: New file.
64094         * tests/test-pipe-filter-ii2.sh: New file.
64095         * tests/test-pipe-filter-ii2-main.c: New file.
64096         * tests/test-pipe-filter-ii2-child.c: New file.
64098         New module 'pipe-filter-ii'.
64099         * lib/pipe-filter.h: New file.
64100         * lib/pipe-filter-ii.c: New file.
64101         * lib/pipe-filter-aux.h: New file.
64102         * modules/pipe-filter-ii: New file.
64104 2009-08-02  Simon Josefsson  <simon@josefsson.org>
64106         * lib/gc-libgcrypt.c: Change copyright to FSF.
64107         * lib/gc-gnulib.c: Likewise.
64109 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
64111         * lib/gethostname.c: Include limits.h.
64113 2009-08-02  Simon Josefsson  <simon@josefsson.org>
64114             Bruno Haible  <bruno@clisp.org>
64116         Ensure HOST_NAME_MAX as part of the gethostname module.
64117         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
64118         define also HOST_NAME_MAX.
64119         * tests/test-gethostname.c: Include <limits.h>.
64120         (main): Check also HOST_NAME_MAX.
64121         * doc/posix-headers/limits.texi: Document the mingw problem.
64123 2009-08-02  Bruno Haible  <bruno@clisp.org>
64125         * lib/gethostname.c (gethostname): Fix handling of large len argument.
64126         Add comments.
64128 2009-03-31  Simon Josefsson  <simon@josefsson.org>
64130         * lib/gethostname.c: Add Windows wrapper.
64131         * m4/gethostname.m4: Look for gethostname in -lws2_32.
64132         * modules/gethostname: Depend on sys_socket & errno, for also
64133         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
64134         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
64136 2009-07-31  Jim Meyering  <meyering@redhat.com>
64138         getloadavg: fix symbol name in comment
64139         * lib/getloadavg.c: Correct a typo I introduced when adding
64140         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
64141         Matt Kraai spotted the problem.
64143 2009-07-29  Matt Kraai  <mkraai@beckman.com>
64145         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
64146         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
64147         code also if ! defined N_NAME_POINTER.
64148         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
64149         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
64150         but the n_name member is a 12-byte array.
64152 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
64154         update-copyright: generalize comment handling
64155         * build-aux/update-copyright: Handle copyright statements
64156         within more comment styles.
64157         Document usage.
64158         Report any file with an external copyright holder or parse failure.
64160 2009-07-29  Jim Meyering  <meyering@redhat.com>
64162         mktime: correct setting of REPLACE_MKTIME
64163         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
64165         update-copyright: new module
64166         * modules/update-copyright: New file.
64167         * build-aux/update-copyright: New file.
64168         * MODULES.html.sh (maint+release support): Add update-copyright.
64170 2009-07-27  Bruno Haible  <bruno@clisp.org>
64172         Fix compilation error when <ctime> is used and mktime is replaced.
64173         * lib/time.in.h (mktime): New declaration.
64174         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
64175         REPLACE_MKTIME instead of defining mktime in config.h.
64176         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
64177         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
64178         Reported by Ross McFarland <rwmcfa1@neces.com>.
64180 2009-07-27  Bruno Haible  <bruno@clisp.org>
64182         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
64183         Reported by Matt Kraai <mkraai@beckman.com>.
64185 2009-07-25  Jim Meyering  <meyering@redhat.com>
64187         maint.mk: avoid warnings about missing files
64188         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
64189         diagnostic when .prev-version does not exist.
64190         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
64191         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
64192         nonexistent cfg.mk.
64193         Suggestions from Simon Josefsson.
64195 2009-07-25  Bruno Haible  <bruno@clisp.org>
64197         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
64198         defined as macros. Needed on QNX 6.4.1.
64199         Reported by Matt Kraai <mkraai@beckman.com>.
64201 2009-07-23  Jim Meyering  <meyering@redhat.com>
64203         maint.mk: invoke "make dist" with a working value of XZ_OPT
64204         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
64206 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
64208         Make fseeko.c compile on QNX.
64209         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
64211 2009-07-22  Peter Simons  <simons@cryp.to>
64213         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
64214         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
64215         * lib/md4.h: Likewise.
64216         * lib/md5.h: Likewise.
64217         * lib/sha1.h: Likewise.
64218         * lib/sha256.h: Likewise.
64219         * lib/sha512.h: Likewise.
64221         tests-sha1: don't assign literal string to 'char *' variable
64222         * tests/test-sha1.c (main): Declare locals with "const" to match
64223         attributes of the right hand side.
64225 2009-07-21  Eric Blake  <ebb9@byu.net>
64227         dup2: fix more mingw problems
64228         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
64229         fd to itself.
64230         * doc/posix-functions/dup2.texi (dup2): Document the bug.
64231         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
64232         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
64233         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
64234         care of mingw bugs.
64236 2009-07-21  Jim Meyering  <meyering@redhat.com>
64238         vc-list-files: avoid failure when /bin/sh is dash
64239         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
64240         On some Debian based systems, /bin/sh is a symlink to dash, and running
64241         this command would omit the "/" following each 'tests' prefix:
64242           dash -x build-aux/vc-list-files -C . tests
64243         That is because bash and dash work differently:
64244           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
64245           bash ok
64246           dash odd
64248 2009-07-21  Eric Blake  <ebb9@byu.net>
64250         dup2-tests: test previous patch
64251         * modules/dup2-tests: New file.
64252         * tests/test-dup2.c: Likewise.
64253         * tests/test-open.c (main): Avoid unspecified behavior.
64254         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
64255         test.
64257         dup2: work around mingw and cygwin 1.5 bug
64258         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
64259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
64260         * modules/unistd (Makefile.am): Substitute it.
64261         * lib/unistd.in.h (dup2): Declare the replacement.
64262         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
64263         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
64264         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
64265         * modules/execute (Depends-on): Add dup2.
64266         * modules/fseterr (Depends-on): Likewise.
64267         * modules/pipe (Depends-on): Likewise.
64268         * modules/posix_spawn-internal (Depends-on): Likewise.
64270 2009-07-21  Bruno Haible  <bruno@clisp.org>
64272         * modules/.gitattributes: New file.
64274 2009-07-20  Bruno Haible  <bruno@clisp.org>
64276         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
64277         (main): Use it.
64279 2009-07-20  Eric Blake  <ebb9@byu.net>
64281         test-pipe: make a bit more robust.
64282         * tests/test-pipe.c (myerr): Allow error messages regardless of
64283         what we do to stderr.
64284         (test_pipe): Rearrange to avoid deadlock.
64285         (child_main): Try a larger read, to ensure we avoided deadlock.
64286         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
64287         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
64288         if misused.
64290 2009-07-19  Jim Meyering  <meyering@redhat.com>
64292         fts: avoid false-positive cycle-detection
64293         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
64294         for each new command line argument.
64296 2009-07-19  Bruno Haible  <bruno@clisp.org>
64298         Fix build error on mingw with the modules sys_select and unistd.
64299         * modules/acl-tests (Depends-on): Add close.
64300         * modules/binary-io-tests (Depends-on): Likewise.
64301         * modules/closein-tests (Depends-on): Likewise.
64302         * modules/flock-tests (Depends-on): Likewise.
64303         * modules/fsync-tests (Depends-on): Likewise.
64304         * modules/lseek-tests (Depends-on): Likewise.
64305         * modules/pipe-tests (Depends-on): Likewise.
64306         * modules/posix_spawn-tests (Depends-on): Likewise.
64307         * modules/posix_spawnp-tests (Depends-on): Likewise.
64308         * modules/stat-time-tests (Depends-on): Likewise.
64309         * modules/yesno-tests (Depends-on): Likewise.
64311 2009-07-19  Bruno Haible  <bruno@clisp.org>
64313         Unify conditionals.
64314         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
64315         macros, not at the compiler macros.
64316         * lib/pipe.c: Likewise.
64317         * lib/execute.c: Likewise.
64318         * lib/spawni.c: Likewise.
64320 2009-07-19  Bruno Haible  <bruno@clisp.org>
64322         Fix handling of closed stdin/stdout/stderr on mingw.
64323         * lib/w32spawn.h: Include unistd.h.
64324         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
64325         file descriptor with O_NOINHERIT flag.
64326         (fd_safer_noinherit): New function, based on fd-safer.c.
64327         (dup_safer_noinherit): New function, based on dup-safer.c.
64328         (undup_safer_noinherit): New function.
64329         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
64330         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
64331         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
64332         instead of fd_safer.
64333         * tests/test-pipe.c: Include <windows.h>.
64334         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
64335         result.
64337         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
64338         from main.
64339         (test_pipe): Pass an extra argument for disambiguation.
64340         (main): Invoke parent_main or child_main.
64342         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
64343         consistently.
64345 2009-07-18  Eric Blake  <ebb9@byu.net>
64347         test-pipe: fix mingw build
64348         * tests/test-pipe.c (main): Avoid fcntl on mingw.
64350 2009-07-18  Bruno Haible  <bruno@clisp.org>
64352         * modules/pipe-tests (Makefile.am): Fix typo.
64354 2009-07-18  Eric Blake  <ebb9@byu.net>
64356         error: fix mingw build
64357         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
64358         Reported by Bruno Haible.
64360         error: avoid undefined use of stdout
64361         * lib/error.c (error, error_at_line): Check that fd 1 is open
64362         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
64363         is handling faults and the close_stdout module wants to report the
64364         detection of closed stdout as an error.
64366 2009-07-17  Eric Blake  <ebb9@byu.net>
64368         pipe: be robust in face of closed fds
64369         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
64370         should cause child to misbehave.
64371         * modules/pipe-tests: New module.
64372         * tests/test-pipe.c: New file.
64373         * tests/test-pipe.sh: New file.
64374         Reported by Akim Demaille.
64376 2009-07-14  Bruno Haible  <bruno@clisp.org>
64378         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
64379         Reported by anonymous kc.
64381 2009-07-07  Jim Meyering  <meyering@redhat.com>
64383         maint.mk: don't look for translatable strings in *.m4 or *.mk
64384         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
64385         when searching for translatable strings.
64387 2009-07-05  Jim Meyering  <meyering@redhat.com>
64389         remove superfluous parentheses in STREQ definition
64390         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
64391         * lib/getugroups.c (STREQ): Likewise.
64392         * lib/fnmatch.c (STREQ): Likewise.
64393         Spotted by Bruno Haible.
64395 2009-07-04  Jim Meyering  <meyering@redhat.com>
64397         argv-iter: new module
64398         * MODULES.html.sh: Add argv-iter.
64399         * lib/argv-iter.c, lib/argv-iter.h: New files.
64400         * modules/argv-iter: New file.
64401         * modules/argv-iter-tests: New file.
64402         * tests/test-argv-iter.c: Test it.
64404 2009-07-04  Bruno Haible  <bruno@clisp.org>
64406         Fix assertion.
64407         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
64408         contains more exact copies of a given entry than file2, leave the extra
64409         copies unpaired rather than aborting.
64410         Reported by Eric Blake.
64412 2009-07-02  Bruno Haible  <bruno@clisp.org>
64414         Speedup git-merge-changelog for git cherry-pick.
64415         * lib/git-merge-changelog.c (struct entries_mapping): New type.
64416         (entries_mapping_get): New function, extracted from compute_mapping.
64417         (entries_mapping_reverse_get): New function.
64418         (compute_mapping): Add a 'full' argument. Return the result in a
64419         'struct entries_mapping'.
64420         (main): Update. Access the mappings through entries_mapping_get.
64421         Reported by Eric Blake.
64423 2009-07-02  Bruno Haible  <bruno@clisp.org>
64425         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
64426         best_i.
64428 2009-07-02  Bruno Haible  <bruno@clisp.org>
64430         Speed up approximate search for matching ChangeLog entries.
64431         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
64432         argument. Call fstrcmp_bounded instead of fstrcmp.
64433         (compute_mapping, try_split_merged_entry, main): Update callers.
64435 2009-07-02  Bruno Haible  <bruno@clisp.org>
64437         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
64439 2009-06-30  Bruno Haible  <bruno@clisp.org>
64441         Reduce the number of uc_is_cased calls.
64442         * lib/unicase.h (casing_suffix_context_t): Add
64443         'first_char_except_ignorable' field.
64444         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
64445         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
64446         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
64447         Update initializer.
64448         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
64449         case-ignorable characters.
64450         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
64451         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
64452         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
64453         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
64454         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
64456 2009-06-30  Bruno Haible  <bruno@clisp.org>
64458         Tests for module 'unicase/ignorable'.
64459         * modules/unicase/ignorable-tests: New file.
64460         * tests/unicase/test-ignorable.c: New file, generated by
64461         gen-uni-tables.
64463         Tests for module 'unicase/cased'.
64464         * modules/unicase/cased-tests: New file.
64465         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
64466         * tests/unicase/test-predicate-part1.h: New file, derived from
64467         tests/unictype/test-predicate-part1.h.
64468         * tests/unicase/test-predicate-part2.h: New file, same as
64469         tests/unictype/test-predicate-part2.h.
64471         Fix evaluation of "Before C" condition of FINAL_SIGMA.
64472         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
64473         (output_casing_properties): New function.
64474         (main): Call it.
64475         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
64476         * lib/unicase/cased.c: Include unictype/bitmap.h.
64477         (uc_is_cased): Define through a bitmap lookup.
64478         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
64479         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
64480         (uc_is_case_ignorable): Define through a bitmap lookup.
64481         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
64482         lib/unictype/bitmap.h.
64483         (Depends-on): Add inline. Clean up.
64484         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
64485         lib/unictype/bitmap.h.
64486         (Depends-on): Add inline. Clean up.
64487         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
64488         recognition.
64489         * tests/unicase/test-u16-tolower.c (main): Likewise.
64490         * tests/unicase/test-u32-tolower.c (main): Likewise.
64492 2009-06-30  Bruno Haible  <bruno@clisp.org>
64494         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
64495         * lib/unicase/u16-casemap.c: Likewise.
64496         * lib/unicase/u32-casemap.c: Likewise.
64498 2009-06-29  Bruno Haible  <bruno@clisp.org>
64500         Define u32_casefold as a wrapper around u32_ct_casefold.
64501         * lib/unicase/u32-casefold.c: Update.
64502         * modules/unicase/u32-casefold (Depends-on): Add
64503         unicase/u32-ct-casefold, unicase/empty-prefix-context,
64504         unicase/empty-suffix-context. Clean up.
64506         Define u16_casefold as a wrapper around u16_ct_casefold.
64507         * lib/unicase/u16-casefold.c: Update.
64508         * modules/unicase/u16-casefold (Depends-on): Add
64509         unicase/u16-ct-casefold, unicase/empty-prefix-context,
64510         unicase/empty-suffix-context. Clean up.
64512         Define u8_casefold as a wrapper around u8_ct_casefold.
64513         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
64514         * lib/unicase/u8-casefold.c: Update.
64515         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
64516         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
64518         Define u32_totitle as a wrapper around u32_ct_totitle.
64519         * lib/unicase/u32-totitle.c: Update.
64520         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
64521         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
64523         Define u16_totitle as a wrapper around u16_ct_totitle.
64524         * lib/unicase/u16-totitle.c: Update.
64525         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
64526         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
64528         Define u8_totitle as a wrapper around u8_ct_totitle.
64529         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
64530         functions.
64531         (FUNC): Delegate to U_CT_TOTITLE.
64532         * lib/unicase/u8-totitle.c: Update.
64533         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
64534         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
64536         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
64537         invocation.
64538         * modules/unicase/u32-tolower (Depends-on): Add
64539         unicase/empty-prefix-context, unicase/empty-suffix-context.
64541         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
64542         invocation.
64543         * modules/unicase/u16-tolower (Depends-on): Add
64544         unicase/empty-prefix-context, unicase/empty-suffix-context.
64546         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
64547         * modules/unicase/u8-tolower (Depends-on): Add
64548         unicase/empty-prefix-context, unicase/empty-suffix-context.
64550         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
64551         invocation.
64552         * modules/unicase/u32-toupper (Depends-on): Add
64553         unicase/empty-prefix-context, unicase/empty-suffix-context.
64555         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
64556         invocation.
64557         * modules/unicase/u16-toupper (Depends-on): Add
64558         unicase/empty-prefix-context, unicase/empty-suffix-context.
64560         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
64561         * modules/unicase/u8-toupper (Depends-on): Add
64562         unicase/empty-prefix-context, unicase/empty-suffix-context.
64564         New module 'unicase/u32-ct-casefold'.
64565         * lib/unicase/u32-ct-casefold.c: New file.
64566         * modules/unicase/u32-ct-casefold: New file.
64568         New module 'unicase/u16-ct-casefold'.
64569         * lib/unicase/u16-ct-casefold.c: New file.
64570         * modules/unicase/u16-ct-casefold: New file.
64572         New module 'unicase/u8-ct-casefold'.
64573         * lib/unicase/u8-ct-casefold.c: New file.
64574         * lib/unicase/u-ct-casefold.h: New file, derived from
64575         lib/unicase/u-casefold.h.
64576         * modules/unicase/u8-ct-casefold: New file.
64578         New module 'unicase/u32-ct-totitle'.
64579         * lib/unicase/u32-ct-totitle.c: New file.
64580         * modules/unicase/u32-ct-totitle: New file.
64582         New module 'unicase/u16-ct-totitle'.
64583         * lib/unicase/u16-ct-totitle.c: New file.
64584         * modules/unicase/u16-ct-totitle: New file.
64586         New module 'unicase/u8-ct-totitle'.
64587         * lib/unicase/u8-ct-totitle.c: New file.
64588         * lib/unicase/u-ct-totitle.h: New file, derived from
64589         lib/unicase/u-totitle.h.
64590         * modules/unicase/u8-ct-totitle: New file.
64592         New module 'unicase/u32-ct-tolower'.
64593         * lib/unicase/u32-ct-tolower.c: New file.
64594         * modules/unicase/u32-ct-tolower: New file.
64596         New module 'unicase/u16-ct-tolower'.
64597         * lib/unicase/u16-ct-tolower.c: New file.
64598         * modules/unicase/u16-ct-tolower: New file.
64600         New module 'unicase/u8-ct-tolower'.
64601         * lib/unicase/u8-ct-tolower.c: New file.
64602         * modules/unicase/u8-ct-tolower: New file.
64604         New module 'unicase/u32-ct-toupper'.
64605         * lib/unicase/u32-ct-toupper.c: New file.
64606         * modules/unicase/u32-ct-toupper: New file.
64608         New module 'unicase/u16-ct-toupper'.
64609         * lib/unicase/u16-ct-toupper.c: New file.
64610         * modules/unicase/u16-ct-toupper: New file.
64612         New module 'unicase/u8-ct-toupper'.
64613         * lib/unicase/u8-ct-toupper.c: New file.
64614         * modules/unicase/u8-ct-toupper: New file.
64616         Add context arguments to u*_casemap functions.
64617         * lib/unicase/unicasemap.h: Include unicase.h.
64618         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
64619         suffix_context arguments.
64620         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
64621         functions.
64622         (FUNC): Add prefix_context and suffix_context arguments. Use
64623         uc_is_cased and uc_is_case_ignorable.
64624         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
64625         * lib/unicase/u16-casemap.c: Likewise.
64626         * lib/unicase/u32-casemap.c: Likewise.
64627         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
64628         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
64629         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
64630         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
64631         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
64632         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
64634         New module 'unicase/u32-suffix-context'.
64635         * lib/unicase/u32-suffix-context.c: New file.
64636         * modules/unicase/u32-suffix-context: New file.
64638         New module 'unicase/u16-suffix-context'.
64639         * lib/unicase/u16-suffix-context.c: New file.
64640         * modules/unicase/u16-suffix-context: New file.
64642         New module 'unicase/u8-suffix-context'.
64643         * lib/unicase/u8-suffix-context.c: New file.
64644         * lib/unicase/u-suffix-context.h: New file.
64645         * modules/unicase/u8-suffix-context: New file.
64647         New module 'unicase/empty-suffix-context'.
64648         * lib/unicase/empty-suffix-context.c: New file.
64649         * modules/unicase/empty-suffix-context: New file.
64651         New module 'unicase/u32-prefix-context'.
64652         * lib/unicase/u32-prefix-context.c: New file.
64653         * modules/unicase/u32-prefix-context: New file.
64655         New module 'unicase/u16-prefix-context'.
64656         * lib/unicase/u16-prefix-context.c: New file.
64657         * modules/unicase/u16-prefix-context: New file.
64659         New module 'unicase/u8-prefix-context'.
64660         * lib/unicase/u8-prefix-context.c: New file.
64661         * lib/unicase/u-prefix-context.h: New file.
64662         * lib/unicase/context.h: New file.
64663         * modules/unicase/u8-prefix-context: New file.
64665         New module 'unicase/empty-prefix-context'.
64666         * lib/unicase/empty-prefix-context.c: New file.
64667         * modules/unicase/empty-prefix-context: New file.
64669         New module 'unicase/ignorable'.
64670         * lib/unicase/ignorable.c: New file.
64671         * modules/unicase/ignorable: New file.
64673         New module 'unicase/cased'.
64674         * lib/unicase/caseprop.h: New file.
64675         * lib/unicase/cased.c: New file.
64676         * modules/unicase/cased: New file.
64678         New functions for case mapping of substrings.
64679         * lib/unicase.h (casing_prefix_context_t): New type.
64680         (unicase_empty_prefix_context): New variable.
64681         (u8_casing_prefix_context, u16_casing_prefix_context,
64682         u32_casing_prefix_context, u8_casing_prefixes_context,
64683         u16_casing_prefixes_context, u32_casing_prefixes_context): New
64684         declarations.
64685         (casing_suffix_context_t): New type.
64686         (unicase_empty_suffix_context): New variable.
64687         (u8_casing_suffix_context, u16_casing_suffix_context,
64688         u32_casing_suffix_context, u8_casing_suffixes_context,
64689         u16_casing_suffixes_context, u32_casing_suffixes_context,
64690         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
64691         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
64692         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
64693         declarations.
64695 2009-06-28  Jim Meyering  <meyering@redhat.com>
64697         boostrap: indent only with spaces
64698         * build-aux/bootstrap: Indent only with spaces, never TABs.
64700         bootstrap: split long lines
64701         * build-aux/bootstrap: Keep line length < 80.
64703         bootstrap: sync from coreutils
64704         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
64705         just as autoreconf does.  Verify a list of prerequisite
64706         package-name,version-number pairs if defined in bootstrap.conf.
64707         Refer to README-prereq, if prerequisites are not satisfied.
64709 2009-06-27  Eric Blake  <ebb9@byu.net>
64711         tests: add test for bogus NULL definition
64712         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
64713         * tests/test-stdlib.c: Likewise.
64714         * tests/test-string.c: Likewise.
64715         * tests/test-locale.c: Likewise.
64716         * tests/test-unistd.c: Likewise.
64717         * modules/stdio-tests (Depends-on): Add verify.
64718         * modules/stdlib-tests (Depends-on): Likewise.
64719         * modules/string-tests (Depends-on): Likewise.
64720         * modules/locale-tests (Depends-on): Likewise.
64721         * modules/unistd-tests (Depends-on): Likewise.
64723 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
64725         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
64726         self-explaining comment.
64727         * m4/selinux-selinux-h: Update serial.
64728         (gl_LIBSELINUX): New macro, adding a warning for missing development
64729         packages to code extracted from...
64730         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
64731         Add warning for missing development packages here, too.
64733 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
64735         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
64737 2009-06-25  Eric Blake  <ebb9@byu.net>
64739         version-etc: fix regression
64740         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
64741         gcc.
64742         (version_etc): Use it, to catch bugs with trailing NULL.
64743         * lib/version-etc.c (version_etc_arn): Delete unused argument.
64744         (version_etc_va): Fix logic bug.
64745         * modules/version-etc-tests: Add test.
64746         * tests/test-version-etc.c: New file.
64747         * tests/test-version-etc.sh: Likewise.
64749 2009-06-25  Sam Steingold  <sds@gnu.org>
64751         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
64752         mbtowc declaration.
64754 2009-06-25  Eric Blake  <ebb9@byu.net>
64756         fpurge: migrate into <stdio.h>
64757         * lib/fpurge.h: Delete...
64758         * lib/stdio.in.h (fpurge): ...and declare here, instead.
64759         * lib/fpurge.c (fpurge): Change declaring header.
64760         * modules/fpurge (Files): Drop deleted file.
64761         (Depends-on): Add stdio.
64762         (configure.ac): Set witness.
64763         * modules/stdio (Makefile.am): Support fpurge macros.
64764         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64765         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
64766         * lib/fflush.c: Update client.
64767         * tests/test-fpurge.c: Likewise.
64768         * NEWS: Mention the change.
64770 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
64772         * lib/argp-version-etc.c (program_authors): Add const
64773         qualifier.
64774         * lib/version-etc.c: Fix typos in the comments.
64775         * modules/argp-version-etc: Depends on version-etc.
64777 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
64779         argp-version-etc: new module.
64781         * lib/argp-version-etc.c: New file.
64782         * lib/argp-version-etc.h: New file.
64783         * modules/argp-version-etc: New file.
64784         * modules/argp-version-etc-tests: New file.
64785         * tests/test-argp-version-etc.c: New test.
64786         * tests/test-argp-version-etc-1.sh: New test.
64788 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
64790         Provide additional interfaces and documentation for version-etc
64791         module.
64793         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
64794         interfaces.
64795         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
64796         prototypes.
64798 2009-06-24  Bruno Haible  <bruno@clisp.org>
64800         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
64801         HAVE_LIB${NAME} macro.
64802         Reported by Sam Steingold <sds@gnu.org>.
64804 2009-06-23  Simon Josefsson  <simon@josefsson.org>
64806         * modules/hash-tests (test_hash_LDADD): Link to libintl when
64807         needed.
64809 2009-06-21  Bruno Haible  <bruno@clisp.org>
64811         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
64812         work.
64813         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
64814         together with LIB${NAME}, LTLIB${NAME}.
64815         Reported by Sam Steingold <sds@gnu.org>.
64817 2009-06-20  Jim Meyering  <meyering@redhat.com>
64819         tests: make sc_require_test_exit_idiom more generic
64820         * top/maint.mk (Exit_witness_file): New overridable variable.
64821         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
64822         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
64824 2009-06-19  Jim Meyering  <meyering@redhat.com>
64826         hash: reverse order of src/dst parameters in an internal interface
64827         * lib/hash.c (transfer_entries): Reverse order of parameters to
64828         put DST before SRC.  Adjust callers.
64830         tests: test-hash: avoid wholesale duplication
64831         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
64832         Instead, use a loop and add a single conditional.
64834         tests: test-hash: allow seed selection via a command line argument
64835         * tests/test-hash.c (get_seed): New function.
64836         (main): Use it.
64838 2009-06-19  Eric Blake  <ebb9@byu.net>
64840         hash: avoid memory leak on allocation failure
64841         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
64842         failure.  Factor repeated algorithm...
64843         (transfer_entries): ...into new helper routine.
64844         (hash_delete): React to hash_rehash return value.
64846         hash: reduce memory pressure in hash_rehash no-op case
64847         * lib/hash.c (next_prime): Avoid overflow.
64848         (hash_initialize): Factor bucket size computation...
64849         (compute_bucket_size): ...into new helper function.
64850         (hash_rehash): Use new function and open coding to reduce memory
64851         pressure, and avoid a memory leak in USE_OBSTACK code.
64852         Reported by Jim Meyering.
64854 2009-06-18  Eric Blake  <ebb9@byu.net>
64856         hash: make rotation more obvious
64857         * modules/hash (Depends-on): Add bitrotate and stdint.
64858         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
64859         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
64860         (SIZE_MAX): Rely on headers for definition.
64861         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
64862         (raw_hasher): Use rotr_sz.
64863         Suggested by Jim Meyering.
64865         hash: fix memory leak in last patch
64866         * lib/hash.c (hash_rehash): Avoid memory leak.
64868         hash: avoid no-op rehashing
64869         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
64871         hash: provide default callback functions
64872         * lib/hash.c (raw_hasher, raw_comparator): New functions.
64873         (hash_initialize): Use them as defaults.
64874         * tests/test-hash.c (main): Test this.
64876         hash: minor optimization
64877         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
64878         when possible.
64879         (hash_initialize): Document this promise.
64880         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
64881         * tests/test-hash.c (hash_compare_strings): Test this.
64883 2009-06-18  Bruno Haible  <bruno@clisp.org>
64885         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
64886         going to be replaced anyway.
64888 2009-06-18  Bruno Haible  <bruno@clisp.org>
64890         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
64891         in one place.
64892         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
64893         be replaced anyway.
64895 2009-06-18  Eric Blake  <ebb9@byu.net>
64897         hash: check for resize before insertion
64898         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
64899         threshold before insertion, so that a pathological hash_rehash
64900         that fills every bucket can still trigger another rehash.
64902 2009-06-18  Jim Meyering  <meyering@redhat.com>
64904         hash-tests: add a loop around the small tests
64905         * tests/test-hash.c (main): Repeat small tests with selected
64906         small initial table sizes.
64908 2009-06-17  Eric Blake  <ebb9@byu.net>
64910         hash: minor cleanups
64911         * lib/hash.h (hash_entry): Make opaque, by moving...
64912         * lib/hash.c (hash_entry): ...here.
64913         (hash_insert): Clarify restrictions on what can be inserted.
64914         (hash_get_next): Clarify when it is safe to remove an element
64915         during traversal.
64916         (check_tuning): Skip verification when tuning is known safe.
64917         (hash_initialize): Clarify restrictions on tuning.
64919 2009-06-17  Jim Meyering  <jim@meyering.net>
64920         and Eric Blake  <ebb9@byu.net>
64922         hash-tests: new module
64923         * modules/hash-tests: New file.
64924         * tests/test-hash.c: New file.
64926 2009-06-17  Eric Blake  <ebb9@byu.net>
64928         strstr-simple: document new module
64929         * MODULES.html.sh: Document new module.
64931         strstr, strcasestr: replace on platforms with broken memchr
64932         * modules/strstr: Split into...
64933         * modules/strstr-simple: ...new module that does not care about
64934         performance, but does care about glibc bug.
64935         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
64936         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
64937         if platform memchr is broken, per Debian bug 521737.
64938         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
64939         memchr.
64940         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
64941         * doc/posix-functions/strstr.texi (strstr): Document the fix.
64942         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
64943         * modules/mountlist (Depends-on): Add strstr-simple.
64944         * modules/gen-uni-tables (Depends-on): Likewise.
64945         * modules/argz (Depends-on): Add strstr.
64947 2009-06-17  Bruno Haible  <bruno@clisp.org>
64949         * modules/posix_spawn-internal (Depends-on): Add errno.
64951 2009-06-17  Bruno Haible  <bruno@clisp.org>
64953         Define missing ESTALE on Interix 3.5.
64954         * lib/errno.in.h (ESTALE): Assign a value if missing.
64955         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
64956         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
64957         missing.
64958         * doc/posix-headers/errno.texi: Mention the Interix bug.
64959         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
64961 2009-06-15  Eric Blake  <ebb9@byu.net>
64963         memchr, memchr2: add valgrind exception
64964         * lib/memchr.valgrind: New file.
64965         * lib/memchr2.valgrind: New file.
64966         * modules/memchr (Files): Distribute valgrind file.
64967         * modules/memchr2 (Files): Likewise.
64969         docs: memchr is no longer obsolete
64970         * MODULES.html.sh: Move memchr from obsolete to string.h section.
64971         * lib/string.in.h (memchr): Simplify logic.
64973 2009-06-14  Jim Meyering  <meyering@redhat.com>
64975         link-follow: fix the "checking..." message to not mention trailing slash
64976         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
64977         never considered trailing slashes.
64979 2009-06-14  Bruno Haible  <bruno@clisp.org>
64981         * m4/memchr.m4: Mention also the bug on IA-64.
64982         * doc/posix-functions/memchr.texi: Likewise.
64984 2009-06-12  Eric Blake  <ebb9@byu.net>
64986         memchr: detect broken x86_64 and alpha implementations
64987         * modules/memchr-tests (Depends-on): Move mmap detection...
64988         * modules/memchr (Depends-on): ...here.
64989         (configure.ac): Set indicator.
64990         * lib/string.in.h (memchr): Declare replacement.
64991         * modules/string (Makefile.am): Trigger replacement.
64992         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
64993         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
64994         bugs.
64995         * doc/posix-functions/memchr.texi (memchr): Document the bug.
64996         * modules/getpagesize (License): Relax license.
64998 2009-06-11  Bruno Haible  <bruno@clisp.org>
65000         * lib/idpriv.h: Add more references.
65002 2009-06-08  Bruno Haible  <bruno@clisp.org>
65004         Tests for module 'idpriv-droptemp'.
65005         * modules/idpriv-droptemp-tests: New file.
65006         * tests/test-idpriv-droptemp.sh: New file.
65007         * tests/test-idpriv-droptemp.su.sh: New file.
65008         * tests/test-idpriv-droptemp.c: New file.
65010         New module 'idpriv-droptemp'.
65011         * lib/idpriv-droptemp.c: New file.
65012         * modules/idpriv-droptemp: New file.
65014 2009-06-08  Bruno Haible  <bruno@clisp.org>
65016         Tests for module 'idpriv-drop'.
65017         * modules/idpriv-drop-tests: New file.
65018         * tests/test-idpriv-drop.sh: New file.
65019         * tests/test-idpriv-drop.su.sh: New file.
65020         * tests/test-idpriv-drop.c: New file.
65022         New module 'idpriv-drop'.
65023         * lib/idpriv.h: New file.
65024         * lib-idpriv-drop.c: New file.
65025         * m4/idpriv.m4: New file.
65026         * modules/idpriv-drop: New file.
65028 2009-06-08  Bruno Haible  <bruno@clisp.org>
65030         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
65031         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
65032         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
65033         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
65034         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
65035         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
65036         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
65038 2009-06-08  Eric Blake  <ebb9@byu.net>
65040         test-strstr: use memory fence, when possible
65041         * tests/test-strstr.c (main): Use memory fence, in order to be
65042         more likely to trigger Debian bug 521737.
65043         * modules/strstr-tests (Files): Pull in additional files.
65045         memchr: no longer obsolete, for wider field testing
65046         * modules/memchr (Status, Notice): Delete, this module is no
65047         longer obsolete.
65048         * modules/vasnprintf (Depends-on): Add memchr.
65050 2009-06-07  Jim Meyering  <meyering@redhat.com>
65052         hash: declare some functions with the warn_unused_result attribute
65053         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
65055 2009-06-07  Bruno Haible  <bruno@clisp.org>
65057         * tests/test-alignof.c: Don't test int64_t if it does not exist.
65058         Reported by Eric Blake.
65060 2009-06-06  Eric Blake  <ebb9@byu.net>
65062         test-alignof: fix typo with long double
65063         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
65064         compiler error.
65066 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
65068         Escape non-texinfo { and }s.
65069         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
65070         markup error.
65072 2009-06-04  Jim Meyering  <meyering@redhat.com>
65074         gitlog-to-changelog: don't infloop on an empty commit log
65075         * build-aux/gitlog-to-changelog: Warn about an empty log message.
65076         Reported by Boris Petersen <transacid@centerim.org>.
65078 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
65080         version-etc: extend for packagers
65081         Add three new configure options, intended for packagers:
65082           --with-packager="packager name"
65083           --with-packager-version="packager-specific version"
65084           --with-packager-bug-reports="packager bug reporting"
65085         An example with coreutils:
65086           $ ./configure \
65087             --with-packager=Gentoo \
65088             --with-packager-bug-report=http://bugs.gentoo.org/ \
65089             --with-packager-version="patchset 1.6"
65090           $ ./src/ls --version | head -n2
65091           ls (GNU coreutils) 7.1-dirty
65092           Packaged by Gentoo (patchset 1.6)
65093         Note that the bug reporting info via --help doesn't show up because
65094         coreutils uses its own custom emit_bug_reporting_address() implementation
65095         in src/system.h.  If it didn't, it'd look like:
65096           $ ./src/ls --help | tail -n4
65097           Report bugs to <bug-coreutils@gnu.org>.
65098           Report Gentoo bugs to <http://bugs.gentoo.org/>.
65099           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
65100           General help using GNU software: <http://www.gnu.org/gethelp/>.
65101         * lib/version-etc.c: Print new information, if provided.
65102         * m4/version-etc.m4: New file.
65103         * modules/version-etc (Files): Add m4/version-etc.m4.
65104         (configure.ac): Add gl_VERSION_ETC.
65106 2009-05-31  Bruno Haible  <bruno@clisp.org>
65108         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
65109         and 'int64_t'.
65110         * modules/alignof-tests (Dependencies): Add stdint.
65111         Reported by Eric Blake.
65113 2009-05-31  Bruno Haible  <bruno@clisp.org>
65115         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
65116         restriction due to compiler bugs.
65117         Reported by Eric Blake.
65119 2009-05-31  Simon Josefsson  <simon@josefsson.org>
65120             Bruno Haible  <bruno@clisp.org>
65122         Fix test-alignof failure.
65123         * lib/alignof.h (alignof_slot): New macro.
65124         (alignof_type): New macro, with the same semantics as the previous
65125         'alignof'.
65126         (alignof): Alias to alignof_slot.
65127         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
65128         check that the results are usable as constant expressions.
65130 2009-05-31  Bruno Haible  <bruno@clisp.org>
65132         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
65133         * tests/test-memchr.c (main): Check that memchr does not read past the
65134         first occurrence of the byte.
65135         * tests/test-strstr.c (main): Update comment.
65136         Suggested by Eric Blake.
65138 2009-05-30  Bruno Haible  <bruno@clisp.org>
65140         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
65141         detail how to use dumpbin.
65142         Reported by David Byron <dbyron@dbyron.com>.
65144 2009-06-02  Simon Josefsson  <simon@josefsson.org>
65146         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
65148 2009-06-02  Simon Josefsson  <simon@josefsson.org>
65150         * m4/manywarnings.m4: Add GCC 4.4 warnings.
65152 2009-05-28  Bruno Haible  <bruno@clisp.org>
65154         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
65155         build-aux/ files.
65157 2009-05-28  Simon Josefsson  <simon@josefsson.org>
65159         * gnulib-tool (func_import): Transform license on build-aux/ files too.
65161 2009-05-27  Simon Josefsson  <simon@josefsson.org>
65163         * gnulib-tool (sed_transform_main_lib_file)
65164         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
65165         regexps.
65167 2009-05-26  Simon Josefsson  <simon@josefsson.org>
65169         * tests/test-strstr.c: Add another self-test.
65170         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
65171         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
65173 2009-05-23  Bruno Haible  <bruno@clisp.org>
65175         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
65176         change.
65178 2009-05-21  Bruno Haible  <bruno@clisp.org>
65180         Simplify use of mode_t varargs.
65181         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
65182         uses 'mode_t' or 'int'.
65183         * lib/openat.c (openat): Likewise.
65184         * lib/open-safer.c (open_safer): Likewise.
65185         * m4/mode_t.m4: New file.
65186         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
65187         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
65188         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
65189         * modules/open (Files): Add m4/mode_t.m4.
65190         * modules/openat (Files): Likewise.
65191         * modules/fcntl-safer (Files): Likewise.
65192         Suggested by Eric Blake.
65194 2009-05-21  Pádraig Brady  <P@draigbrady.com>
65196         * doc/glibc-functions/fallocate.texi: New file.
65197         * doc/gnulib.texi: Include it.
65199 2009-05-21  Eric Blake  <ebb9@byu.net>
65200             Bruno Haible  <bruno@clisp.org>
65202         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
65203         invocations.
65204         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
65206 2009-05-21  Eric Blake  <ebb9@byu.net>
65207             Bruno Haible  <bruno@clisp.org>
65209         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
65210         include_next. Fix of 2008-11-20 commit.
65211         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
65212         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
65213         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
65214         NEXT_MATH_H.
65215         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
65216         instead of NEXT_MATH_H.
65218 2009-05-21  Bruno Haible  <bruno@clisp.org>
65220         Avoid redefinition warnings for SIZE_MAX.
65221         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
65222         Reported by Simon Josefsson.
65224 2009-05-21  Bruno Haible  <bruno@clisp.org>
65226         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
65227         AC_CACHE_VAL.
65229 2009-05-20  Bruno Haible  <bruno@clisp.org>
65231         Make zeroptr.h work on mingw.
65232         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
65233         mprotect.
65234         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
65235         * modules/memchr2-tests (configure.ac): Likewise.
65236         * modules/memcmp-tests (configure.ac): Likewise.
65237         * modules/memmem-tests (configure.ac): Likewise.
65238         * modules/memrchr-tests (configure.ac): Likewise.
65239         Reported by Simon Josefsson.
65241 2009-05-20  Simon Josefsson  <simon@josefsson.org>
65243         * tests/test-glob.c: Include string.h for strcmp prototype.
65245 2009-05-20  Simon Josefsson  <simon@josefsson.org>
65247         * modules/getdelim (Depends-on): Add explicit stdint, although it
65248         was implicitly already pulled in via realloc-posix.
65249         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
65251 2009-05-20  Simon Josefsson  <simon@josefsson.org>
65253         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
65254         G. Christensen" <tgc@jupiterrise.com>.
65255         * m4/sys_socket_h.m4: Check for sa_family_t.
65256         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
65257         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
65258         * tests/test-sys_socket.c: Check that sa_family_t works.
65260 2009-05-18  Eric Blake  <ebb9@byu.net>
65262         maint.mk: allow gnulib_dir in VPATH build
65263         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
65265 2009-05-15  Jim Meyering  <meyering@redhat.com>
65267         maint.mk: Give gnulib_dir a default definition.
65268         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
65269         Thus, most packages no longer need to specify this variable in cfg.mk
65271 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
65273         rename.m4: fix typos that would make non-mingw cross-configure fail
65274         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
65276 2009-05-13  Eric Blake  <ebb9@byu.net>
65278         mmap-anon: avoid out-of-order autoconf expansion
65279         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
65280         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
65281         * modules/memchr-tests (Depends-on): Add extensions.
65282         * modules/memchr2-tests (Depends-on): Add extensions.
65283         * modules/memcmp-tests (Depends-on): Add extensions.
65284         * modules/memmem-tests (Depends-on): Add extensions.
65285         * modules/memrchr-tests (Depends-on): Add extensions.
65287 2009-05-13  Bruno Haible  <bruno@clisp.org>
65289         Make some tests ISO C 99 compliant.
65290         * tests/zerosize-ptr.h: New file.
65291         * tests/test-memchr.c: Include zerosize-ptr.h.
65292         (main): Use a zero-size object pointer instead of NULL.
65293         * tests/test-memchr2.c: Include zerosize-ptr.h.
65294         (main): Use a zero-size object pointer instead of NULL.
65295         * tests/test-memcmp.c: Include zerosize-ptr.h.
65296         (main): Use a zero-size object pointer instead of NULL.
65297         * tests/test-memmem.c: Include zerosize-ptr.h.
65298         (main): Use a zero-size object pointer instead of NULL.
65299         * tests/test-memrchr.c: Include zerosize-ptr.h.
65300         (main): Use a zero-size object pointer instead of NULL.
65301         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
65302         m4/mmap-anon.m4.
65303         (Depends-on): Add getpagesize.
65304         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
65305         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
65306         m4/mmap-anon.m4.
65307         (Depends-on): Add getpagesize.
65308         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
65309         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
65310         m4/mmap-anon.m4.
65311         (Depends-on): Add getpagesize.
65312         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
65313         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
65314         m4/mmap-anon.m4.
65315         (Depends-on): Add getpagesize.
65316         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
65317         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
65318         m4/mmap-anon.m4.
65319         (Depends-on): Add getpagesize.
65320         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
65322 2009-05-12  Bruno Haible  <bruno@clisp.org>
65324         Tests for module 'alignof'.
65325         * modules/alignof-tests: New file.
65326         * tests/test-alignof.c: New file.
65328 2009-05-12  Bruno Haible  <bruno@clisp.org>
65330         Fix alignof macro.
65331         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
65332         vendor compilers that are always correct.
65334 2009-05-12  Bruno Haible  <bruno@clisp.org>
65336         Make the MAP_ANONYMOUS detection work on HP-UX 11.
65337         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
65338         not whether its fully works.
65340 2009-05-12  Bruno Haible  <bruno@clisp.org>
65342         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
65344 2009-05-12  Jim Meyering  <meyering@redhat.com>
65346         * top/maint.mk: Adjust backslash alignment.
65348 2009-05-11  Simon Josefsson  <simon@josefsson.org>
65350         * top/maint.mk: Make $(srcdir)/build-aux configurable.
65352 2009-05-11  Eric Blake  <ebb9@byu.net>
65354         argp: avoid undefined behavior
65355         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
65356         macros.
65358 2009-05-08  Simon Josefsson  <simon@josefsson.org>
65360         * tests/test-vc-list-files-git.sh: Do git config of user.email and
65361         user.name to prevent git commit from complaining.
65363 2009-05-10  Bruno Haible  <bruno@clisp.org>
65365         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
65366         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
65367         it rewrites every file name only once.
65368         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
65370 2009-05-08  Bruno Haible  <bruno@clisp.org>
65372         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
65373         instead of 'max'.
65375 2009-05-08  Simon Josefsson  <simon@josefsson.org>
65377         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
65378         sockaddr_storage test.
65380 2009-05-07  Simon Josefsson  <simon@josefsson.org>
65382         * modules/sys_socket (Makefile.am): Substitute
65383         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
65384         * m4/sys_socket_h.m4: Check for sockaddr_storage.
65385         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
65386         * tests/test-sys_socket.c: Check sockaddr_storage.
65388 2009-05-08  Bruno Haible  <bruno@clisp.org>
65390         New module 'alignof'.
65391         * lib/alignof.h: New file.
65392         * modules/alignof: New file.
65394 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
65395             Bruno Haible  <bruno@clisp.org>
65397         Fix test-file-has-acl on FreeBSD.
65398         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
65399         mask is implicitly added.
65400         * tests/test-file-has-acl.c: Include <signal.h>.
65401         (main): Terminate the test after 5 seconds.
65402         * modules/acl-tests (configure.ac): Check for alarm function.
65404 2009-05-04  Bruno Haible  <bruno@clisp.org>
65406         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
65407         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
65408         * modules/errno (configure.ac): Drop AC_REQUIRE.
65409         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
65410         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
65412 2009-05-04  Simon Josefsson  <simon@josefsson.org>
65414         * modules/glob-tests: New module.
65415         * tests/test-glob.c: Add.
65417 2009-05-04  Simon Josefsson  <simon@josefsson.org>
65419         * modules/fnmatch-tests: New module.
65420         * tests/test-fnmatch.c: Add.
65422 2009-05-04  Eric Blake  <ebb9@byu.net>
65424         maint: make the new no-submodule-changes rule VPATH-safe
65425         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
65427 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
65428             Bruno Haible  <bruno@clisp.org>
65430         acl: Fix infinite loop on FreeBSD.
65431         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
65432         of return value from acl_get_entry.
65433         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
65434         Likewise.
65436 2009-05-03  Bruno Haible  <bruno@clisp.org>
65438         * lib/acl-internal.h (acl_entries): Clarify return value.
65439         * lib/acl_entries.c (acl_entries): Likewise.
65441 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
65443         Bug fix in acl module.
65444         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
65446 2009-05-03  Bruno Haible  <bruno@clisp.org>
65448         Create gperf-generated file in the source dir, not in the build dir.
65449         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
65450         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
65451         * modules/unicase/locale-language (unicase/locale-languages.h):
65452         Likewise.
65453         * modules/unicase/special-casing (unicase/special-casing-table.h):
65454         Likewise.
65455         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
65456         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
65457         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
65458         Reported by Ralf Wildenhues.
65460 2009-05-03  Bruno Haible  <bruno@clisp.org>
65462         * modules/fnmatch (Description, configure.ac): Taken from
65463         fnmatch-posix.
65464         * modules/fnmatch-posix: Turn into a symbolic reference to the
65465         'fnmatch' module, and deprecate.
65466         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
65468 2009-05-03  Bruno Haible  <bruno@clisp.org>
65470         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
65471         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
65472         Reported by Ralf Wildenhues.
65474 2009-05-04  Simon Josefsson  <simon@josefsson.org>
65476         * m4/fnmatch.m4: Fix fnmatch re-define.
65478 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
65480         priv-set: new module and tests; adapt write-any-file
65481         * lib/priv-set.c: New file.
65482         * lib/priv-set.h: New file.
65483         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
65484         * lib/write-any-file.c: Simplify by using priv-set module.
65485         * m4/priv-set.m4: New file.
65486         * modules/priv-set: New file.
65487         * modules/unlinkdir: Add dependency on priv-set module.
65488         * modules/write-any-file: Likewise.
65490         Tests for module 'priv-set'.
65491         * modules/priv-set-tests: New file.
65492         * tests/test-priv-set.c: New file.
65494 2009-05-03  Jim Meyering  <meyering@redhat.com>
65495             Bruno Haible  <bruno@clisp.org>
65497         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
65498         use the converted UTF-8 variant of the name instead.
65500 2009-05-03  Jim Meyering  <meyering@redhat.com>
65502         tests: tighten some getdate tests
65503         * tests/test-getdate.c (main): Tighten tests: require equality,
65504         not just greater than.  Set TZ envvar to UTC0.
65506 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
65508         getdate: correctly interpret "next monday" when run on a Monday
65509         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
65510         that e.g., "next tues" (when run on a tuesday) results in a date
65511         that is one week in the future, and not today's date.
65512         I.e., add a week when the wday is the same as the current one.
65513         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
65514         and earlier by Martin Bernreuther and Jan Minář.
65515         * tests/test-getdate.c (main): Check that "next DAY" is always in
65516         the future and that "last DAY" is always in the past.
65518 2009-05-02  Jim Meyering  <meyering@redhat.com>
65520         build: ensure that a release build fails when a submodule is unclean
65521         * top/maint.mk (no-submodule-changes): New rule.
65522         (alpha beta major): Depend on it.
65524 2009-05-02  Bruno Haible  <bruno@clisp.org>
65526         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
65527         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
65528         shell variable gl_fnmatch_required to detect which variant is
65529         requested.
65530         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
65531         gl_FUNC_FNMATCH_POSIX.
65532         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
65533         exclude fnmatch-posix.
65535 2009-05-02  Bruno Haible  <bruno@clisp.org>
65537         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
65538         * modules/mbsrtowcs (License): Change to LGPLv2+.
65539         * modules/strnlen1 (License): Likewise.
65540         Reported by Simon Josefsson.
65542 2009-05-02  Bruno Haible  <bruno@clisp.org>
65544         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
65545         "cross".
65546         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
65547         gnulib-tool was called with option --source-base=lib.
65549 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65551         Use automake *-local hooks without commands, for extensibility.
65552         * modules/localcharset (Makefile.am): Rename install-exec-local
65553         rule to install-exec-localcharset, and make it a prerequisite of
65554         install-exec-local.  Likewise, rename the uninstall-local rule to
65555         uninstall-localcharset, and make it a prerequisite of the former.
65557 2009-05-01  Bruno Haible  <bruno@clisp.org>
65559         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
65560         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
65561         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
65562         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
65563         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
65564         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
65565         m4/locale-zh.m4, m4/codeset.m4.
65567         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
65568         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
65569         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
65570         m4/locale-zh.m4.
65572         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
65573         REPLACE_WCRTOMB if mbstate_t must be replaced.
65574         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
65575         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
65577 2009-05-01  Bruno Haible  <bruno@clisp.org>
65579         Avoid compiler warnings when redefining macros defined by <libintl.h>.
65580         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
65581         dngettext, dcngettext, textdomain, bindtextdomain,
65582         bind_textdomain_codeset): Undefine before redefining.
65584 2009-04-30  Bruno Haible  <bruno@clisp.org>
65586         Fix bug introduced on 2009-04-25.
65587         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
65588         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
65589         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
65590         is defined.
65591         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
65592         is defined.
65593         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
65594         is defined.
65595         Reported by Elbert_Pol <elbert.pol@gmail.com>.
65597 2009-04-28  Bruno Haible  <bruno@clisp.org>
65599         Comment tweaks.
65600         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
65601         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
65602         * lib/unicase.h (u*_casexfrm): Likewise.
65603         Reported by Paolo Bonzini.
65605 2009-04-28  Bruno Haible  <bruno@clisp.org>
65607         Fix a compilation error.
65608         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
65609         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
65610         Reported by Jim Meyering.
65612 2009-04-27  Bruno Haible  <bruno@clisp.org>
65614         New module 'libunistring'.
65615         * modules/libunistring: New file.
65616         * m4/libunistring.m4: New file.
65617         * MODULES.html.sh (Unicode string functions): Add it.
65619 2009-04-27  Eric Blake  <ebb9@byu.net>
65621         maint.mk: allow package-specific header to provide <config.h>
65622         * top/maint.mk (sc_require_config_h): New variable.
65623         (sc_require_config_h, sc_require_config_h_first): Use it.
65625 2009-04-27  Simon Josefsson  <simon@josefsson.org>
65627         * top/maint.mk (sc_avoid_if_before_free): Except
65628         useless-if-before-free script.
65630 2009-04-27  Eric Blake  <ebb9@byu.net>
65632         maintainer-makefile: depend on all required helper scripts
65633         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
65634         useless-if-before-free.
65635         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
65636         version, rather than assuming gnulib checkout is available.
65637         Reported by Simen Josefsson.
65639 2009-04-26  Bruno Haible  <bruno@clisp.org>
65641         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
65642         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
65643         "../" or "..".
65645 2009-04-26  Bruno Haible  <bruno@clisp.org>
65647         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
65648         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
65649         AC_LIB_HAVE_LINKFLAGS.
65651 2009-04-26  Bruno Haible  <bruno@clisp.org>
65653         Simplify calling convention of u*_conv_from_encoding.
65654         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
65655         u32_conv_from_encoding): Expect a resultbuf argument and return the
65656         result directly as a pointer.
65657         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
65658         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
65659         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
65660         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
65661         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
65662         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
65663         Update.
65664         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
65665         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
65666         * lib/vasnprintf.c (VASNPRINTF): Update.
65667         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
65668         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
65669         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
65670         * NEWS: Mention the change.
65672 2009-04-26  Bruno Haible  <bruno@clisp.org>
65674         Simplify calling convention of u*_conv_to_encoding.
65675         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
65676         u32_conv_to_encoding): Expect a resultbuf argument and return the
65677         result directly as a pointer.
65678         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
65679         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
65680         freeing scaled_offsets if mem_iconveha failed.
65681         * lib/unicase/u-casexfrm.h (FUNC): Update.
65682         * lib/uninorm/u-normxfrm.h (FUNC): Update.
65683         * lib/vasnprintf.c (VASNPRINTF): Update.
65684         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
65685         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
65686         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
65687         * NEWS: Mention the change.
65689 2009-04-26  Bruno Haible  <bruno@clisp.org>
65691         Avoid test failures on AIX and OSF/1.
65692         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
65693         malloc(0).
65694         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
65695         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
65696         Likewise.
65697         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
65698         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
65699         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
65700         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
65701         * doc/posix-functions/malloc.texi: Document the portability problem
65702         related to malloc(0).
65704 2009-04-26  Bruno Haible  <bruno@clisp.org>
65706         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
65707         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
65708         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
65710 2009-04-25  Bruno Haible  <bruno@clisp.org>
65712         Avoid link error when creating a namespace clean library.
65713         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
65714         as macro with arguments if already defined as an alias.
65715         * lib/signbitf.c (gl_signbitf): Don't undefine.
65716         * lib/signbitd.c (gl_signbitd): Don't undefine.
65717         * lib/signbitl.c (gl_signbitl): Don't undefine.
65719 2009-04-25  Jim Meyering  <meyering@redhat.com>
65721         vc-list-files: fix another quoting bug
65722         * build-aux/vc-list-files: Avoid sed backslash expansion
65723         of pathological directory names.
65725 2009-04-25  Eric Blake  <ebb9@byu.net>
65727         vc-list-files: fix shell quoting error
65728         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
65729         timestamp.
65731 2009-04-25  Jim Meyering  <meyering@redhat.com>
65733         vc-list-files: restore lost functionality with subdir argument
65734         * build-aux/vc-list-files: When given a non-"." sub-directory
65735         argument, substitute the $dir/ prefix back onto each resulting name.
65736         Otherwise, coreutils' root_tests check would fail.
65738 2009-04-24  Eric Blake  <ebb9@byu.net>
65740         vc-list-files: ignore git symlinks
65741         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
65742         than ls-files, to ignore git symlinks.
65744         maint.mk: import improvements from m4
65745         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
65746         (move_if_change): Delete unused macro.
65747         (news-date-check, vc-diff-check): Support VPATH builds.
65748         (announcement): Likewise.  Split --bootstrap-tools list...
65749         (boostrap-tools): ...into separate list, which can be overridden
65750         in cfg.mk.
65751         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
65752         requiring dependency on useless-if-before-free module.
65753         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
65754         Support VPATH builds.
65756 2009-04-24  Jim Meyering  <meyering@redhat.com>
65758         maint.mk: remove coreutils-specific rules and variables
65759         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
65760         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
65761         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
65763         maint.mk: remove obsolete rule
65764         * top/maint.mk (rel-check): Remove rule.
65765         (WGET, WGETFLAGS): Remove now-unused variables.
65767 2009-04-24  Simon Josefsson  <simon@josefsson.org>
65769         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
65770         consistency.
65772         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
65773         '$(PATH_SEPARATOR)' instead of ':'.
65775 2009-04-24  Simon Josefsson  <simon@josefsson.org>
65777         * lib/getopt1.c (main): Use 'const' for static array.
65779 2009-04-24  Simon Josefsson  <simon@josefsson.org>
65781         * top/maint.mk: Sync with coreutils.
65782         * NEWS: Explain incompatibilities.
65784 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65785             Bruno Haible  <bruno@clisp.org>
65787         Fix cross-compilation results.
65788         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
65789         statement, as third argument of AC_TRY_RUN.
65790         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
65791         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
65792         Likewise.
65793         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
65794         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
65795         Likewise.
65796         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
65797         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
65798         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
65800 2009-04-20  Bruno Haible  <bruno@clisp.org>
65802         Avoid test failure on mingw.
65803         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
65805 2009-04-20  Bruno Haible  <bruno@clisp.org>
65807         Avoid compilation error on mingw.
65808         * modules/localename-tests (Depends-on): Add locale.
65810 2009-04-19  Bruno Haible  <bruno@clisp.org>
65812         Support for building a shared library on Windows platforms.
65813         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
65814         (main): Test the presence of UNINORM_NFC here.
65815         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
65816         (main): Test the presence of UNINORM_NFD here.
65817         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
65818         (main): Test the presence of UNINORM_NFKC here.
65819         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
65820         (main): Test the presence of UNINORM_NFKD here.
65822 2009-04-19  Bruno Haible  <bruno@clisp.org>
65824         Avoid a compiler warning.
65825         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
65826         Change type of variable 'sequence'.
65828 2009-04-19  Bruno Haible  <bruno@clisp.org>
65830         * modules/configmake (Makefile.am): When the contents of configmake.h
65831         does not change, arrange to preserve its modification time.
65833 2009-04-17  Simon Josefsson  <simon@josefsson.org>
65835         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
65836         gettext domain.
65838 2009-04-16  Jim Meyering  <meyering@redhat.com>
65840         useless-if-before-free: improve conversion code
65841         * build-aux/useless-if-before-free: Adjust code-in-comment to match
65842         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
65844 2009-04-14  Bruno Haible  <bruno@clisp.org>
65846         * modules/fcntl (Depends-on): Add extensions.
65847         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
65849 2009-04-12  Ben Pfaff  <blp@gnu.org>
65851         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
65852         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
65854 2009-03-20  Ben Pfaff  <blp@gnu.org>
65856         Make rename replace existing destinations on Windows.
65857         * m4/rename.m4: Add test for Mingw.
65858         * lib/rename.c: Add rename replacement that uses MoveFileEx with
65859         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
65860         * doc/posix-functions/rename.texi: Document.
65862 2009-04-10  Bruno Haible  <bruno@clisp.org>
65864         New include file "iconveh.h".
65865         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
65866         * lib/striconveh.h: Include it.
65867         (enum iconv_ilseq_handler): Remove definition.
65868         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
65869         striconveh.h.
65870         * lib/striconveha.c: Include striconveh.h.
65871         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
65872         * modules/striconveh (Files): Add lib/iconveh.h.
65873         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
65874         lib/striconveh.h.
65876 2009-04-10  Bruno Haible  <bruno@clisp.org>
65878         * lib/uniconv.h: Update comment.
65880 2009-04-10  Bruno Haible  <bruno@clisp.org>
65882         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
65883         always.
65884         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
65885         * lib/unistr/u16-mbtouc-aux.c: Likewise.
65886         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
65887         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
65888         "unistring-notinline.h", so that the function gets defined always.
65889         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
65890         * lib/unistr/u8-uctomb.c: Likewise.
65891         * lib/unistr/u16-mbtouc.c: Likewise.
65892         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
65893         * lib/unistr/u16-uctomb.c: Likewise.
65894         * lib/unistr/u32-mbtouc.c: Likewise.
65895         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
65896         * lib/unistr/u32-uctomb.c: Likewise.
65898 2009-04-10  Bruno Haible  <bruno@clisp.org>
65900         Mark 'utime' obsolete.
65901         * modules/utime (Status, Notice): New sections.
65902         Suggested by Jim Meyering.
65904         Fix cross-compile guess for utime test.
65905         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
65906         autoconf.
65907         * doc/posix-functions/utime.texi: Give more precisions.
65908         Reported by Jan <ipif@ymail.com>.
65910 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
65912         filevercmp: correct today's change
65913         * lib/filevercmp.c: Also handle coreutils' test inputs.
65914         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
65916         Fix regression in 'filevercmp' module. Thanks Sven Joachim
65917         for reporting it.
65918         * lib/filevercmp.c: Special handle for "", "." and "..".
65919         * tests/test-filevercmp.c: Enlarge the set suite.
65921 2009-04-07  Jim Meyering  <meyering@redhat.com>
65923         useless-if-before-free: show how to remove braced useless free, too
65924         * build-aux/useless-if-before-free: still only in a comment, though.
65926 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
65928         maint.mk: import changes to syntax-check macros from coreutils
65929         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
65930         Use them in the relevant macros.
65932 2009-04-06  Bruno Haible  <bruno@clisp.org>
65934         Fix unportable use of bit-fields.
65935         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
65936         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
65937         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
65939 2009-04-06  Bruno Haible  <bruno@clisp.org>
65941         Avoid test failures on AIX and OSF/1.
65942         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
65943         that malloc(0) = NULL.
65944         * tests/unicase/test-u8-tolower.c (check): Likewise.
65945         * tests/unicase/test-u8-totitle.c (check): Likewise.
65946         * tests/unicase/test-u8-toupper.c (check): Likewise.
65947         * tests/unicase/test-u16-casefold.c (check): Likewise.
65948         * tests/unicase/test-u16-tolower.c (check): Likewise.
65949         * tests/unicase/test-u16-totitle.c (check): Likewise.
65950         * tests/unicase/test-u16-toupper.c (check): Likewise.
65951         * tests/unicase/test-u32-casefold.c (check): Likewise.
65952         * tests/unicase/test-u32-tolower.c (check): Likewise.
65953         * tests/unicase/test-u32-totitle.c (check): Likewise.
65954         * tests/unicase/test-u32-toupper.c (check): Likewise.
65955         * tests/uninorm/test-u8-nfc.c (check): Likewise.
65956         * tests/uninorm/test-u8-nfd.c (check): Likewise.
65957         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
65958         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
65959         * tests/uninorm/test-u16-nfc.c (check): Likewise.
65960         * tests/uninorm/test-u16-nfd.c (check): Likewise.
65961         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
65962         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
65963         * tests/uninorm/test-u32-nfc.c (check): Likewise.
65964         * tests/uninorm/test-u32-nfd.c (check): Likewise.
65965         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
65966         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
65968 2009-04-05  Bruno Haible  <bruno@clisp.org>
65970         Work around an autoconf limitation.
65971         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
65972         comment line if it would be longer than 3 KB.
65974 2009-04-05  Bruno Haible  <bruno@clisp.org>
65976         Avoid test failure with libiconv-1.13.
65977         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
65978         of the expected test results.
65980 2009-04-05  Bruno Haible  <bruno@clisp.org>
65982         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
65983         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
65984         that it should be installed.
65986 2009-04-05  Bruno Haible  <bruno@clisp.org>
65988         * gnulib-tool: New option --copy-file.
65989         (func_usage): Document it.
65990         (func_dest_tmpfilename): Moved out of func_import.
65991         (func_add_file, func_update_file): New functions, extracted from
65992         func_import.
65993         (func_import): Update.
65995 2009-04-05  Karl Berry  <karl@gnu.org>
65997         * README: prominently mention gnulib-tool.
65998         Rearrange sections so getting the code is near the top.
66000 2009-04-05  Bruno Haible  <bruno@clisp.org>
66002         * lib/unicase.h: Mention u*_cmp2.
66003         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
66004         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
66005         * lib/unicase/ulc-casecmp.c: Likewise.
66006         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
66007         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
66008         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
66009         unistr/u8-cmp.
66010         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
66011         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
66012         unistr/u16-cmp.
66013         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
66014         unistr/u32-cmp.
66016         * lib/uninorm.h: Mention u*_cmp2.
66017         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
66018         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
66019         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
66020         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
66021         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
66022         unistr/u8-cmp.
66023         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
66024         unistr/u16-cmp.
66025         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
66026         unistr/u32-cmp.
66028         New module 'unistr/u32-cmp2'.
66029         * lib/unistr/u32-cmp2.c: New file.
66030         * modules/unistr/u32-cmp2: New file.
66032         New module 'unistr/u16-cmp2'.
66033         * lib/unistr/u16-cmp2.c: New file.
66034         * modules/unistr/u16-cmp2: New file.
66036         New module 'unistr/u8-cmp2'.
66037         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
66038         * lib/unistr/u8-cmp2.c: New file.
66039         * lib/unistr/u-cmp2.h: New file.
66040         * modules/unistr/u8-cmp2: New file.
66042 2009-04-05  Bruno Haible  <bruno@clisp.org>
66044         * lib/unictype.h (uc_property_is_valid): New macro.
66045         * tests/unictype/test-pr_byname.c (main): Use it.
66047         * lib/unistr.h: Doc fixes.
66048         * lib/uniconv.h: Doc fixes.
66049         * lib/unictype.h: Doc fixes.
66051 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
66053         Port coreutils 7.2 to Solaris 8.
66055         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
66056         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
66057         for Solaris 8.  This is a bit of a hack, as it means it's the
66058         caller's responsibility to add -lnsl if needed, but most likely it
66059         won't be needed since only getaddrinfo uses this and getaddrinfo
66060         isn't needed on Solaris 8.
66062         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
66063         problem to Solaris 8 encountered with coreutils 7.2, which
66064         resulted in a message "fnmatch.c:292: warning: passing argument 4
66065         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
66066         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
66068 2009-04-03  Simon Josefsson  <simon@josefsson.org>
66070         * m4/ld-version-script.m4: Add FIXME comment.
66072 2009-04-02  Simon Josefsson  <simon@josefsson.org>
66074         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
66075         SOVERSION variable.
66077 2009-04-02  Bruno Haible  <bruno@clisp.org>
66079         * Makefile (info, html, dvi, pdf): Combine the rules.
66080         Suggested by Jim Meyering.
66082 2009-04-01  Bruno Haible  <bruno@clisp.org>
66084         * Makefile (info, html, dvi, pdf): New targets.
66085         Reported by Reuben Thomas <rrt@sc3d.org>.
66087 2009-04-01  Bruno Haible  <bruno@clisp.org>
66089         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
66090         can be put into PATH.
66091         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
66093 2009-04-01  Bruno Haible  <bruno@clisp.org>
66095         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
66097 2009-04-01  Bruno Haible  <bruno@clisp.org>
66099         Rename module 'visibility'.
66100         * modules/lib-symbol-visibility: Renamed from modules/visibility.
66101         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
66102         * doc/gnulib.texi: Update.
66103         * MODULES.html.sh (Misc): Update.
66104         * NEWS: Mention the change.
66106 2009-04-01  Simon Josefsson  <simon@josefsson.org>
66108         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
66109         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
66110         Eric Blake <ebb9@byu.net> for review.
66111         * MODULES.html.sh: Add lib-msvc-compat.
66112         * doc/gnulib.texi: Link to new section.
66113         * m4/ld-output-def.m4: New file.
66114         * doc/ld-output-def.texi: New file.
66116 2009-04-01  Simon Josefsson  <simon@josefsson.org>
66118         Rename ld-version-script to lib-symbol-versions.  Suggested by
66119         Bruno Haible <bruno@clisp.org>.
66120         * modules/ld-version-script: Renamed to lib-symbol-versions.
66121         * doc/ld-version-script.texi: Fix module name.
66122         * MODULES.html.sh: Add lib-symbol-versions.
66124 2009-03-31  Simon Josefsson  <simon@josefsson.org>
66126         * modules/u64-tests: New file.
66127         * tests/test-u64.c: New file.
66129 2009-03-04  Simon Josefsson  <simon@josefsson.org>
66131         * MODULES.html.sh: Mention u64.
66132         * modules/u64: New module.
66133         * modules/crypto/sha512: Depend on u64 module instead of providing
66134         u64.h.
66136 2009-03-27  Eric Blake  <ebb9@byu.net>
66138         test-strerror: make debugging EAI_SYSTEM easier
66139         * modules/getaddrinfo-tests (Depends-on): Add strerror.
66140         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
66141         failure was EAI_SYSTEM.
66143 2009-03-25  Bruno Haible  <bruno@clisp.org>
66145         Fix a problem with --enable-relocatable on Solaris 7.
66146         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
66147         since 2008-02-24.
66149 2009-03-25  Eric Blake  <ebb9@byu.net>
66151         test-sockets: avoid gcc warning
66152         * tests/test-sockets.c (main): Silence compiler warning.
66154 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
66156         New modules nproc, pthread, contributed by Glen Lenker.
66158         * MODULES.html.sh: Add pthread, nproc.
66159         * lib/nproc.c: New file.
66160         * lib/nproc.h: New file.
66161         * lib/pthread.in.h: New file.
66162         * m4/pthread.m4: New file.
66163         * modules/nproc: New file.
66164         * modules/pthread: New file.
66166 2009-03-24  Simon Josefsson  <simon@josefsson.org>
66168         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
66169         New variable.
66171 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
66173         filevercmp: handle simple~ and numbered.~3~ backup suffixes
66174         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
66175         * tests/test-filevercmp.c: Add tests for backup suffixes.
66177 2009-03-24  Simon Josefsson  <simon@josefsson.org>
66179         * modules/stdlib (Depends-on): Add stdint, needed when defining
66180         struct random_data on, for example, HP-UX 10.20.  Reported by
66181         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66183 2009-03-24  Simon Josefsson  <simon@josefsson.org>
66185         * lib/readline.c (readline): Call fflush on stdout after printing
66186         prompt.
66188 2009-03-20  Bruno Haible  <bruno@clisp.org>
66190         Remove dependency from 'close' module to -lws2_32 on native Windows.
66191         * lib/close-hook.h: New file.
66192         * lib/close-hook.c: New file.
66193         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
66194         w32sock.h.
66195         (_gl_close_fd_maybe_socket): Remove function.
66196         (rpl_close): Invoke execute_all_close_hooks instead of
66197         _gl_close_fd_maybe_socket.
66198         * lib/sockets.c: Include close-hook.h, w32sock.h.
66199         (close_fd_maybe_socket): New function, essentially from lib/close.c.
66200         (close_sockets_hook): New variable.
66201         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
66202         (gl_sockets_cleanup): Unregister it.
66203         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
66204         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
66205         * modules/close-hook: New file.
66206         * modules/close (Files): Remove lib/w32sock.h.
66207         (Depends-on): Add close-hook.
66208         (Link): Remove section.
66209         * modules/sockets (Files): Add lib/w32sock.h.
66210         (Depends-on): Add close-hook.
66211         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
66212         invocation.
66213         * NEWS: Mention that LIB_CLOSE is gone.
66215 2009-03-23  Eric Blake  <ebb9@byu.net>
66217         signal-tests: test previous patch
66218         * tests/test-signal.c: New file.
66219         * modules/signal-tests: Likewise.
66221         signal.h: always support 'volatile sig_atomic_t'
66222         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
66223         (gl_SIGNAL_H_DEFAULTS): Add a default.
66224         * modules/signal (Makefile.am): Substitute if needed.
66225         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
66226         users can blindly add volatile.
66227         * doc/posix-headers/signal.texi (signal.h): Document it.
66228         Reported by Matthew Woehlke.
66230 2009-03-23  Jim Meyering  <meyering@redhat.com>
66232         pathmax: PATH_MAX: use pathconf only when available
66233         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
66234         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
66235         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
66236         This avoids a link failure in a PSP cross-compilation environment
66237         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
66239         * lib/vasnprintf.c (divide): Fix typo in comment.
66241 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66243         * gnulib-tool (func_filter_filelist): Fix comment.
66245 2009-03-20  Bruno Haible  <bruno@clisp.org>
66247         Make sockets.h self-contained.
66248         * lib/sockets.c: Include sockets.h first.
66249         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
66251 2009-03-19  Eric Blake  <ebb9@byu.net>
66253         doc: mention more functions added in cygwin 1.7.0
66254         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
66255         addition.
66256         * doc/posix-functions/log2f.texi: Likewise.
66258 2009-03-19  Jim Meyering  <meyering@redhat.com>
66260         fsusage: avoid syntax error due to statement-before-declaration
66261         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
66262         after all declarations.  Reported by Matthew Woehlke in
66263         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
66265 2009-03-18  Eric Blake  <ebb9@byu.net>
66267         build-aux/compile: sync from automake
66268         * build-aux/compile: New file, from automake.
66269         * config/srclist.txt: Mention build-aux/compile.
66271 2009-03-17  Bruno Haible  <bruno@clisp.org>
66273         * lib/git-merge-changelog.c: Fix typo in comment.
66274         Reported by Reuben Thomas <rrt@sc3d.org>.
66276 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
66278         * m4/regex.m4: update and improve help for
66279         --without-included-regex.
66281 2009-03-17  Simon Josefsson  <simon@josefsson.org>
66283         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
66284         failure on missing include files.
66286 2009-03-17  Eric Blake  <ebb9@byu.net>
66288         doc: mention more functions added in cygwin 1.7.0
66289         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
66290         addition.
66291         * doc/posix-functions/fwscanf.texi: Likewise.
66292         * doc/posix-functions/swprintf.texi: Likewise.
66293         * doc/posix-functions/swscanf.texi: Likewise.
66294         * doc/posix-functions/vfwprintf.texi: Likewise.
66295         * doc/posix-functions/vfwscanf.texi: Likewise.
66296         * doc/posix-functions/vswprintf.texi: Likewise.
66297         * doc/posix-functions/vswscanf.texi: Likewise.
66298         * doc/posix-functions/vwprintf.texi: Likewise.
66299         * doc/posix-functions/vwscanf.texi: Likewise.
66300         * doc/posix-functions/wcscasecmp.texi: Likewise.
66301         * doc/posix-functions/wcsdup.texi: Likewise.
66302         * doc/posix-functions/wcsftime.texi: Likewise.
66303         * doc/posix-functions/wcsncasecmp.texi: Likewise.
66304         * doc/posix-functions/wprintf.texi: Likewise.
66305         * doc/posix-functions/wscanf.texi: Likewise.
66306         * doc/glibc-functions/gethostbyname2.texi: Likewise.
66308 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66310         maint.mk: really add $(AM_MAKEFLAGS)
66311         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
66312         was inadvertently omitted in the last commit.
66313         Spotted by Bruno Haible.
66315         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
66316         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
66317         $(AM_MAKEFLAGS)' rather than plain `make'.
66319         gnulib-tool: execute $MAKE not make
66320         * gnulib-tool: Default $MAKE to 'make'.
66321         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
66322         than make.  Initialize $MAKE in the do-autobuild script.
66324         gnulib-tool: use $MAKE not make in generated files
66325         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
66326         make, in generated files.  Initialize $MAKE in the do-autobuild
66327         script.
66329         * top/GNUmakefile (_have-git-version-gen): Fix typo.
66331         GNUmakefile: disable parallelism only for multiple, recursive targets
66332         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
66333         additions in the Makefile.
66334         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
66335         by Automake.
66336         (.NOTPARALLEL): Only disable parallel builds if multiple targets
66337         are listed on the command line and at least one of them is
66338         listed in $(ALL_RECURSIVE_TARGETS).
66340 2009-03-14  Bruno Haible  <bruno@clisp.org>
66342         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
66343         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
66344         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
66345         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
66346         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
66347         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
66348         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
66349         unistr/u8-uctomb.
66350         * modules/unistr/u8-strchr (Depends-on): Likewise.
66351         * modules/unistr/u8-strrchr (Depends-on): Likewise.
66352         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
66353         unistr/u16-uctomb.
66354         * modules/unistr/u16-strchr (Depends-on): Likewise.
66355         * modules/unistr/u16-strrchr (Depends-on): Likewise.
66357 2009-03-12  Bruno Haible  <bruno@clisp.org>
66359         Work around select() bug on Interix 3.5.
66360         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
66361         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
66362         * m4/select.m4: New file.
66363         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
66364         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
66365         * modules/select (Files): Add m4/select.m4.
66366         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
66367         * modules/nanosleep (Depends-on): Add select.
66368         * modules/poll (Depends-on): Likewise.
66369         * doc/posix-functions/select.texi: Mention the Interix bug.
66370         Reported by Markus Duft <mduft@gentoo.org>.
66372         * lib/select.c: Renamed from lib/winsock-select.c.
66373         * modules/select (Files): Add lib/select.c, remove
66374         lib/winsock-select.c.
66375         (configure.ac): Update.
66377 2009-03-12  Jim Meyering  <meyering@redhat.com>
66379         avoid gcc warnings about unused macro definitions
66380         * lib/readtokens.c (STREQ): Remove unused definition.
66381         * lib/xmalloc.c (SIZE_MAX): Likewise.
66382         * lib/openat-die.c (N_): Likewise.
66383         * lib/mountlist.c (SIZE_MAX): Remove definition.
66384         Instead, include <stdint.h>.
66385         * lib/readutmp.c: Likewise.
66386         * modules/readutmp (Depends-on): Add stdint.
66387         * modules/mountlist (Depends-on): Add stdint.
66388         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
66390 2009-03-10  Bruno Haible  <bruno@clisp.org>
66392         Tests for module 'mbmemcasecoll'.
66393         * modules/mbmemcasecoll-tests: New file.
66394         * tests/test-mbmemcasecoll1.sh: New file.
66395         * tests/test-mbmemcasecoll2.sh: New file.
66396         * tests/test-mbmemcasecoll3.sh: New file.
66397         * tests/test-mbmemcasecoll.c: New file.
66399         New module 'mbmemcasecoll'.
66400         * lib/mbmemcasecoll.h: New file.
66401         * lib/mbmemcasecoll.c: New file.
66402         * modules/mbmemcasecoll: New file.
66404         * tests/test-mbmemcasecmp.h: New file, extracted from
66405         tests/test-mbmemcasecmp.c.
66406         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
66407         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
66408         (main): Update.
66409         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
66411 2009-03-09  Bruno Haible  <bruno@clisp.org>
66413         Tests for module 'mbmemcasecmp'.
66414         * modules/mbmemcasecmp-tests: New file.
66415         * tests/test-mbmemcasecmp1.sh: New file.
66416         * tests/test-mbmemcasecmp2.sh: New file.
66417         * tests/test-mbmemcasecmp3.sh: New file.
66418         * tests/test-mbmemcasecmp.c: New file.
66420         New module 'mbmemcasecmp'.
66421         * lib/mbmemcasecmp.h: New file.
66422         * lib/mbmemcasecmp.c: New file.
66423         * modules/mbmemcasecmp: New file.
66425 2009-03-09  Bruno Haible  <bruno@clisp.org>
66427         Tests for module 'unicase/ulc-casecoll'.
66428         * modules/unicase/ulc-casecoll-tests: New file.
66429         * tests/unicase/test-ulc-casecoll1.sh: New file.
66430         * tests/unicase/test-ulc-casecoll2.sh: New file.
66431         * tests/unicase/test-ulc-casecoll.c: New file.
66433         New module 'unicase/ulc-casecoll'.
66434         * lib/unicase.h (ulc_casecoll): New declaration.
66435         * lib/unicase/ulc-casecoll.c: New file.
66436         * modules/unicase/ulc-casecoll: New file.
66438         New module 'unicase/ulc-casexfrm'.
66439         * lib/unicase.h (ulc_casexfrm): New declaration.
66440         * lib/unicase/ulc-casexfrm.c: New file.
66441         * modules/unicase/ulc-casexfrm: New file.
66443 2009-03-09  Bruno Haible  <bruno@clisp.org>
66445         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
66446         invocations.
66448         * m4/mbscasecmp.m4: Remove file.
66449         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
66450         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
66452         * m4/mbscasestr.m4: Remove file.
66453         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
66454         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
66456         * m4/mbschr.m4: Remove file.
66457         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
66458         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
66460         * m4/mbscspn.m4: Remove file.
66461         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
66462         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
66464         * m4/mbslen.m4: Remove file.
66465         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
66466         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
66468         * m4/mbsncasecmp.m4: Remove file.
66469         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
66470         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
66472         * m4/mbsnlen.m4: Remove file.
66473         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
66474         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
66476         * m4/mbspbrk.m4: Remove file.
66477         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
66478         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
66480         * m4/mbspcasecmp.m4: Remove file.
66481         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
66482         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
66484         * m4/mbsrchr.m4: Remove file.
66485         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
66486         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
66488         * m4/mbssep.m4: Remove file.
66489         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
66490         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
66492         * m4/mbsspn.m4: Remove file.
66493         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
66494         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
66496         * m4/mbsstr.m4: Remove file.
66497         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
66498         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
66500         * m4/mbstok_r.m4: Remove file.
66501         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
66502         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
66504         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
66506         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
66507         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
66509         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
66511 2009-03-08  Bruno Haible  <bruno@clisp.org>
66513         Tests for module 'unicase/ulc-casecmp'.
66514         * modules/unicase/ulc-casecmp-tests: New file.
66515         * tests/unicase/test-ulc-casecmp1.sh: New file.
66516         * tests/unicase/test-ulc-casecmp2.sh: New file.
66517         * tests/unicase/test-ulc-casecmp.c: New file.
66519         New module 'unicase/ulc-casecmp'.
66520         * lib/unicase.h (ulc_casecmp): New declaration.
66521         * lib/unicase/ulc-casecmp.c: New file.
66522         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
66523         'const SRC_UNIT *'.
66524         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
66525         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
66526         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
66527         * modules/unicase/ulc-casecmp: New file.
66529         Tests for module 'unicase/u32-is-cased'.
66530         * modules/unicase/u32-is-cased-tests: New file.
66531         * tests/unicase/test-u32-is-cased.c: New file.
66533         Tests for module 'unicase/u16-is-cased'.
66534         * modules/unicase/u16-is-cased-tests: New file.
66535         * tests/unicase/test-u16-is-cased.c: New file.
66537         Tests for module 'unicase/u8-is-cased'.
66538         * modules/unicase/u8-is-cased-tests: New file.
66539         * tests/unicase/test-u8-is-cased.c: New file.
66540         * tests/unicase/test-is-cased.h: New file.
66542         New module 'unicase/u32-is-cased'.
66543         * lib/unicase/u32-is-cased.c: New file.
66544         * modules/unicase/u32-is-cased: New file.
66546         New module 'unicase/u16-is-cased'.
66547         * lib/unicase/u16-is-cased.c: New file.
66548         * modules/unicase/u16-is-cased: New file.
66550         New module 'unicase/u8-is-cased'.
66551         * lib/unicase/u8-is-cased.c: New file.
66552         * lib/unicase/u-is-cased.h: New file.
66553         * modules/unicase/u8-is-cased: New file.
66555         Tests for module 'unicase/u32-is-casefolded'.
66556         * modules/unicase/u32-is-casefolded-tests: New file.
66557         * tests/unicase/test-u32-is-casefolded.c: New file.
66559         Tests for module 'unicase/u16-is-casefolded'.
66560         * modules/unicase/u16-is-casefolded-tests: New file.
66561         * tests/unicase/test-u16-is-casefolded.c: New file.
66563         Tests for module 'unicase/u8-is-casefolded'.
66564         * modules/unicase/u8-is-casefolded-tests: New file.
66565         * tests/unicase/test-u8-is-casefolded.c: New file.
66566         * tests/unicase/test-is-casefolded.h: New file.
66568         New module 'unicase/u32-is-casefolded'.
66569         * lib/unicase/u32-is-casefolded.c: New file.
66570         * modules/unicase/u32-is-casefolded: New file.
66572         New module 'unicase/u16-is-casefolded'.
66573         * lib/unicase/u16-is-casefolded.c: New file.
66574         * modules/unicase/u16-is-casefolded: New file.
66576         New module 'unicase/u8-is-casefolded'.
66577         * lib/unicase/u8-is-casefolded.c: New file.
66578         * modules/unicase/u8-is-casefolded: New file.
66580         Tests for module 'unicase/u32-is-titlecase'.
66581         * modules/unicase/u32-is-titlecase-tests: New file.
66582         * tests/unicase/test-u32-is-titlecase.c: New file.
66584         Tests for module 'unicase/u16-is-titlecase'.
66585         * modules/unicase/u16-is-titlecase-tests: New file.
66586         * tests/unicase/test-u16-is-titlecase.c: New file.
66588         Tests for module 'unicase/u8-is-titlecase'.
66589         * modules/unicase/u8-is-titlecase-tests: New file.
66590         * tests/unicase/test-u8-is-titlecase.c: New file.
66591         * tests/unicase/test-is-titlecase.h: New file.
66593         New module 'unicase/u32-is-titlecase'.
66594         * lib/unicase/u32-is-titlecase.c: New file.
66595         * modules/unicase/u32-is-titlecase: New file.
66597         New module 'unicase/u16-is-titlecase'.
66598         * lib/unicase/u16-is-titlecase.c: New file.
66599         * modules/unicase/u16-is-titlecase: New file.
66601         New module 'unicase/u8-is-titlecase'.
66602         * lib/unicase/u8-is-titlecase.c: New file.
66603         * modules/unicase/u8-is-titlecase: New file.
66605         Tests for module 'unicase/u32-is-lowercase'.
66606         * modules/unicase/u32-is-lowercase-tests: New file.
66607         * tests/unicase/test-u32-is-lowercase.c: New file.
66609         Tests for module 'unicase/u16-is-lowercase'.
66610         * modules/unicase/u16-is-lowercase-tests: New file.
66611         * tests/unicase/test-u16-is-lowercase.c: New file.
66613         Tests for module 'unicase/u8-is-lowercase'.
66614         * modules/unicase/u8-is-lowercase-tests: New file.
66615         * tests/unicase/test-u8-is-lowercase.c: New file.
66616         * tests/unicase/test-is-lowercase.h: New file.
66618         New module 'unicase/u32-is-lowercase'.
66619         * lib/unicase/u32-is-lowercase.c: New file.
66620         * modules/unicase/u32-is-lowercase: New file.
66622         New module 'unicase/u16-is-lowercase'.
66623         * lib/unicase/u16-is-lowercase.c: New file.
66624         * modules/unicase/u16-is-lowercase: New file.
66626         New module 'unicase/u8-is-lowercase'.
66627         * lib/unicase/u8-is-lowercase.c: New file.
66628         * modules/unicase/u8-is-lowercase: New file.
66630         Tests for module 'unicase/u32-is-uppercase'.
66631         * modules/unicase/u32-is-uppercase-tests: New file.
66632         * tests/unicase/test-u32-is-uppercase.c: New file.
66634         Tests for module 'unicase/u16-is-uppercase'.
66635         * modules/unicase/u16-is-uppercase-tests: New file.
66636         * tests/unicase/test-u16-is-uppercase.c: New file.
66638         Tests for module 'unicase/u8-is-uppercase'.
66639         * modules/unicase/u8-is-uppercase-tests: New file.
66640         * tests/unicase/test-u8-is-uppercase.c: New file.
66641         * tests/unicase/test-is-uppercase.h: New file.
66643         New module 'unicase/u32-is-uppercase'.
66644         * lib/unicase/u32-is-uppercase.c: New file.
66645         * modules/unicase/u32-is-uppercase: New file.
66647         New module 'unicase/u16-is-uppercase'.
66648         * lib/unicase/u16-is-uppercase.c: New file.
66649         * modules/unicase/u16-is-uppercase: New file.
66651         New module 'unicase/u8-is-uppercase'.
66652         * lib/unicase/u8-is-uppercase.c: New file.
66653         * modules/unicase/u8-is-uppercase: New file.
66655         New module 'unicase/u32-is-invariant'.
66656         * lib/unicase/u32-is-invariant.c: New file.
66657         * modules/unicase/u32-is-invariant: New file.
66659         New module 'unicase/u16-is-invariant'.
66660         * lib/unicase/u16-is-invariant.c: New file.
66661         * modules/unicase/u16-is-invariant: New file.
66663         New module 'unicase/u8-is-invariant'.
66664         * lib/unicase/u8-is-invariant.c: New file.
66665         * lib/unicase/invariant.h: New file.
66666         * lib/unicase/u-is-invariant.h: New file.
66667         * modules/unicase/u8-is-invariant: New file.
66669         Tests for module 'unicase/u32-casecoll'.
66670         * modules/unicase/u32-casecoll-tests: New file.
66671         * tests/unicase/test-u32-casecoll.c: New file.
66673         Tests for module 'unicase/u16-casecoll'.
66674         * modules/unicase/u16-casecoll-tests: New file.
66675         * tests/unicase/test-u16-casecoll.c: New file.
66677         Tests for module 'unicase/u8-casecoll'.
66678         * modules/unicase/u8-casecoll-tests: New file.
66679         * tests/unicase/test-u8-casecoll.c: New file.
66681         New module 'unicase/u32-casecoll'.
66682         * lib/unicase/u32-casecoll.c: New file.
66683         * modules/unicase/u32-casecoll: New file.
66685         New module 'unicase/u16-casecoll'.
66686         * lib/unicase/u16-casecoll.c: New file.
66687         * modules/unicase/u16-casecoll: New file.
66689         New module 'unicase/u8-casecoll'.
66690         * lib/unicase/u8-casecoll.c: New file.
66691         * lib/unicase/u-casecoll.h: New file.
66692         * modules/unicase/u8-casecoll: New file.
66694         New module 'unicase/u32-casexfrm'.
66695         * lib/unicase/u32-casexfrm.c: New file.
66696         * modules/unicase/u32-casexfrm: New file.
66698         New module 'unicase/u16-casexfrm'.
66699         * lib/unicase/u16-casexfrm.c: New file.
66700         * modules/unicase/u16-casexfrm: New file.
66702         New module 'unicase/u8-casexfrm'.
66703         * lib/unicase/u8-casexfrm.c: New file.
66704         * lib/unicase/u-casexfrm.h: New file.
66705         * modules/unicase/u8-casexfrm: New file.
66707         Tests for module 'unicase/u32-casecmp'.
66708         * modules/unicase/u32-casecmp-tests: New file.
66709         * tests/unicase/test-u32-casecmp.c: New file.
66711         Tests for module 'unicase/u16-casecmp'.
66712         * modules/unicase/u16-casecmp-tests: New file.
66713         * tests/unicase/test-u16-casecmp.c: New file.
66715         Tests for module 'unicase/u8-casecmp'.
66716         * modules/unicase/u8-casecmp-tests: New file.
66717         * tests/unicase/test-u8-casecmp.c: New file.
66718         * tests/unicase/test-casecmp.h: New file.
66720         New module 'unicase/u32-casecmp'.
66721         * lib/unicase/u32-casecmp.c: New file.
66722         * modules/unicase/u32-casecmp: New file.
66724         New module 'unicase/u16-casecmp'.
66725         * lib/unicase/u16-casecmp.c: New file.
66726         * modules/unicase/u16-casecmp: New file.
66728         New module 'unicase/u8-casecmp'.
66729         * lib/unicase/u8-casecmp.c: New file.
66730         * lib/unicase/u-casecmp.h: New file.
66731         * modules/unicase/u8-casecmp: New file.
66733         Tests for module 'unicase/u32-casefold'.
66734         * modules/unicase/u32-casefold-tests: New file.
66735         * tests/unicase/test-u32-casefold.c: New file.
66737         Tests for module 'unicase/u16-casefold'.
66738         * modules/unicase/u16-casefold-tests: New file.
66739         * tests/unicase/test-u16-casefold.c: New file.
66741         Tests for module 'unicase/u8-casefold'.
66742         * modules/unicase/u8-casefold-tests: New file.
66743         * tests/unicase/test-u8-casefold.c: New file.
66745         New module 'unicase/u32-casefold'.
66746         * lib/unicase/u32-casefold.c: New file.
66747         * modules/unicase/u32-casefold: New file.
66749         New module 'unicase/u16-casefold'.
66750         * lib/unicase/u16-casefold.c: New file.
66751         * modules/unicase/u16-casefold: New file.
66753         New module 'unicase/u8-casefold'.
66754         * lib/unicase/u8-casefold.c: New file.
66755         * lib/unicase/u-casefold.h: New file.
66756         * modules/unicase/u8-casefold: New file.
66758         New module 'unicase/tocasefold'.
66759         * lib/unicase/casefold.h: New file.
66760         * lib/unicase/tocasefold.c: New file.
66761         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
66762         * modules/unicase/tocasefold: New file.
66764         Tests for module 'unicase/u32-totitle'.
66765         * modules/unicase/u32-totitle-tests: New file.
66766         * tests/unicase/test-u32-totitle.c: New file.
66768         Tests for module 'unicase/u16-totitle'.
66769         * modules/unicase/u16-totitle-tests: New file.
66770         * tests/unicase/test-u16-totitle.c: New file.
66772         Tests for module 'unicase/u8-totitle'.
66773         * modules/unicase/u8-totitle-tests: New file.
66774         * tests/unicase/test-u8-totitle.c: New file.
66776         New module 'unicase/u32-totitle'.
66777         * lib/unicase/u32-totitle.c: New file.
66778         * modules/unicase/u32-totitle: New file.
66780         New module 'unicase/u16-totitle'.
66781         * lib/unicase/u16-totitle.c: New file.
66782         * modules/unicase/u16-totitle: New file.
66784         New module 'unicase/u8-totitle'.
66785         * lib/unicase/u8-totitle.c: New file.
66786         * lib/unicase/u-totitle.h: New file.
66787         * modules/unicase/u8-totitle: New file.
66789         Tests for module 'unicase/u32-tolower'.
66790         * modules/unicase/u32-tolower-tests: New file.
66791         * tests/unicase/test-u32-tolower.c: New file.
66793         Tests for module 'unicase/u16-tolower'.
66794         * modules/unicase/u16-tolower-tests: New file.
66795         * tests/unicase/test-u16-tolower.c: New file.
66797         Tests for module 'unicase/u8-tolower'.
66798         * modules/unicase/u8-tolower-tests: New file.
66799         * tests/unicase/test-u8-tolower.c: New file.
66801         New module 'unicase/u32-tolower'.
66802         * lib/unicase/u32-tolower.c: New file.
66803         * modules/unicase/u32-tolower: New file.
66805         New module 'unicase/u16-tolower'.
66806         * lib/unicase/u16-tolower.c: New file.
66807         * modules/unicase/u16-tolower: New file.
66809         New module 'unicase/u8-tolower'.
66810         * lib/unicase/u8-tolower.c: New file.
66811         * modules/unicase/u8-tolower: New file.
66813         Tests for module 'unicase/u32-toupper'.
66814         * modules/unicase/u32-toupper-tests: New file.
66815         * tests/unicase/test-u32-toupper.c: New file.
66817         Tests for module 'unicase/u16-toupper'.
66818         * modules/unicase/u16-toupper-tests: New file.
66819         * tests/unicase/test-u16-toupper.c: New file.
66821         Tests for module 'unicase/u8-toupper'.
66822         * modules/unicase/u8-toupper-tests: New file.
66823         * tests/unicase/test-u8-toupper.c: New file.
66825         New module 'unicase/u32-toupper'.
66826         * lib/unicase/u32-toupper.c: New file.
66827         * modules/unicase/u32-toupper: New file.
66829         New module 'unicase/u16-toupper'.
66830         * lib/unicase/u16-toupper.c: New file.
66831         * modules/unicase/u16-toupper: New file.
66833         New module 'unicase/u8-toupper'.
66834         * lib/unicase/u8-toupper.c: New file.
66835         * modules/unicase/u8-toupper: New file.
66837         New module 'unicase/u32-casemap'.
66838         * lib/unicase/u32-casemap.c: New file.
66839         * modules/unicase/u32-casemap: New file.
66841         New module 'unicase/u16-casemap'.
66842         * lib/unicase/u16-casemap.c: New file.
66843         * modules/unicase/u16-casemap: New file.
66845         New module 'unicase/u8-casemap'.
66846         * lib/unicase/unicasemap.h: New file.
66847         * lib/unicase/u8-casemap.c: New file.
66848         * lib/unicase/u-casemap.h: New file.
66849         * modules/unicase/u8-casemap: New file.
66851         New module 'unicase/special-casing'.
66852         * lib/unicase/special-casing.h: New file.
66853         * lib/unicase/special-casing.c: New file.
66854         * lib/unicase/special-casing-table.gperf: New file, generated by
66855         gen-uni-tables.c.
66856         * modules/unicase/special-casing: New file.
66858         Tests for module 'unicase/locale-language'.
66859         * modules/unicase/locale-language-tests: New file.
66860         * tests/unicase/test-locale-language.sh: New file.
66861         * tests/unicase/test-locale-language.c: New file.
66863         New module 'unicase/locale-language'.
66864         * lib/unicase/locale-language.c: New file.
66865         * lib/unicase/locale-languages.gperf: New file.
66866         * modules/unicase/locale-language: New file.
66868         Generate more tables for case conversion and case folding.
66869         * lib/gen-uni-tables.c (SCC_*): New enum items.
66870         (struct special_casing_rule): New type.
66871         (casing_rules, num_casing_rules, allocated_casing_rules): New
66872         variables.
66873         (add_casing_rule, fill_casing_rules): New functions.
66874         (struct casefold_rule): New type.
66875         (casefolding_rules, num_casefolding_rules,
66876         allocated_casefolding_rules): New variables.
66877         (fill_casefolding_rules): New function.
66878         (unicode_casefold): New variable.
66879         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
66880         sort_casing_rules, output_casing_rules): New functions.
66881         (main): Accept to more arguments: SpecialCasing.txt and
66882         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
66883         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
66884         Output mapping for casefolding.
66886         * lib/unicase.h: Include stdbool.h, uninorm.h.
66887         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
66888         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
66889         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
66890         arguments.
66891         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
66892         resultp arguments.
66893         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
66894         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
66895         resultp arguments.
66896         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
66897         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
66898         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
66899         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
66900         declarations.
66901         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
66903 2009-03-08  Bruno Haible  <bruno@clisp.org>
66905         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
66906         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
66907         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
66908         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
66910 2009-03-07  Bruno Haible  <bruno@clisp.org>
66912         Adjust u*_normcmp, u*_normcoll API.
66913         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
66914         u16_normcoll, u32_normcoll): Change failure conventions.
66915         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
66916         errno and return -1.
66917         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
66919 2009-03-07  Bruno Haible  <bruno@clisp.org>
66921         Tests for module 'uninorm/u32-normcoll'.
66922         * modules/uninorm/u32-normcoll-tests: New file.
66923         * tests/uninorm/test-u32-normcoll.c: New file.
66925         Tests for module 'uninorm/u16-normcoll'.
66926         * modules/uninorm/u16-normcoll-tests: New file.
66927         * tests/uninorm/test-u16-normcoll.c: New file.
66929         Tests for module 'uninorm/u8-normcoll'.
66930         * modules/uninorm/u8-normcoll-tests: New file.
66931         * tests/uninorm/test-u8-normcoll.c: New file.
66933 2009-03-07  Bruno Haible  <bruno@clisp.org>
66935         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
66936         tests/uninorm/test-u32-normcmp.c.
66937         * tests/uninorm/test-u32-normcmp.c: Include it.
66938         (test_nonascii): New function, extracted from main. Add some more
66939         tests.
66940         (main): Invoke test_ascii and test_nonascii.
66941         * modules/uninorm/u32-normcmp-tests (Files): Add
66942         tests/uninorm/test-u32-normcmp.h.
66943         (Depends-on): Remove uninorm/u32-normcmp.
66945         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
66946         tests/uninorm/test-u16-normcmp.c.
66947         * tests/uninorm/test-u16-normcmp.c: Include it.
66948         (test_nonascii): New function, extracted from main. Add some more
66949         tests.
66950         (main): Invoke test_ascii and test_nonascii.
66951         * modules/uninorm/u16-normcmp-tests (Files): Add
66952         tests/uninorm/test-u16-normcmp.h.
66953         (Depends-on): Remove uninorm/u16-normcmp.
66955         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
66956         tests/uninorm/test-u8-normcmp.c.
66957         * tests/uninorm/test-u8-normcmp.c: Include it.
66958         (test_nonascii): New function, extracted from main. Add some more
66959         tests.
66960         (main): Invoke test_ascii and test_nonascii.
66961         * modules/uninorm/u8-normcmp-tests (Files): Add
66962         tests/uninorm/test-u8-normcmp.h.
66963         (Depends-on): Remove uninorm/u8-normcmp.
66965 2009-03-07  Bruno Haible  <bruno@clisp.org>
66967         New module 'uninorm/u32-normcoll'.
66968         * lib/uninorm/u32-normcoll.c: New file.
66969         * modules/uninorm/u32-normcoll: New file.
66971         New module 'uninorm/u16-normcoll'.
66972         * lib/uninorm/u16-normcoll.c: New file.
66973         * modules/uninorm/u16-normcoll: New file.
66975         New module 'uninorm/u8-normcoll'.
66976         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
66977         declarations.
66978         * lib/uninorm/u8-normcoll.c: New file.
66979         * lib/uninorm/u-normcoll.h: New file.
66980         * modules/uninorm/u8-normcoll: New file.
66982         New module 'uninorm/u32-normxfrm'.
66983         * lib/uninorm/u32-normxfrm.c: New file.
66984         * modules/uninorm/u32-normxfrm: New file.
66986         New module 'uninorm/u16-normxfrm'.
66987         * lib/uninorm/u16-normxfrm.c: New file.
66988         * modules/uninorm/u16-normxfrm: New file.
66990         New module 'uninorm/u8-normxfrm'.
66991         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
66992         declarations.
66993         * lib/uninorm/u8-normxfrm.c: New file.
66994         * lib/uninorm/u-normxfrm.h: New file.
66995         * modules/uninorm/u8-normxfrm: New file.
66997 2009-03-07  Bruno Haible  <bruno@clisp.org>
66999         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
67000         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
67001         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
67003 2009-03-07  Bruno Haible  <bruno@clisp.org>
67005         New module 'memxfrm'.
67006         * lib/memxfrm.h: New file.
67007         * lib/memxfrm.c: New file.
67008         * modules/memxfrm: New file.
67010 2009-03-07  Bruno Haible  <bruno@clisp.org>
67012         New module 'memcmp2'.
67013         * lib/memcmp2.h: New file.
67014         * lib/memcmp2.c: New file.
67015         * modules/memcmp2: New file.
67017 2009-03-07  Bruno Haible  <bruno@clisp.org>
67019         Tests for module 'uninorm/decomposing-form'.
67020         * modules/uninorm/decomposing-form-tests: New file.
67021         * tests/uninorm/test-decomposing-form.c: New file.
67023         New module 'uninorm/decomposing-form'.
67024         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
67025         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
67026         Add 'decomposing_variant' field.
67027         * lib/uninorm/decomposing-form.c: New file.
67028         * lib/uninorm/nfc.c (uninorm_nfc): Update.
67029         * lib/uninorm/nfd.c (uninorm_nfd): Update.
67030         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
67031         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
67032         * modules/uninorm/decomposing-form: New file.
67033         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
67034         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
67036 2009-03-07  Bruno Haible  <bruno@clisp.org>
67038         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
67039         strings.
67041 2009-03-06  Bruno Haible  <bruno@clisp.org>
67043         Tests for module 'uninorm/u32-normcmp'.
67044         * tests/uninorm/test-u32-normcmp.c: New file.
67045         * modules/uninorm/u32-normcmp-tests: New file.
67047         Tests for module 'uninorm/u16-normcmp'.
67048         * tests/uninorm/test-u16-normcmp.c: New file.
67049         * modules/uninorm/u16-normcmp-tests: New file.
67051         Tests for module 'uninorm/u8-normcmp'.
67052         * tests/uninorm/test-u8-normcmp.c: New file.
67053         * modules/uninorm/u8-normcmp-tests: New file.
67055         New module 'uninorm/u32-normcmp'.
67056         * lib/uninorm/u32-normcmp.c: New file.
67057         * modules/uninorm/u32-normcmp: New file.
67059         New module 'uninorm/u16-normcmp'.
67060         * lib/uninorm/u16-normcmp.c: New file.
67061         * modules/uninorm/u16-normcmp: New file.
67063         New module 'uninorm/u8-normcmp'.
67064         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
67065         declarations.
67066         * lib/uninorm/u8-normcmp.c: New file.
67067         * lib/uninorm/u-normcmp.h: New file.
67068         * modules/uninorm/u8-normcmp: New file.
67070 2009-03-06  Bruno Haible  <bruno@clisp.org>
67072         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
67073         Reported by Eric Blake.
67075 2009-03-06  Eric Blake  <ebb9@byu.net>
67076             Bruno Haible  <bruno@clisp.org>
67078         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
67079         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
67080         condition.
67081         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
67082         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
67083         condition.
67084         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
67086 2009-03-06  Eric Blake  <ebb9@byu.net>
67088         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
67089         to avoid compiler warnings.
67090         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
67092 2009-03-05  Bruno Haible  <bruno@clisp.org>
67094         * tests/test-ftell.c (main): Disable test beyond end of file on
67095         FreeMiNT.
67096         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
67098 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
67100         * lib/filevercmp.c: Move hidden files up in ordering.
67101         * tests/test-filevercmp.c: Add tests for hidden files.
67103 2009-03-04  Bruno Haible  <bruno@clisp.org>
67105         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
67106         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
67107         AM_CFLAGS.
67108         Reported by Simon Josefsson.
67110 2009-03-03  Bruno Haible  <bruno@clisp.org>
67112         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
67113         Reported by Simon Josefsson.
67115         * doc/ld-version-script.texi: Update node reference.
67117 2009-03-03  Bruno Haible  <bruno@clisp.org>
67119         * modules/visibility (License): Change to 'unlimited'.
67120         Suggested by Simon Josefsson.
67122 2009-03-03  Jim Meyering  <meyering@redhat.com>
67124         unlinkdir: cannot_unlink_dir may modify process state
67125         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
67126         it's neither thread-safe nor appropriate for use in a library.
67128 2009-03-03  Eric Blake  <ebb9@byu.net>
67130         test-closein: silence test under Darwin
67131         * tests/test-closein.sh: Ignore stderr from cat, since we don't
67132         care if it dies from EPIPE or EBADF.
67134 2009-03-03  Bruno Haible  <bruno@clisp.org>
67136         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
67137         earlier.
67138         * doc/visibility.texi: Fix @node and @section.
67140 2009-03-03  Simon Josefsson  <simon@josefsson.org>
67142         * doc/gnulib.texi: Link to sections for ld version script and
67143         visibility.
67144         * doc/visibility.texi: Add @node and @section.
67145         * modules/ld-version-script: New module.
67146         * m4/ld-version-script.m4: New file.
67147         * doc/ld-version-script.texi: New file.
67149 2009-03-02  David Lutterkort  <lutter@redhat.com>
67151         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
67152         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
67154 2009-03-02  Bruno Haible  <bruno@clisp.org>
67156         * doc/visibility.texi: Mention libtool's -export-symbols option.
67158 2009-03-02  Jim Meyering  <meyering@redhat.com>
67160         announce-gen: new option: --no-print-checksums
67161         * build-aux/announce-gen (usage): Describe it.
67162         (print_checksums): Print a newline here, not in the [*] footnote.
67163         (main): Honor it.
67165 2009-03-01  Bruno Haible  <bruno@clisp.org>
67167         Use socklen_t in the native Windows replacements prototypes.
67168         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
67169         instead of 'int'.
67170         * lib/getsockopt.c (rpl_getsockopt): Likewise.
67171         * lib/setsockopt.c (rpl_setsockopt): Likewise.
67172         * modules/getsockopt (Depends-on): Add socklen.
67173         * modules/setsockopt (Depends-on): Add socklen.
67175 2009-03-01  Bruno Haible  <bruno@clisp.org>
67177         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
67178         least 4.2.
67180 2009-03-01  Eric Blake  <ebb9@byu.net>
67181             Bruno Haible  <bruno@clisp.org>
67183         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
67184         error messages.
67185         * lib/wait-process.c (wait_subprocess): Omit error message about
67186         deadly signal sent to the child of termsigp != NULL.
67188 2009-03-01  Eric Blake  <ebb9@byu.net>
67190         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
67192 2009-03-01  Bruno Haible  <bruno@clisp.org>
67194         Avoid a gcc warning.
67195         * tests/test-sched.c (b): Make global.
67196         Reported by Eric Blake.
67198 2009-01-19  Martin Lambers  <marlam@marlam.de>
67200         Provide POSIX semantics for socket timeout options on W32.
67201         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
67202         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
67203         * modules/setsockopt: Depend on sys_time module for struct timeval.
67204         * modules/getsockopt: Depend on sys_time module for struct timeval.
67206 2009-03-01  Simon Josefsson  <simon@josefsson.org>
67208         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
67209         __USE_GNU, for consistency with netdb.in.h.
67210         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
67212 2009-03-01  Bruno Haible  <bruno@clisp.org>
67214         More support for FreeMiNT.
67215         * lib/fseeko.c (rpl_fseeko): Complete last commit.
67216         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
67218 2009-03-01  Bruno Haible  <bruno@clisp.org>
67220         More support for FreeMiNT.
67221         * lib/fpurge.c (fpurge): Correct last commit.
67222         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
67224 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67226         Fix unportable awk script in vc-list-files.
67227         * build-aux/vc-list-files: In the replacement awk script, use
67228         substr with a second argument of 1, not zero.
67229         Report by Simon Josefsson.
67231 2009-02-28  Bruno Haible  <bruno@clisp.org>
67233         More support for FreeMiNT.
67234         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
67235         to FreeMiNT today.
67236         * lib/fwriting.c (fwriting): Likewise.
67237         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
67239 2009-02-28  Bruno Haible  <bruno@clisp.org>
67241         * tests/test-freadseek.c (main): Disable test beyond end of file on
67242         FreeMiNT.
67243         * tests/test-ftello.c (main): Likewise.
67244         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
67246 2009-02-28  Bruno Haible  <bruno@clisp.org>
67248         Add tentative support for FreeMiNT.
67249         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
67250         * lib/fpurge.c (fpurge): Likewise.
67251         * lib/freadable.c (freadable): Likewise.
67252         * lib/freading.c (freading): Likewise.
67253         * lib/freadptr.c (freadptr): Likewise.
67254         * lib/freadseek.c (freadptrinc): Likewise.
67255         * lib/fseeko.c (rpl_fseeko): Likewise.
67256         * lib/fseterr.c (fseterr): Likewise.
67257         * lib/fwritable.c (fwritable): Likewise.
67258         * lib/fwriting.c (fwriting): Likewise.
67259         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
67260         Hourihane.
67261         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
67263 2009-02-28  Bruno Haible  <bruno@clisp.org>
67265         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
67266         SIGCHLD.
67267         Reported by Jim Meyering.
67269 2009-02-28  Bruno Haible  <bruno@clisp.org>
67271         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
67272         Mention the results of these tests on various platforms.
67273         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
67274         order.
67275         * doc/posix-functions/printf.texi: Likewise.
67276         * doc/posix-functions/snprintf.texi: Likewise.
67277         * doc/posix-functions/sprintf.texi: Likewise.
67278         * doc/posix-functions/vfprintf.texi: Likewise.
67279         * doc/posix-functions/vprintf.texi: Likewise.
67280         * doc/posix-functions/vsnprintf.texi: Likewise.
67281         * doc/posix-functions/vsprintf.texi: Likewise.
67282         * doc/glibc-functions/obstack_printf.texi: Likewise.
67283         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
67285 2009-02-28  Bruno Haible  <bruno@clisp.org>
67287         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
67288         Reported by Loïc Minier <lool@dooz.org>.
67290 2009-02-27  Bruno Haible  <bruno@clisp.org>
67292         * gnulib-tool (func_import): Make the sed expression used to create the
67293         sed script for updating the .gitignore file POSIX compliant.
67294         Reported by Eric Blake.
67296 2009-02-27  Bruno Haible  <bruno@clisp.org>
67298         * gnulib-tool (sed): Don't alias as "sed --posix".
67299         Reported by Eric Blake.
67301 2009-02-27  Bruno Haible  <bruno@clisp.org>
67303         Avoid test link errors.
67304         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
67305         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
67306         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
67307         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
67308         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
67310 2009-02-27  Bruno Haible  <bruno@clisp.org>
67312         Avoid spurious "(cached)" in configure output.
67313         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
67314         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
67315         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
67316         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
67317         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
67318         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
67319         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
67320         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
67321         Reported by Eric Blake.
67323 2009-02-27  Eric Blake  <ebb9@byu.net>
67325         printf: fix regression in previous patch
67326         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
67328 2009-02-27  Bruno Haible  <bruno@clisp.org>
67330         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
67331         value.
67332         * lib/stdint.in.h: Likewise.
67333         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
67335 2009-02-27  Eric Blake  <ebb9@byu.net>
67337         doc: mention more functions added in cygwin 1.7.0
67338         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
67339         addition.
67340         * doc/posix-functions/open_wmemstream.texi: Likewise.
67341         * doc/posix-functions/wcsnlen.texi: Likewise.
67342         * doc/posix-functions/wcsnrtombs.texi: Likewise.
67343         * doc/posix-functions/wcstod.texi: Likewise.
67344         * doc/posix-functions/wcstof.texi: Likewise.
67345         * doc/posix-functions/wcstoimax.texi: Likewise.
67346         * doc/posix-functions/wcstok.texi: Likewise.
67347         * doc/posix-functions/wcstoumax.texi: Likewise.
67349         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
67350         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
67351         * doc/posix-functions/fprintf.texi: Update.
67352         * doc/posix-functions/printf.texi: Update.
67353         * doc/posix-functions/snprintf.texi: Update.
67354         * doc/posix-functions/sprintf.texi: Update.
67355         * doc/posix-functions/vfprintf.texi: Update.
67356         * doc/posix-functions/vprintf.texi: Update.
67357         * doc/posix-functions/vsnprintf.texi: Update.
67358         * doc/posix-functions/vsprintf.texi: Update.
67359         * doc/glibc-functions/obstack_printf.texi: Update.
67360         * doc/glibc-functions/obstack_vprintf.texi: Update.
67362 2009-02-26  Eric Blake  <ebb9@byu.net>
67364         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
67365         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
67366         compilation bug by using runtime conversion.
67367         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
67368         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
67369         * modules/ceill-tests (Files): Use nan.h.
67370         * modules/floorl-tests (Files): Likewise.
67371         * modules/frexpl-tests (Files): Likewise.
67372         * modules/isnanl-tests (Files): Likewise.
67373         * modules/ldexpl-tests (Files): Likewise.
67374         * modules/roundl-tests (Files): Likewise.
67375         * modules/truncl-tests (Files): Likewise.
67376         * tests/test-ceill.c (main): Use a working NaN.
67377         * tests/test-floorl.c (main): Likewise.
67378         * tests/test-frexpl.c (main): Likewise.
67379         * tests/test-isnan.c (test_long_double): Likewise.
67380         * tests/test-isnanl.h (main): Likewise.
67381         * tests/test-ldexpl.h (main): Likewise.
67382         * tests/test-roundl.h (main): Likewise.
67383         * tests/test-truncl.h (main): Likewise.
67384         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
67386 2009-02-26  Eric Blake  <ebb9@byu.net>
67387             Bruno Haible  <bruno@clisp.org>
67389         Work around a *printf bug with %ls on Solaris.
67390         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
67391         precision is specified, sprintf stops converting the wide string
67392         argument when the number of bytes that have been produced by this
67393         conversion equals or exceeds the precision.
67394         * doc/posix-functions/fprintf.texi: Update.
67395         * doc/posix-functions/printf.texi: Update.
67396         * doc/posix-functions/snprintf.texi: Update.
67397         * doc/posix-functions/sprintf.texi: Update.
67398         * doc/posix-functions/vfprintf.texi: Update.
67399         * doc/posix-functions/vprintf.texi: Update.
67400         * doc/posix-functions/vsnprintf.texi: Update.
67401         * doc/posix-functions/vsprintf.texi: Update.
67402         * doc/glibc-functions/obstack_printf.texi: Update.
67403         * doc/glibc-functions/obstack_vprintf.texi: Update.
67405 2009-02-26  Eric Blake  <ebb9@byu.net>
67407         stdlib: favor compiler check of random.h
67408         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
67409         to avoid an ObjC random.h installed by Swarm.
67411 2009-02-26  Bruno Haible  <bruno@clisp.org>
67413         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
67414         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
67415         Reported by Gary V. Vaughan <gary@gnu.org>.
67417 2009-02-26  Bruno Haible  <bruno@clisp.org>
67419         Fix *printf behaviour regarding the %ls directive.
67420         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
67421         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
67422         NEED_PRINTF_DIRECTIVE_LS.
67423         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
67424         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
67425         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67426         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
67427         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
67428         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
67429         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
67430         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67431         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67432         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67433         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67434         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
67435         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67436         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67437         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67438         * doc/posix-functions/fprintf.texi: Update.
67439         * doc/posix-functions/printf.texi: Update.
67440         * doc/posix-functions/snprintf.texi: Update.
67441         * doc/posix-functions/sprintf.texi: Update.
67442         * doc/posix-functions/vfprintf.texi: Update.
67443         * doc/posix-functions/vprintf.texi: Update.
67444         * doc/posix-functions/vsnprintf.texi: Update.
67445         * doc/posix-functions/vsprintf.texi: Update.
67446         * doc/glibc-functions/obstack_printf.texi: Update.
67447         * doc/glibc-functions/obstack_vprintf.texi: Update.
67448         Reported by Eric Blake.
67450 2009-02-25  Bruno Haible  <bruno@clisp.org>
67452         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
67453         with known value.
67454         Reported by Gary V. Vaughan <gary@gnu.org>.
67456 2009-02-25  Bruno Haible  <bruno@clisp.org>
67458         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
67459         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
67460         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
67461         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
67462         Reported by Gary V. Vaughan <gary@gnu.org>.
67464 2009-02-25  Bruno Haible  <bruno@clisp.org>
67466         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
67467         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
67468         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
67469         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
67470         Reported by Gary V. Vaughan <gary@gnu.org>.
67472 2009-02-25  Eric Blake  <ebb9@byu.net>
67474         tests: skip fseek/ftell tests if ungetc is broken
67475         * m4/ungetc.m4: New file.
67476         * modules/fseek-tests: Split test, so ungetc dependency is
67477         separate from rest of test.
67478         * modules/fseeko-tests: Likewise.
67479         * modules/ftell-tests: Likewise.
67480         * modules/ftello-tests: Likewise.
67481         * tests/test-fseek.c (main): Isolate ungetc dependency.
67482         * tests/test-fseeko.c (main): Likewise.
67483         * tests/test-ftell.c (main): Likewise.
67484         * tests/test-ftello.c (main): Likewise.
67485         * tests/test-fseek2.sh: New file.
67486         * tests/test-fseeko2.sh: Likewise.
67487         * tests/test-ftell2.sh: Likewise.
67488         * tests/test-ftello2.sh: Likewise.
67490 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
67492         test-getaddrinfo: fix usage of skip return code 77
67493         * tests/test-gettaddrinfo.c: Return skip code 77 only
67494         for first occurrence of skip (4x77 is not 77)
67496 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
67498         strtod: avoid C99 decl-after-statement
67499         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
67501 2009-02-24  Eric Blake  <ebb9@byu.net>
67503         strtod: detect HP-UX 11.31 bug
67504         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
67505         Reported by Gary V. Vaughan.
67507 2009-02-23  Bruno Haible  <bruno@clisp.org>
67509         Fix invalid read past end of memory block.
67510         * lib/vasnprintf.c (DCHAR_SET): Define.
67511         (local_wcslen): Define only when needed.
67512         (local_strnlen, local_wcsnlen): New functions.
67513         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
67514         directives that involve a conversion ourselves.
67515         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
67516         wcsnlen, mbrtowc, wcrtomb.
67517         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
67518         * tests/test-vasprintf-posix.c (test_function): Likewise.
67519         * tests/test-snprintf-posix.h (test_function): Likewise.
67520         * tests/test-sprintf-posix.h (test_function): Likewise.
67521         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67523 2009-02-22  Bruno Haible  <bruno@clisp.org>
67525         Implement new clarified decomposition of Hangul syllables.
67526         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
67527         of type LTV, return only a pairwise decomposition.
67528         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
67529         Likewise.
67530         * tests/uninorm/test-decomposition.c (main): Updated expected result.
67531         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
67532         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
67534 2009-02-22  Bruno Haible  <bruno@clisp.org>
67536         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
67537         zero-length results and shrink excess allocated memory.
67538         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
67539         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
67540         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
67541         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
67542         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
67543         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
67544         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
67545         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
67546         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
67547         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
67548         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
67549         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
67551 2009-02-21  Bruno Haible  <bruno@clisp.org>
67553         * doc/gnulib.texi: Include safe-alloc.texi earlier.
67554         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
67555         spaces after a period. Put a space between a macro name and its
67556         argument list. Trivial rewordings.
67557         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
67558         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
67559         (main): Return 0 explicitly.
67561 2009-02-21  Bruno Haible  <bruno@clisp.org>
67563         Tests for module 'uninorm/filter'.
67564         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
67565         * modules/uninorm/filter-tests: New file.
67567         New module 'uninorm/filter'.
67568         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
67569         uninorm_filter_flush, uninorm_filter_free): New declarations.
67570         * lib/uninorm/uninorm-filter.c: New file.
67571         * modules/uninorm/filter: New file.
67573 2009-02-21  Bruno Haible  <bruno@clisp.org>
67575         Tests for module 'uninorm/nfkc'.
67576         * tests/uninorm/test-nfkc.c: New file.
67577         * tests/uninorm/test-u8-nfkc.c: New file.
67578         * tests/uninorm/test-u16-nfkc.c: New file.
67579         * tests/uninorm/test-u32-nfkc.c: New file.
67580         * tests/uninorm/test-u32-nfkc-big.sh: New file.
67581         * tests/uninorm/test-u32-nfkc-big.c: New file.
67582         * modules/uninorm/nfkc-tests: New file.
67584         New module 'uninorm/nfkc'.
67585         * lib/uninorm/nfkc.c: New file.
67586         * modules/uninorm/nfkc: New file.
67588         Tests for module 'uninorm/nfkd'.
67589         * tests/uninorm/test-nfkd.c: New file.
67590         * tests/uninorm/test-u8-nfkd.c: New file.
67591         * tests/uninorm/test-u16-nfkd.c: New file.
67592         * tests/uninorm/test-u32-nfkd.c: New file.
67593         * tests/uninorm/test-u32-nfkd-big.sh: New file.
67594         * tests/uninorm/test-u32-nfkd-big.c: New file.
67595         * modules/uninorm/nfkd-tests: New file.
67597         New module 'uninorm/nfkd'.
67598         * lib/uninorm/nfkd.c: New file.
67599         * modules/uninorm/nfkd: New file.
67601         Tests for module 'uninorm/nfc'.
67602         * tests/uninorm/test-nfc.c: New file.
67603         * tests/uninorm/test-u8-nfc.c: New file.
67604         * tests/uninorm/test-u16-nfc.c: New file.
67605         * tests/uninorm/test-u32-nfc.c: New file.
67606         * tests/uninorm/test-u32-nfc-big.sh: New file.
67607         * tests/uninorm/test-u32-nfc-big.c: New file.
67608         * modules/uninorm/nfc-tests: New file.
67610         New module 'uninorm/nfc'.
67611         * lib/uninorm/nfc.c: New file.
67612         * modules/uninorm/nfc: New file.
67614         Tests for module 'uninorm/nfd'.
67615         * tests/uninorm/test-nfd.c: New file.
67616         * tests/uninorm/test-u8-nfd.c: New file.
67617         * tests/uninorm/test-u16-nfd.c: New file.
67618         * tests/uninorm/test-u32-nfd.c: New file.
67619         * tests/uninorm/test-u32-nfd-big.sh: New file.
67620         * tests/uninorm/test-u32-nfd-big.c: New file.
67621         * tests/uninorm/test-u32-normalize-big.h: New file.
67622         * tests/uninorm/test-u32-normalize-big.c: New file.
67623         * tests/uninorm/NormalizationTest.txt: New file, created from
67624         Unicode 5.1.0 NormalizationTest.txt.
67625         * modules/uninorm/nfd-tests: New file.
67627         New module 'uninorm/nfd'.
67628         * lib/uninorm/nfd.c: New file.
67629         * modules/uninorm/nfd: New file.
67631         New module 'uninorm/u32-normalize'.
67632         * lib/uninorm/u32-normalize.c: New file.
67633         * modules/uninorm/u32-normalize: New file.
67635         New module 'uninorm/u16-normalize'.
67636         * lib/uninorm/u16-normalize.c: New file.
67637         * modules/uninorm/u16-normalize: New file.
67639         New module 'uninorm/u8-normalize'.
67640         * lib/uninorm/u8-normalize.c: New file.
67641         * lib/uninorm/normalize-internal.h: New file.
67642         * lib/uninorm/u-normalize-internal.h: New file.
67643         * modules/uninorm/u8-normalize: New file.
67645         New module 'uninorm/decompose-internal'.
67646         * lib/uninorm/decompose-internal.c: New file.
67647         * modules/uninorm/decompose-internal: New file.
67649         Tests for module 'uninorm/composition'.
67650         * tests/uninorm/test-composition.c: New file.
67651         * modules/uninorm/composition-tests: New file.
67653         New module 'uninorm/composition'.
67654         * lib/uninorm/composition.c: New file.
67655         * lib/uninorm/composition-table.gperf: New file, generated by
67656         gen-uni-tables.
67657         * modules/uninorm/composition: New file.
67659         Tests for module 'uninorm/compat-decomposition'.
67660         * tests/uninorm/test-compat-decomposition.c: New file.
67661         * modules/uninorm/compat-decomposition-tests: New file.
67663         New module 'uninorm/compat-decomposition'.
67664         * lib/uninorm/decompose-internal.h: New file.
67665         * lib/uninorm/compat-decomposition.c: New file.
67666         * modules/uninorm/compat-decomposition: New file.
67668         Tests for module 'uninorm/canonical-decomposition'.
67669         * tests/uninorm/test-canonical-decomposition.c: New file.
67670         * modules/uninorm/canonical-decomposition-tests: New file.
67672         New module 'uninorm/canonical-decomposition'.
67673         * lib/uninorm/canonical-decomposition.c: New file.
67674         * modules/uninorm/canonical-decomposition: New file.
67676         Tests for module 'uninorm/decomposition'.
67677         * tests/uninorm/test-decomposition.c: New file.
67678         * modules/uninorm/decomposition-tests: New file.
67680         New module 'uninorm/decomposition'.
67681         * lib/uninorm/decomposition.c: New file.
67682         * modules/uninorm/decomposition: New file.
67684         New module 'uninorm/decomposition-table'.
67685         * lib/uninorm/decomposition-table.h: New file.
67686         * lib/uninorm/decomposition-table.c: New file.
67687         * lib/uninorm/decomposition-table1.h: New file, generated by
67688         gen-uni-tables.
67689         * lib/uninorm/decomposition-table2.h: New file, generated by
67690         gen-uni-tables.
67691         * modules/uninorm/decomposition-table: New file.
67693         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
67694         (UC_DECOMP_*): New enumeration items.
67695         (get_decomposition): New function.
67696         (struct decomp_table): New type.
67697         (output_decomposition, output_decomposition_tables): New functions.
67698         (unicode_composition_exclusions): New variable.
67699         (fill_composition_exclusions, debug_output_composition_tables): New
67700         functions.
67701         (main): Accept one more argument. Invoke fill_composition_exclusions.
67702         Output decomposition and composition tables.
67704         New module 'uninorm/base'.
67705         * lib/uninorm.h: New file.
67706         * lib/unictype.h: Update comment.
67707         * modules/uninorm/base: New file.
67709 2009-02-21  David Lutterkort  <lutter@redhat.com>
67711         Tests for module 'safe-alloc'.
67712         * tests/test-safe-alloc.c: New file.
67713         * modules/safe-alloc-tests: New file.
67715         New module 'safe-alloc'.
67716         * lib/safe-alloc.h: New file.
67717         * lib/safe-alloc.c: New file.
67718         * m4/safe-alloc.m4: New file.
67719         * modules/safe-alloc: New file.
67720         * doc/safe-alloc.texi: New file.
67721         * doc/gnulib.texi: Include it.
67722         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
67723         safe-alloc.
67725 2009-02-18  Bruno Haible  <bruno@clisp.org>
67727         Fix link error on non-glibc systems.
67728         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
67729         variable.
67730         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
67732 2009-02-18  Jim Meyering  <meyering@redhat.com>
67734         fts: avoid used-uninitialized error due to recent change
67735         * lib/fts.c (fts_read): Guard uses of the new member,
67736         parent->fts_n_dirs_remaining, since it's not relevant for
67737         the parent of a directory specified on the command-line.
67739 2009-02-17  James Youngman  <jay@gnu.org>
67740             Bruno Haible  <bruno@clisp.org>
67742         * m4/include_next.m4: Reformulate comment.
67744 2009-02-16  Jim Meyering  <meyering@redhat.com>
67746         fts: add #if guards so that the fts_lgpl module still builds
67747         * lib/fts.c: Guard just-added hash-table-using parts with
67748         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
67749         Reported by Simon Josefsson.
67751 2009-02-15  Bruno Haible  <bruno@clisp.org>
67753         * modules/array-mergesort-tests: New file.
67754         * tests/test-array-mergesort.c: New file.
67756         New module 'array-mergesort'.
67757         * modules/array-mergesort: New file.
67758         * lib/array-mergesort.h: New file.
67760 2009-02-15  Bruno Haible  <bruno@clisp.org>
67762         Fix 2009-02-07 commit.
67763         * lib/gen-uni-tables.c (output_predicate, output_category,
67764         output_combclass, output_bidi_category, output_decimal_digit,
67765         output_digit, output_numeric, output_mirror, output_scripts,
67766         output_ident_category, output_simple_mapping): Fix format directives.
67767         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
67769 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
67771         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
67772         fixes are available from IBM.
67774 2009-02-13  Jim Meyering  <meyering@redhat.com>
67776         fts: arrange not to stat non-directories in more cases
67777         This makes GNU find (when it doesn't need to stat each file)
67778         *much* more efficient at traversing reiserfs file systems.
67779         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
67780         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
67781         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
67782         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
67783         (leaf_optimization_applies): New function.
67784         (LCO_hash, LCO_compare): New helper functions.
67785         (link_count_optimize_ok): New function.
67786         (fts_stat): Initialize new member (if dir).
67787         (fts_read): Decrement parent's fts_n_dirs_remaining count if
67788         we've just stat'ed a directory.  Skip the stat call when possible.
67789         ---
67790         Note this AFS-related exchange:
67791         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
67792         and note find's pioctl call in find/fstype.c.
67793         But that is necessary only if you want to enable the
67794         optimization for AFS, and for now, I don't.
67796         fts: move a function definition "up" (no semantic change)
67797         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
67798         "up" to precede upcoming use of a related function.
67800 2009-02-11  Jim Meyering  <meyering@redhat.com>
67802         fts: correct internal computation of nlinks (optimization-related)
67803         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
67804         whether the current entry is a directory, so don't test it.
67806 2009-02-10  Bruno Haible  <bruno@clisp.org>
67808         Tests for module 'uniwbrk/ulc-wordbreaks'.
67809         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
67810         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
67811         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
67813         Tests for module 'uniwbrk/u32-wordbreaks'.
67814         * modules/uniwbrk/u32-wordbreaks-tests: New file.
67815         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
67817         Tests for module 'uniwbrk/u16-wordbreaks'.
67818         * modules/uniwbrk/u16-wordbreaks-tests: New file.
67819         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
67821         Tests for module 'uniwbrk/u8-wordbreaks'.
67822         * modules/uniwbrk/u8-wordbreaks-tests: New file.
67823         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
67825 2009-02-10  Bruno Haible  <bruno@clisp.org>
67827         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
67828         property.
67829         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
67830         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
67831         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
67833 2009-02-10  Simon Josefsson  <simon@josefsson.org>
67835         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
67836         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
67838 2009-02-10  Bruno Haible  <bruno@clisp.org>
67840         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
67841         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
67842         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
67843         * lib/unilbrk/u8-possible-linebreaks.c: Update.
67844         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
67845         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
67847 2009-02-09  Simon Josefsson  <simon@josefsson.org>
67849         * lib/sockets.h (gl_fd_to_handle): New function.
67851         * tests/test-sockets.c: Call gl_fd_to_handle.
67853 2009-02-09  Bruno Haible  <bruno@clisp.org>
67855         * doc/havelib.texi: Document the conventions on bi-arch systems.
67857 2009-02-08  Bruno Haible  <bruno@clisp.org>
67859         Document the AC_LIB_LINKFLAGS macro.
67860         * doc/havelib.texi: New file, mostly written on 2005-05-24.
67861         * doc/gnulib.texi: Include it.
67863 2009-02-08  Bruno Haible  <bruno@clisp.org>
67865         Fix wrong order of sections, compared to TOC.
67866         * doc/gnulib.texi: Include relocatable-maint.texi after the
67867         "Regular expressions" node, not before.
67869 2009-02-08  Bruno Haible  <bruno@clisp.org>
67871         Tests for module 'unicase/totitle'.
67872         * modules/unicase/totitle-tests: New file.
67874         Tests for module 'unicase/tolower'.
67875         * modules/unicase/tolower-tests: New file.
67877         Tests for module 'unicase/toupper'.
67878         * modules/unicase/toupper-tests: New file.
67879         * tests/unicase/test-mapping-part1.h: New file.
67880         * tests/unicase/test-mapping-part2.h: New file.
67882         New module 'unicase/totitle'.
67883         * modules/unicase/totitle: New file.
67884         * lib/unicase/totitle.c: New file.
67886         New module 'unicase/tolower'.
67887         * modules/unicase/tolower: New file.
67888         * lib/unicase/tolower.c: New file.
67890         New module 'unicase/toupper'.
67891         * modules/unicase/toupper: New file.
67892         * lib/unicase/toupper.c: New file.
67893         * lib/unicase/simple-mapping.h: New file.
67895         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
67896         (mapping_table): New structure.
67897         (output_simple_mapping): New function.
67898         (main): Invoke output_simple_mapping_test and output_simple_mapping.
67899         * modules/gen-uni-tables (Description): Update.
67900         * lib/unicase/toupper.h: New file, automatically generated by
67901         gen-uni-tables.
67902         * lib/unicase/tolower.h: New file, automatically generated by
67903         gen-uni-tables.
67904         * lib/unicase/totitle.h: New file, automatically generated by
67905         gen-uni-tables.
67906         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
67907         gen-uni-tables.
67908         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
67909         gen-uni-tables.
67910         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
67911         gen-uni-tables.
67913         New module 'unicase/base'.
67914         * modules/unicase/base: New file.
67915         * lib/unicase.h: New file.
67917 2009-02-08  Bruno Haible  <bruno@clisp.org>
67919         New module 'uniwbrk/ulc-wordbreaks'.
67920         * modules/uniwbrk/ulc-wordbreaks: New file.
67921         * lib/uniwbrk/ulc-wordbreaks.c: New file.
67923         New module 'uniwbrk/u32-wordbreaks'.
67924         * modules/uniwbrk/u32-wordbreaks: New file.
67925         * lib/uniwbrk/u32-wordbreaks.c: New file.
67927         New module 'uniwbrk/u16-wordbreaks'.
67928         * modules/uniwbrk/u16-wordbreaks: New file.
67929         * lib/uniwbrk/u16-wordbreaks.c: New file.
67931         New module 'uniwbrk/u8-wordbreaks'.
67932         * modules/uniwbrk/u8-wordbreaks: New file.
67933         * lib/uniwbrk/u8-wordbreaks.c: New file.
67934         * lib/uniwbrk/u-wordbreaks.h: New file.
67936         New module 'uniwbrk/table'.
67937         * modules/uniwbrk/table: New file.
67938         * lib/uniwbrk/wbrktable.h: New file.
67939         * lib/uniwbrk/wbrktable.c: New file.
67941         New module 'uniwbrk/wordbreak-property'.
67942         * modules/uniwbrk/wordbreak-property: New file.
67943         * lib/uniwbrk/wordbreak-property.c: New file.
67945         * lib/gen-uni-tables.c (WBP_*): New enum items.
67946         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
67947         (unicode_org_wbp): New variable.
67948         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
67949         New functions.
67950         (wbp_table): New structure.
67951         (output_wbp, output_wbrk_tables): New functions.
67952         (main): Accept additional argument. Invoke fill_org_wbp,
67953         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
67954         output_wbrk_tables.
67955         * modules/gen-uni-tables (Description): Update.
67956         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
67957         gen-uni-tables.
67959         New module 'uniwbrk/base'.
67960         * modules/uniwbrk/base: New file.
67961         * lib/uniwbrk.h: New file.
67963 2009-02-08  Bruno Haible  <bruno@clisp.org>
67965         Update to Unicode 5.1.0.
67966         * lib/gen-uni-tables.c (is_property_alphabetic): Include
67967         U+2185..U+2188.
67968         (is_property_default_ignorable_code_point): Don't include characters
67969         of category Cc or Cs and not-a-characters.
67970         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
67971         U+0D79, U+109E, U+109F, U+A60C.
67972         * lib/unictype/bidi_of.h: Regenerated.
67973         * lib/unictype/blocks.h: Regenerated.
67974         * lib/unictype/categ_C.h: Regenerated.
67975         * lib/unictype/categ_Cf.h: Regenerated.
67976         * lib/unictype/categ_Cn.h: Regenerated.
67977         * lib/unictype/categ_L.h: Regenerated.
67978         * lib/unictype/categ_Ll.h: Regenerated.
67979         * lib/unictype/categ_Lm.h: Regenerated.
67980         * lib/unictype/categ_Lo.h: Regenerated.
67981         * lib/unictype/categ_Lu.h: Regenerated.
67982         * lib/unictype/categ_M.h: Regenerated.
67983         * lib/unictype/categ_Mc.h: Regenerated.
67984         * lib/unictype/categ_Me.h: Regenerated.
67985         * lib/unictype/categ_Mn.h: Regenerated.
67986         * lib/unictype/categ_N.h: Regenerated.
67987         * lib/unictype/categ_Nd.h: Regenerated.
67988         * lib/unictype/categ_Nl.h: Regenerated.
67989         * lib/unictype/categ_No.h: Regenerated.
67990         * lib/unictype/categ_P.h: Regenerated.
67991         * lib/unictype/categ_Pd.h: Regenerated.
67992         * lib/unictype/categ_Pe.h: Regenerated.
67993         * lib/unictype/categ_Pf.h: Regenerated.
67994         * lib/unictype/categ_Pi.h: Regenerated.
67995         * lib/unictype/categ_Po.h: Regenerated.
67996         * lib/unictype/categ_Ps.h: Regenerated.
67997         * lib/unictype/categ_S.h: Regenerated.
67998         * lib/unictype/categ_Sk.h: Regenerated.
67999         * lib/unictype/categ_Sm.h: Regenerated.
68000         * lib/unictype/categ_So.h: Regenerated.
68001         * lib/unictype/categ_of.h: Regenerated.
68002         * lib/unictype/combining.h: Regenerated.
68003         * lib/unictype/ctype_alnum.h: Regenerated.
68004         * lib/unictype/ctype_alpha.h: Regenerated.
68005         * lib/unictype/ctype_graph.h: Regenerated.
68006         * lib/unictype/ctype_lower.h: Regenerated.
68007         * lib/unictype/ctype_print.h: Regenerated.
68008         * lib/unictype/ctype_punct.h: Regenerated.
68009         * lib/unictype/ctype_upper.h: Regenerated.
68010         * lib/unictype/decdigit.h: Regenerated.
68011         * lib/unictype/digit.h: Regenerated.
68012         * lib/unictype/mirror.h: Regenerated.
68013         * lib/unictype/numeric.h: Regenerated.
68014         * lib/unictype/pr_alphabetic.h: Regenerated.
68015         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
68016         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
68017         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
68018         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
68019         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
68020         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
68021         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
68022         * lib/unictype/pr_combining.h: Regenerated.
68023         * lib/unictype/pr_dash.h: Regenerated.
68024         * lib/unictype/pr_decimal_digit.h: Regenerated.
68025         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
68026         * lib/unictype/pr_deprecated.h: Regenerated.
68027         * lib/unictype/pr_diacritic.h: Regenerated.
68028         * lib/unictype/pr_extender.h: Regenerated.
68029         * lib/unictype/pr_format_control.h: Regenerated.
68030         * lib/unictype/pr_grapheme_base.h: Regenerated.
68031         * lib/unictype/pr_grapheme_extend.h: Regenerated.
68032         * lib/unictype/pr_grapheme_link.h: Regenerated.
68033         * lib/unictype/pr_id_continue.h: Regenerated.
68034         * lib/unictype/pr_id_start.h: Regenerated.
68035         * lib/unictype/pr_ideographic.h: Regenerated.
68036         * lib/unictype/pr_ignorable_control.h: Regenerated.
68037         * lib/unictype/pr_lowercase.h: Regenerated.
68038         * lib/unictype/pr_math.h: Regenerated.
68039         * lib/unictype/pr_numeric.h: Regenerated.
68040         * lib/unictype/pr_other_alphabetic.h: Regenerated.
68041         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
68042         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
68043         * lib/unictype/pr_other_id_continue.h: Regenerated.
68044         * lib/unictype/pr_other_lowercase.h: Regenerated.
68045         * lib/unictype/pr_other_math.h: Regenerated.
68046         * lib/unictype/pr_punctuation.h: Regenerated.
68047         * lib/unictype/pr_sentence_terminal.h: Regenerated.
68048         * lib/unictype/pr_soft_dotted.h: Regenerated.
68049         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
68050         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
68051         * lib/unictype/pr_unified_ideograph.h: Regenerated.
68052         * lib/unictype/pr_uppercase.h: Regenerated.
68053         * lib/unictype/pr_xid_continue.h: Regenerated.
68054         * lib/unictype/pr_xid_start.h: Regenerated.
68055         * lib/unictype/pr_zero_width.h: Regenerated.
68056         * lib/unictype/scripts.h: Regenerated.
68057         * lib/unictype/scripts_byname.gperf: Regenerated.
68058         * lib/unictype/sy_java_ident.h: Regenerated.
68059         * lib/unilbrk/lbrkprop1.h: Regenerated.
68060         * lib/unilbrk/lbrkprop2.h: Regenerated.
68061         * tests/unictype/test-categ_C.c: Regenerated.
68062         * tests/unictype/test-categ_Cf.c: Regenerated.
68063         * tests/unictype/test-categ_Cn.c: Regenerated.
68064         * tests/unictype/test-categ_L.c: Regenerated.
68065         * tests/unictype/test-categ_Ll.c: Regenerated.
68066         * tests/unictype/test-categ_Lm.c: Regenerated.
68067         * tests/unictype/test-categ_Lo.c: Regenerated.
68068         * tests/unictype/test-categ_Lu.c: Regenerated.
68069         * tests/unictype/test-categ_M.c: Regenerated.
68070         * tests/unictype/test-categ_Mc.c: Regenerated.
68071         * tests/unictype/test-categ_Me.c: Regenerated.
68072         * tests/unictype/test-categ_Mn.c: Regenerated.
68073         * tests/unictype/test-categ_N.c: Regenerated.
68074         * tests/unictype/test-categ_Nd.c: Regenerated.
68075         * tests/unictype/test-categ_Nl.c: Regenerated.
68076         * tests/unictype/test-categ_No.c: Regenerated.
68077         * tests/unictype/test-categ_P.c: Regenerated.
68078         * tests/unictype/test-categ_Pd.c: Regenerated.
68079         * tests/unictype/test-categ_Pe.c: Regenerated.
68080         * tests/unictype/test-categ_Pf.c: Regenerated.
68081         * tests/unictype/test-categ_Pi.c: Regenerated.
68082         * tests/unictype/test-categ_Po.c: Regenerated.
68083         * tests/unictype/test-categ_Ps.c: Regenerated.
68084         * tests/unictype/test-categ_S.c: Regenerated.
68085         * tests/unictype/test-categ_Sk.c: Regenerated.
68086         * tests/unictype/test-categ_Sm.c: Regenerated.
68087         * tests/unictype/test-categ_So.c: Regenerated.
68088         * tests/unictype/test-ctype_alnum.c: Regenerated.
68089         * tests/unictype/test-ctype_alpha.c: Regenerated.
68090         * tests/unictype/test-ctype_graph.c: Regenerated.
68091         * tests/unictype/test-ctype_lower.c: Regenerated.
68092         * tests/unictype/test-ctype_print.c: Regenerated.
68093         * tests/unictype/test-ctype_punct.c: Regenerated.
68094         * tests/unictype/test-ctype_upper.c: Regenerated.
68095         * tests/unictype/test-decdigit.h: Regenerated.
68096         * tests/unictype/test-digit.h: Regenerated.
68097         * tests/unictype/test-numeric.h: Regenerated.
68098         * tests/unictype/test-pr_alphabetic.c: Regenerated.
68099         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
68100         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
68101         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
68102         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
68103         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
68104         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
68105         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
68106         * tests/unictype/test-pr_combining.c: Regenerated.
68107         * tests/unictype/test-pr_dash.c: Regenerated.
68108         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
68109         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
68110         * tests/unictype/test-pr_deprecated.c: Regenerated.
68111         * tests/unictype/test-pr_diacritic.c: Regenerated.
68112         * tests/unictype/test-pr_extender.c: Regenerated.
68113         * tests/unictype/test-pr_format_control.c: Regenerated.
68114         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
68115         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
68116         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
68117         * tests/unictype/test-pr_id_continue.c: Regenerated.
68118         * tests/unictype/test-pr_id_start.c: Regenerated.
68119         * tests/unictype/test-pr_ideographic.c: Regenerated.
68120         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
68121         * tests/unictype/test-pr_lowercase.c: Regenerated.
68122         * tests/unictype/test-pr_math.c: Regenerated.
68123         * tests/unictype/test-pr_numeric.c: Regenerated.
68124         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
68125         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
68126         Regenerated.
68127         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
68128         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
68129         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
68130         * tests/unictype/test-pr_other_math.c: Regenerated.
68131         * tests/unictype/test-pr_punctuation.c: Regenerated.
68132         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
68133         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
68134         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
68135         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
68136         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
68137         * tests/unictype/test-pr_uppercase.c: Regenerated.
68138         * tests/unictype/test-pr_xid_continue.c: Regenerated.
68139         * tests/unictype/test-pr_xid_start.c: Regenerated.
68140         * tests/unictype/test-pr_zero_width.c: Regenerated.
68142         Update to Unicode 5.1.0.
68143         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
68144         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
68145         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
68146         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
68147         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
68148         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
68149         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
68150         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
68151         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
68152         (nonspacing_table_ind): Update.
68153         * tests/uniwidth/test-uc_width2.sh: Update expected result.
68155         Update to Unicode 5.1.0.
68156         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
68157         code transform.
68158         * lib/uniname/uniname.c (unicode_character_name,
68159         unicode_name_character): Add the range 0x1Fxxx to the code transform.
68160         * lib/uniname/uninames.h: Regenerated.
68161         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
68163 2009-02-07  Bruno Haible  <bruno@clisp.org>
68165         Merge gen-ctype and gen-lbrk into a single program.
68166         * lib/gen-uni-tables.c: New file, incorporating
68167         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
68168         Add directory prefixes to the names of the generated files.
68169         * lib/unictype/gen-ctype.c: Remove file.
68170         * lib/unilbrk/gen-lbrk.c: Remove file.
68171         * modules/gen-uni-tables: New file.
68172         * modules/unictype/gen-ctype: Remove file.
68173         * modules/unilbrk/gen-lbrk: Remove file.
68175 2009-02-07  Bruno Haible  <bruno@clisp.org>
68177         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
68179         New module 'unistr/u32-strcoll'.
68180         * modules/unistr/u32-strcoll: New file.
68181         * lib/unistr/u32-strcoll.c: New file.
68183         New module 'unistr/u16-strcoll'.
68184         * modules/unistr/u16-strcoll: New file.
68185         * lib/unistr/u16-strcoll.c: New file.
68187         New module 'unistr/u8-strcoll'.
68188         * modules/unistr/u8-strcoll: New file.
68189         * lib/unistr/u8-strcoll.c: New file.
68190         * lib/unistr/u-strcoll.h: New file.
68192 2009-02-07  Bruno Haible  <bruno@clisp.org>
68194         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
68195         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
68196         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
68197         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
68198         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
68199         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
68201 2009-02-07  Bruno Haible  <bruno@clisp.org>
68203         Make 64-bit clean.
68204         * lib/unictype/gen-ctype.c (output_predicate, output_category,
68205         output_combclass, output_bidi_category, output_decimal_digit,
68206         output_digit, output_numeric, output_mirror, output_scripts,
68207         output_ident_category): Use proper width specifier in format strings.
68209 2009-02-07  Bruno Haible  <bruno@clisp.org>
68211         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
68212         failure behaviour.
68214 2009-02-07  Jim Meyering  <meyering@redhat.com>
68216         regex: avoid compilation failure with upcoming gcc-4.4
68217         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
68218         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
68219         "... error: integer overflow in preprocessor expression".
68221 2009-02-05  Ben Pfaff  <blp@gnu.org>
68223         Fix link errors on Windows when close module is used.
68224         * modules/close: Add $(LIB_CLOSE) to Link section.
68225         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
68226         $(LIB_CLOSE) on Windows.
68228 2009-02-05  Jim Meyering  <meyering@redhat.com>
68230         still avoid unused-parameter warnings, but do it cleanly
68231         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
68232         (get_fs_usage): Cast to void instead.
68233         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
68234         (dev_from_mount_options, read_file_system_list): Cast to void.
68235         Prompted by Bruno Haible.
68237 2009-02-04  Jim Meyering  <meyering@redhat.com>
68239         fsusage.c: correct copyright year
68240         * lib/fsusage.c: Reflect year in which the change is pushed into
68242         avoid misc. warnings
68243         * lib/fsusage.c (UNUSED_PARAM): Define.
68244         (get_fs_usage): Mark parameter "disk" as unused.
68245         * lib/getugroups.c (getgrent): Use "void" in prototype.
68246         * lib/mountlist.c: Mark unused parameters.
68247         (read_file_system_list): Declare a local with "const".
68248         * lib/nanosleep.c (getnow): Declare static.
68249         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
68251         dirfd: set errno upon failure
68252         * lib/dirfd.c: Include <errno.h>.
68253         Set errno to ENOTSUP when returning -1.
68254         * modules/dirfd (Depends-on): Add errno.
68255         Suggested by John Kodis <kodis@comcast.net>.
68257 2009-02-01  Bruno Haible  <bruno@clisp.org>
68259         Don't assume sizeof (long) >= sizeof (void *).
68260         * lib/memcmp.c: Include stdint.h.
68261         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
68262         srcp2 to 'const byte *'.
68263         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
68264         types to uintptr_t.
68265         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
68266         * modules/memcmp (Depends-on): Add stdint.
68267         Reported by Ozkan Sezer <sezeroz@gmail.com>.
68269 2009-01-30  Eric Blake  <ebb9@byu.net>
68271         fix more require-before-expand issues
68272         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
68273         expand, AC_PROG_AWK.
68274         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
68276 2009-01-28  Eric Blake  <ebb9@byu.net>
68278         version-etc: use consistent URL formatting
68279         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
68280         Improve formatting.  Use fputs for string without %.
68282 2009-01-28  Jim Meyering  <meyering@redhat.com>
68284         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
68285         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
68286         "underquoted definition of NAME" from autoconf-2.59.
68288 2009-01-28  Bruno Haible  <bruno@clisp.org>
68290         * doc/gnulib.texi: Add "Obsolete modules" to index.
68292 2009-01-28  Jim Meyering  <meyering@redhat.com>
68294         useless-if-before-free: recognize more variants
68295         * build-aux/useless-if-before-free: Also recognize e.g.,
68296         if (NULL != p) free (p);
68298 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
68300         test-getaddrinfo: skip (don't fail) this test when there's no network
68301         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
68302         on the presumption that it means you lack network access.
68304 2009-01-26  Jim Meyering  <meyering@redhat.com>
68306         fflush: avoid warnings on modern systems
68307         * lib/fflush.c (rpl_fflush): Move declarations of locals,
68308         pos and result, into scopes where they're used.
68310 2009-01-26  Eric Blake  <ebb9@byu.net>
68312         Silence warning reintroduced by recent extensions patch.
68313         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
68314         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
68315         autoconf.
68317         Backport improved autoconf semantics of AC_DEFUN_ONCE.
68318         * m4/00gnulib.m4: New file.
68319         * gnulib-tool (func_get_filelist): Always use it.
68320         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
68321         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
68323 2009-01-25  Bruno Haible  <bruno@clisp.org>
68325         Make test-quotearg work on MacOS X and AIX.
68326         * tests/test-quotearg.sh: New file.
68327         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
68328         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
68329         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
68330         include <libintl.h>.
68331         (fake_locale): Remove variable.
68332         (gettext, dgettext, dcgettext): Remove functions.
68333         (main): Instead of setting a fake locale, set a real locale. Call
68334         textdomain and bindtextdomain.
68335         * modules/quotearg-tests (Files): Add the new files.
68336         (Depends-on): Add gettext, setenv, unsetenv.
68337         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
68338         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
68339         Augment TESTS_ENVIRONMENT.
68341 2009-01-25  Bruno Haible  <bruno@clisp.org>
68343         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
68344         fr_FR.ISO8859-1 locale on MacOS X.
68345         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
68346         ja_JP.eucJP locale on MacOS X.
68347         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
68348         zh_CN.GB18030 locale on MacOS X.
68350 2009-01-25  Bruno Haible  <bruno@clisp.org>
68352         Avoid link errors on MacOS X 10.3.
68353         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
68354         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
68356 2009-01-25  Bruno Haible  <bruno@clisp.org>
68358         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
68359         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
68360         * modules/pipe (Files): Remove m4/posix_spawn.m4.
68361         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
68362         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
68363         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
68364         posix_spawnattr_init, posix_spawnattr_setsigmask,
68365         posix_spawnattr_setflags, posix_spawnattr_destroy.
68367         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
68368         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
68369         * modules/execute (Files): Remove m4/posix_spawn.m4.
68370         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
68371         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
68372         posix_spawnattr_init, posix_spawnattr_setsigmask,
68373         posix_spawnattr_setflags, posix_spawnattr_destroy.
68375 2009-01-25  Bruno Haible  <bruno@clisp.org>
68377         * lib/glthread/threadlib.c: Include <stdlib.h>.
68379 2009-01-25  Bruno Haible  <bruno@clisp.org>
68381         * lib/glthread/threadlib.c (dummy): New declaration.
68383 2009-01-25  Bruno Haible  <bruno@clisp.org>
68385         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
68386         multibyte characters also for the GB18030 encoding. Don't crash when
68387         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
68389 2009-01-25  Bruno Haible  <bruno@clisp.org>
68391         Avoid redefining 'struct random_data' on OSF/1 5.1.
68392         * lib/stdlib.in.h: Include <random.h> if it exists.
68393         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
68394         HAVE_RANDOM_H. Include <random.h> when testing whether
68395         'struct random_data' exists.
68396         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
68398 2009-01-25  Bruno Haible  <bruno@clisp.org>
68400         Don't install charset.alias on MacOS X >= 10.3.
68401         * lib/localcharset.c (DARWIN7): New macro.
68402         (get_charset_aliases): Hardcode the result for Darwin7.
68403         * modules/localcharset (install-exec-local): Don't install
68404         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
68406 2009-01-25  Bruno Haible  <bruno@clisp.org>
68408         Don't install charset.alias on mingw and Cygwin.
68409         * modules/localcharset (install-exec-local): Don't install
68410         charset.alias on mingw and Cygwin, if the file does not yet exist.
68411         The result for these platforms is hardcoded in localcharset.c.
68413 2009-01-25  Bruno Haible  <bruno@clisp.org>
68415         Make it possible again to use AC_GNU_SOURCE together with gnulib.
68416         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
68417         before requiring AC_USE_SYSTEM_EXTENSIONS.
68419 2009-01-25  Jim Meyering  <meyering@redhat.com>
68421         c-strtod: avoid warnings
68422         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
68423         "assignment discards qualifiers from pointer target type" warnings.
68425 2009-01-24  Bruno Haible  <bruno@clisp.org>
68427         Add support for non-UTF-8 locales on MacOS X.
68428         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
68429         canonical encodings. For Darwin 7 and newer, don't map traditional
68430         encodings to UTF-8.
68431         Reported by Vincent Lefevre <vincent@vinc17.org>
68432         at <http://savannah.gnu.org/bugs/?25235>.
68434 2009-01-24  Bruno Haible  <bruno@clisp.org>
68436         * doc/gnulib.texi (Obsolete modules): New section.
68437         Reported by Mike Frysinger <vapier@gentoo.org>.
68439 2009-01-24  Bruno Haible  <bruno@clisp.org>
68441         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
68442         (%.dvi): New rule.
68444 2009-01-24  Bruno Haible  <bruno@clisp.org>
68446         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
68447         Reported by Eric Blake.
68449 2009-01-24  Bruno Haible  <bruno@clisp.org>
68451         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
68452         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
68453         Reported by Gary V. Vaughan <gary@gnu.org>.
68455 2009-01-24  Bruno Haible  <bruno@clisp.org>
68457         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
68459 2009-01-23  Bruno Haible  <bruno@clisp.org>
68461         Make c-strtod, c-strtold usable in libraries.
68462         * lib/c-strtod.c: Include string.h instead of xalloc.h.
68463         (C_STRTOD): Call strdup instead of xstrdup.
68464         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
68465         * modules/c-strtold (Depends-on): Likewise.
68466         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
68467         * NEWS: Mention the change.
68468         Reported by Michael Gold <mgold@ncf.ca>.
68470 2009-01-23  Jim Meyering  <meyering@redhat.com>
68472         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
68473         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
68474         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
68476 2009-01-23  Simon Josefsson  <simon@josefsson.org>
68478         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
68479         GNU CoreUtils.
68480         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
68481         * modules/version-etc (Description): Update.
68483 2009-01-22  Bruno Haible  <bruno@clisp.org>
68485         Cache the C locale object.
68486         * lib/c-strtod.c (c_locale_cache): New variable.
68487         (c_locale): New function.
68488         (C_STRTOD): Use it, and don't call freelocale.
68489         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
68490         Suggested by Paolo Bonzini.
68492 2009-01-21  Bruno Haible  <bruno@clisp.org>
68494         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
68495         conditions other than overflow.
68497 2009-01-21  Bruno Haible  <bruno@clisp.org>
68499         * lib/c-strtod.c: Include errno.h.
68500         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
68501         value from STRTOD_L and STRTOD.
68503 2009-01-21  Bruno Haible  <bruno@clisp.org>
68504         and Jim Meyering  <meyering@redhat.com>
68506         nanosleep: skip configure test (fail it) for apple universal builds
68507         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
68508         universal builds, assume that nanosleep does not work.
68509         * modules/nanosleep (Depends-on): Add multiarch.
68511         mktime: skip configure test (fail it) for apple universal builds
68512         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
68513         universal builds, assume that mktime does not work.
68514         * modules/mktime (Depends-on): Add multiarch.
68516 2009-01-21  Eric Blake  <ebb9@byu.net>
68518         multiarch: avoid expand-before-require warning
68519         * modules/multiarch (configure.ac): Require, rather than expand,
68520         gl_MULTIARCH.
68521         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
68522         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
68523         enforce that all clients require it.  Partial reversion of
68524         2008-12-29 patch.
68526         error: avoid expand-before-require warning
68527         * modules/errno (configure.ac): Require, rather than expand,
68528         gl_HEADER_ERRNO_H.
68529         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
68530         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
68531         enforce that all clients require it.
68533         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
68534         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
68535         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
68536         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
68538 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
68540         Revert:
68541         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
68543         regex: do not depend on obsolete modules.
68544         * modules/regex: Remove memcmp and memmove.
68546 2009-01-20  Bruno Haible  <bruno@clisp.org>
68548         Make the 'link' module link on Windows NT 4.
68549         * lib/link.c (_WIN32_WINNT): Don't define.
68550         (CreateHardLinkFuncType): New type.
68551         (CreateHardLinkFunc, initialized): New variables.
68552         (initialize): New function.
68553         (link): Invoke CreateHardLink indirectly through the function pointer.
68555 2009-01-20  Bruno Haible  <bruno@clisp.org>
68557         Fix compilation failure on mingw.
68558         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
68560 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
68562         * doc/c-strtod.texi: Mention a couple of restrictions.
68564 2009-01-20  Jim Meyering  <meyering@redhat.com>
68566         gettimeofday: move more declarations out of functions
68567         * lib/gettimeofday.c: Move extern declarations of tzset and
68568         gmtime out of containing functions.  Prompted by Bruno Haible.
68570 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
68572         regex: do not depend on obsolete modules.
68573         * modules/regex: Remove memcmp and memmove.
68575 2009-01-19  Bruno Haible  <bruno@clisp.org>
68577         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
68578         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
68579         gl_BIGENDIAN, not AC_C_BIGENDIAN.
68580         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
68581         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
68583 2009-01-19  Bruno Haible  <bruno@clisp.org>
68585         * tests/test-link.c: Include <errno.h>.
68586         (main): Exit with code 77 when a hard link cannot be created due to
68587         the file system.
68588         * tests/test-link.sh: Skip test when a hard link cannot be created due
68589         to the file system.
68590         Suggested by Eric Blake.
68592 2009-01-19  Martin Lambers  <marlam@marlam.de>
68594         * modules/link-tests: New file.
68595         * tests/test-link.sh: New file.
68596         * tests/test-link.c: New file.
68598 2009-01-19  Eric Blake  <ebb9@byu.net>
68600         doc: mention another function added in cygwin 1.7.0
68601         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
68602         Another new function in cygwin 1.7.
68604 2009-01-19  Bruno Haible  <bruno@clisp.org>
68606         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
68607         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
68608         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
68609         gl_BIGENDIAN, not AC_C_BIGENDIAN.
68610         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
68611         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
68612         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
68613         * m4/md4.m4 (gl_MD4): Likewise.
68614         * m4/md5.m4 (gl_MD5): Likewise.
68615         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
68616         * m4/sha1.m4 (gl_SHA1): Likewise.
68617         * m4/sha256.m4 (gl_SHA256): Likewise.
68618         * m4/sha512.m4 (gl_SHA512): Likewise.
68620 2009-01-19  Bruno Haible  <bruno@clisp.org>
68622         * modules/uniname/uniname-tests (Depends-on): Add progname.
68623         * tests/uniname/test-uninames.c: Include progname.h.
68624         (main): Call set_program_name.
68626         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
68627         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
68628         (main): Call set_program_name.
68630         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
68631         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
68632         (main): Call set_program_name.
68634         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
68635         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
68636         (main): Call set_program_name.
68638         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
68639         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
68640         (main): Call set_program_name.
68642         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
68643         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
68644         (main): Call set_program_name.
68646         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
68647         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
68648         (main): Call set_program_name.
68650         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
68651         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
68652         (main): Call set_program_name.
68654         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
68655         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
68656         (main): Call set_program_name.
68658 2009-01-19  Eric Blake  <ebb9@byu.net>
68660         test-unistd: test previous patch
68661         * tests/test-unistd.c: Test *_FILENO macros.
68663         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
68664         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
68665         Guarantee a definition.
68666         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
68667         * modules/unistd-safer (Depends-on): Add dependency on unistd.
68668         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
68669         * lib/dup-safer.c (STDERR_FILENO): Likewise.
68670         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
68671         Likewise.
68672         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
68673         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
68674         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
68675         Likewise.
68676         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
68677         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
68678         (STDERR_FILENO): Likewise.
68679         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
68680         (STDERR_FILENO): Likewise.
68681         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
68682         (STDERR_FILENO): Likewise.
68683         Reported by Elbert Pol.
68685 2009-01-19  Eric Blake  <ebb9@byu.net>
68687         doc: mention more functions added in cygwin 1.7.0
68688         * doc/posix-functions/abort.texi (abort): Update wording related
68689         to cygwin.
68690         * doc/posix-functions/daylight.texi (daylight): Likewise.
68691         * doc/posix-functions/optarg.texi (optarg): Likewise.
68692         * doc/posix-functions/optarg.texi (opterr): Likewise.
68693         * doc/posix-functions/optarg.texi (optind): Likewise.
68694         * doc/posix-functions/optarg.texi (optopt): Likewise.
68695         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
68696         worked in 1.5.x, and was withdrawn in 1.7.
68697         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
68698         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
68699         cygwin versions.
68700         * doc/posix-functions/perror.texi (perror): Likewise.
68701         * doc/posix-functions/printf.texi (printf): Likewise.
68702         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
68703         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
68704         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
68705         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
68706         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
68707         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
68708         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
68709         Likewise.
68710         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
68711         Likewise.
68712         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
68713         this function.
68714         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
68715         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
68716         Likewise.
68717         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
68718         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
68719         * doc/posix-functions/confstr.texi (confstr): Likewise.
68720         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
68721         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
68722         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
68723         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
68724         * doc/posix-functions/fputws.texi (fputws): Likewise.
68725         * doc/posix-functions/fwide.texi (fwide): Likewise.
68726         * doc/posix-functions/getwc.texi (getwc): Likewise.
68727         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
68728         * doc/posix-functions/putwc.texi (putwc): Likewise.
68729         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
68730         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
68731         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
68732         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
68733         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
68734         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
68735         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
68736         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
68737         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
68738         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
68739         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
68741 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
68743         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
68744         * lib/ioctl.c: Include <sys/ioctl.h>.
68746 2009-01-19  Simon Josefsson  <simon@josefsson.org>
68748         * modules/getdate-tests (Depends-on): Add progname.
68749         * tests/test-getdate.c: Use progname module, to avoid link errors
68750         on non-glibc systems.
68752 2009-01-18  Simon Josefsson  <simon@josefsson.org>
68754         * modules/filenamecat-tests (Depends-on): Add progname.
68755         * modules/fstrcmp-tests (Depends-on): Likewise.
68757         * tests/test-filenamecat.c: Use progname module, to avoid link
68758         errors on non-glibc systems.
68759         * tests/test-fstrcmp.c: Likewise.
68761 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
68763         gettimeofday: avoid warning: nested extern declaration of 'localtime'
68764         * lib/gettimeofday.c: Move extern declaration out of function.
68766 2009-01-18  Bruno Haible  <bruno@clisp.org>
68768         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
68769         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
68770         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
68772 2009-01-18  Bruno Haible  <bruno@clisp.org>
68774         * lib/strftime.c (MEMPCPY): Remove unused macro.
68775         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
68777 2009-01-18  Martin Lambers  <marlam@marlam.de>
68779         New module 'link'.
68780         * lib/unistd.in.h (link): New declaration.
68781         * lib/link.c: New file.
68782         * m4/link.m4: New file.
68783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
68784         HAVE_LINK.
68785         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
68786         * modules/link: New file.
68787         * doc/posix-functions/link.texi: Mention the new module.
68789 2009-01-18  Bruno Haible  <bruno@clisp.org>
68791         * tests/test-avltree_list.c (main): Call set_program_name.
68792         * tests/test-avltree_oset.c (main): Likewise.
68793         * tests/test-obstack-printf.c: Include progname.h.
68794         (main): Call set_program_name.
68795         * tests/test-quotearg.c: Include progname.h.
68796         (main): Call set_program_name.
68797         * tests/test-xmemdup0.c: Include progname.h.
68798         (main): Call set_program_name.
68800 2009-01-18  Bruno Haible  <bruno@clisp.org>
68802         New module 'alphasort'.
68803         * lib/dirent.in.h (alphasort): New declaration.
68804         * lib/alphasort.c: New file, from glibc with modifications.
68805         * m4/alphasort.m4: New file.
68806         * modules/alphasort: New file.
68807         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
68808         HAVE_ALPHASORT.
68809         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
68810         HAVE_ALPHASORT.
68811         * doc/posix-functions/alphasort.texi: Mention the new module and the
68812         portability problems.
68814 2009-01-18  Bruno Haible  <bruno@clisp.org>
68816         New module 'scandir'.
68817         * lib/dirent.in.h (scandir): New declaration.
68818         * lib/scandir.c: New file, from glibc with modifications.
68819         * m4/scandir.m4: New file.
68820         * modules/scandir: New file.
68821         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
68822         HAVE_SCANDIR.
68823         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
68824         HAVE_SCANDIR.
68825         * doc/posix-functions/scandir.texi: Mention the new module and the
68826         portability problems.
68828 2009-01-17  Bruno Haible  <bruno@clisp.org>
68830         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
68831         Update documentation.
68832         (func_remove_suffix): Escape all dots in the suffix. Update
68833         documentation.
68834         (func_filter_filelist): Update documentation.
68835         Reported by Ralf Wildenhues.
68837 2009-01-17  Bruno Haible  <bruno@clisp.org>
68839         * modules/dprintf-posix-tests: New file.
68840         * tests/test-dprintf-posix.sh: New file.
68841         * tests/test-dprintf-posix.c: New file.
68843         New modules 'dprintf', 'dprintf-posix'.
68844         * lib/stdio.in.h (dprintf): New declaration.
68845         * lib/dprintf.c: New file.
68846         * m4/dprintf.m4: New file.
68847         * m4/dprintf-posix.m4: New file.
68848         * modules/dprintf: New file.
68849         * modules/dprintf-posix: New file.
68850         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
68851         HAVE_DPRINTF, REPLACE_DPRINTF.
68852         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
68853         HAVE_DPRINTF, REPLACE_DPRINTF.
68854         * doc/posix-functions/dprintf.texi: Mention the new modules.
68856 2009-01-17  Bruno Haible  <bruno@clisp.org>
68858         * modules/vdprintf-posix-tests: New file.
68859         * tests/test-vdprintf-posix.sh: New file.
68860         * tests/test-vdprintf-posix.c: New file.
68862         New modules 'vdprintf', 'vdprintf-posix'.
68863         * lib/stdio.in.h (vdprintf): New declaration.
68864         * lib/vdprintf.c: New file.
68865         * m4/vdprintf.m4: New file.
68866         * m4/vdprintf-posix.m4: New file.
68867         * modules/vdprintf: New file.
68868         * modules/vdprintf-posix: New file.
68869         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
68870         HAVE_VDPRINTF, REPLACE_VDPRINTF.
68871         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
68872         HAVE_VDPRINTF, REPLACE_VDPRINTF.
68873         * doc/posix-functions/vdprintf.texi: Mention the new modules.
68875 2009-01-17  Bruno Haible  <bruno@clisp.org>
68877         Fix replacement of fopen on mingw.
68878         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
68879         mingw.
68881 2009-01-17  Bruno Haible  <bruno@clisp.org>
68883         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
68884         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
68886 2009-01-17  Bruno Haible  <bruno@clisp.org>
68888         Avoid test-fflush2.sh failure on mingw.
68889         * tests/test-fflush2.c: Include binary-io.h.
68890         (main): Put standard input into binary mode.
68891         * modules/fflush-tests (Depends-on): Add binary-io.
68893 2009-01-17  Bruno Haible  <bruno@clisp.org>
68895         * lib/wchar.in.h: In another particular situation, include only the
68896         system's <wchar.h> file.
68897         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
68898         Reported by Albert Chin-A-Young <china@thewrittenword.com>
68899         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
68901 2009-01-17  Bruno Haible  <bruno@clisp.org>
68903         Support for stripping executables in --enable-relocatable.
68904         * build-aux/install-reloc: Expect one more argument, or an environment
68905         variable RELOC_STRIP_PROG. If set, strip the destination program and
68906         its wrapper.
68907         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
68908         RELOC_STRIP_PROG.
68909         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
68910         to set RELOCATABLE_STRIP.
68911         * NEWS: Mention the new Makefile requirement.
68913 2009-01-17  Bruno Haible  <bruno@clisp.org>
68915         * build-aux/install-reloc: Remove debugging information left over by
68916         C compiler on MacOS X.
68918 2009-01-17  Bruno Haible  <bruno@clisp.org>
68920         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
68921         * lib/progreloc.c (find_executable): Fix type of pointer passed to
68922         _NSGetExecutablePath.
68924 2009-01-16  Jim Meyering  <meyering@redhat.com>
68926         strerror: avoid warnings about discarding "const"
68927         * lib/strerror.c (rpl_strerror): Instead of returning a const
68928         string from each and every "case", use a variable, and add a single
68929         cast after the switch.
68931 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
68933         * lib/arpa_inet.in.h: Add extern "C" block for C++.
68935 2009-01-16  Bruno Haible  <bruno@clisp.org>
68937         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
68938         array initializer syntax that also works in C++ mode.
68939         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
68941 2009-01-16  Jim Meyering  <meyering@redhat.com>
68943         poll: suppress a warning
68944         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
68945         to ignore "...unsigned expression < 0 is always false" warnings.
68947 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
68949         poll: remove declarations of unused variables
68950         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
68951         sockbuf and optlen.
68953 2009-01-15  Bruno Haible  <bruno@clisp.org>
68955         Make fflush-after-ungetc POSIX compliant on BSD systems.
68956         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
68957         (clear_ungetc_buffer): Implement also for other systems.
68958         (rpl_fflush): On glibc systems, invoke
68959         clear_ungetc_buffer_preserving_position. Otherwise, invoke
68960         clear_ungetc_buffer after fetching the stream's position, not before.
68962 2009-01-15  Bruno Haible  <bruno@clisp.org>
68964         Make fflush-after-ungetc POSIX compliant on glibc systems.
68965         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
68966         after ungetc.
68967         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
68968         (rpl_fflush): On glibc systems, simply call the system's fflush
68969         function after clearing the ungetc buffer.
68970         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
68971         Instead, lseek only to the end of file, then use the system's fseeko
68972         for the rest. On glibc systems, reset the EOF indicator bit.
68974 2009-01-15  Jim Meyering  <meyering@redhat.com>
68976         openmp.m4: revert quote-adding change, for portability to older autoconf
68977         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
68978         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
68979         Simon Josefsson noticed the problem when using autoconf-2.61.
68981 2009-01-15  Bruno Haible  <bruno@clisp.org>
68983         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
68984         * tests/test-fflush2.c (ASSERT): Always fail.
68985         (main): Add two tests for fflush() after ungetc(), taking into account
68986         the Austin Group's clarification.
68987         Suggested by Eric Blake.
68989 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
68991         mktime.m4: remove K&R-style function prototypes
68992         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
68993         for the Sun C++ compiler.
68995 2009-01-14  Bruno Haible  <bruno@clisp.org>
68997         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
68998         while including <wchar.h>.
68999         * lib/wchar.in.h: In two particular situations on HP-UX, include only
69000         the system's <wchar.h> file.
69001         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69003 2009-01-14  Bruno Haible  <bruno@clisp.org>
69005         * m4/csharp.m4: Don't mention gettext on the serial number line.
69006         * m4/csharpexec.m4: Likewise.
69007         * m4/eaccess.m4: Likewise.
69008         * m4/javaexec.m4: Likewise.
69009         * m4/sig_atomic_t.m4: Likewise.
69010         * m4/tmpdir.m4: Likewise.
69011         * m4/intldir.m4: Bump gettext version.
69012         * m4/lib-ld.m4: Likewise.
69014 2009-01-14  Bruno Haible  <bruno@clisp.org>
69016         * lib/progname.c (set_program_name): Add more comments.
69017         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
69019 2009-01-14  Simon Josefsson  <simon@josefsson.org>
69021         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
69022         were sys/stat.h does not define it.
69024 2009-01-14  Jim Meyering  <meyering@redhat.com>
69026         many *.m4 files: improve m4 quoting
69027         99% of this change was performed by running the following commands:
69028         git ls-files | grep '\.m4$' | xargs perl -pi \
69029           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
69030           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
69031           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
69032           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
69033         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
69034         The remainder were to add Copyright dates, increment serial numbers,
69035         undo some changes in comments, exclude m4/intl.m4, and add quotes
69036         around the "1" in ",1" where the unusual spacing prohibited the
69037         above regexps from doing the job.  For more details, see
69038         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
69039         * m4/acl.m4: Modified.
69040         * m4/afs.m4: Likewise.
69041         * m4/alloca.m4: Likewise.
69042         * m4/argp.m4: Likewise.
69043         * m4/argz.m4: Likewise.
69044         * m4/atexit.m4: Likewise.
69045         * m4/bison-i18n.m4: Likewise.
69046         * m4/bison.m4: Likewise.
69047         * m4/byteswap.m4: Likewise.
69048         * m4/c-stack.m4: Likewise.
69049         * m4/c-strtod.m4: Likewise.
69050         * m4/calloc.m4: Likewise.
69051         * m4/canonicalize-lgpl.m4: Likewise.
69052         * m4/chown.m4: Likewise.
69053         * m4/clock_time.m4: Likewise.
69054         * m4/codeset.m4: Likewise.
69055         * m4/copy-file.m4: Likewise.
69056         * m4/csharp.m4: Likewise.
69057         * m4/csharpcomp.m4: Likewise.
69058         * m4/csharpexec.m4: Likewise.
69059         * m4/d-ino.m4: Likewise.
69060         * m4/d-type.m4: Likewise.
69061         * m4/dirfd.m4: Likewise.
69062         * m4/double-slash-root.m4: Likewise.
69063         * m4/eaccess.m4: Likewise.
69064         * m4/eealloc.m4: Likewise.
69065         * m4/environ.m4: Likewise.
69066         * m4/errno_h.m4: Likewise.
69067         * m4/euidaccess.m4: Likewise.
69068         * m4/execute.m4: Likewise.
69069         * m4/fatal-signal.m4: Likewise.
69070         * m4/fchdir.m4: Likewise.
69071         * m4/fcntl_h.m4: Likewise.
69072         * m4/fileblocks.m4: Likewise.
69073         * m4/filenamecat.m4: Likewise.
69074         * m4/findprog.m4: Likewise.
69075         * m4/flexmember.m4: Likewise.
69076         * m4/fnmatch.m4: Likewise.
69077         * m4/fopen.m4: Likewise.
69078         * m4/fpending.m4: Likewise.
69079         * m4/fprintf-posix.m4: Likewise.
69080         * m4/free.m4: Likewise.
69081         * m4/frexp.m4: Likewise.
69082         * m4/frexpl.m4: Likewise.
69083         * m4/fsusage.m4: Likewise.
69084         * m4/ftruncate.m4: Likewise.
69085         * m4/gc-camellia.m4: Likewise.
69086         * m4/gc-random.m4: Likewise.
69087         * m4/gc.m4: Likewise.
69088         * m4/getaddrinfo.m4: Likewise.
69089         * m4/getcwd-abort-bug.m4: Likewise.
69090         * m4/getcwd-path-max.m4: Likewise.
69091         * m4/getdate.m4: Likewise.
69092         * m4/getdomainname.m4: Likewise.
69093         * m4/getgroups.m4: Likewise.
69094         * m4/gethostname.m4: Likewise.
69095         * m4/gethrxtime.m4: Likewise.
69096         * m4/getline.m4: Likewise.
69097         * m4/getloadavg.m4: Likewise.
69098         * m4/getndelim2.m4: Likewise.
69099         * m4/getpass.m4: Likewise.
69100         * m4/gettext.m4: Likewise.
69101         * m4/gettime.m4: Likewise.
69102         * m4/gettimeofday.m4: Likewise.
69103         * m4/gnulib-common.m4: Likewise.
69104         * m4/group-member.m4: Likewise.
69105         * m4/host-os.m4: Likewise.
69106         * m4/iconv.m4: Likewise.
69107         * m4/iconv_open.m4: Likewise.
69108         * m4/inet_ntop.m4: Likewise.
69109         * m4/inet_pton.m4: Likewise.
69110         * m4/inline.m4: Likewise.
69111         * m4/intldir.m4: Likewise.
69112         * m4/intlmacosx.m4: Likewise.
69113         * m4/intmax.m4: Likewise.
69114         * m4/intmax_t.m4: Likewise.
69115         * m4/inttypes.m4: Likewise.
69116         * m4/inttypes_h.m4: Likewise.
69117         * m4/inttypes-pri.m4: Likewise.
69118         * m4/isapipe.m4: Likewise.
69119         * m4/isnand.m4: Likewise.
69120         * m4/isnanf.m4: Likewise.
69121         * m4/isnanl.m4: Likewise.
69122         * m4/javacomp.m4: Likewise.
69123         * m4/javaexec.m4: Likewise.
69124         * m4/jm-winsz1.m4: Likewise.
69125         * m4/jm-winsz2.m4: Likewise.
69126         * m4/lchown.m4: Likewise.
69127         * m4/lcmessage.m4: Likewise.
69128         * m4/ldexpl.m4: Likewise.
69129         * m4/lib-ld.m4: Likewise.
69130         * m4/lib-link.m4: Likewise.
69131         * m4/libsigsegv.m4: Likewise.
69132         * m4/link-follow.m4: Likewise.
69133         * m4/localcharset.m4: Likewise.
69134         * m4/locale-fr.m4: Likewise.
69135         * m4/locale-ja.m4: Likewise.
69136         * m4/locale-tr.m4: Likewise.
69137         * m4/locale-zh.m4: Likewise.
69138         * m4/lock.m4: Likewise.
69139         * m4/longlong.m4: Likewise.
69140         * m4/ls-mntd-fs.m4: Likewise.
69141         * m4/lstat.m4: Likewise.
69142         * m4/malloc.m4: Likewise.
69143         * m4/mathl.m4: Likewise.
69144         * m4/mbrtowc.m4: Likewise.
69145         * m4/mbstate_t.m4: Likewise.
69146         * m4/mbswidth.m4: Likewise.
69147         * m4/memchr.m4: Likewise.
69148         * m4/memcmp.m4: Likewise.
69149         * m4/memcpy.m4: Likewise.
69150         * m4/memmem.m4: Likewise.
69151         * m4/memmove.m4: Likewise.
69152         * m4/mempcpy.m4: Likewise.
69153         * m4/memrchr.m4: Likewise.
69154         * m4/memset.m4: Likewise.
69155         * m4/minmax.m4: Likewise.
69156         * m4/mkdir-slash.m4: Likewise.
69157         * m4/mkdtemp.m4: Likewise.
69158         * m4/mktime.m4: Likewise.
69159         * m4/mmap-anon.m4: Likewise.
69160         * m4/mountlist.m4: Likewise.
69161         * m4/nanosleep.m4: Likewise.
69162         * m4/nls.m4: Likewise.
69163         * m4/nocrash.m4: Likewise.
69164         * m4/open.m4: Likewise.
69165         * m4/openat.m4: Likewise.
69166         * m4/openmp.m4: Likewise.
69167         * m4/pathmax.m4: Likewise.
69168         * m4/perl.m4: Likewise.
69169         * m4/physmem.m4: Likewise.
69170         * m4/pipe.m4: Likewise.
69171         * m4/po.m4: Likewise.
69172         * m4/poll.m4: Likewise.
69173         * m4/posixtm.m4: Likewise.
69174         * m4/posixver.m4: Likewise.
69175         * m4/printf-frexp.m4: Likewise.
69176         * m4/printf-frexpl.m4: Likewise.
69177         * m4/printf-posix.m4: Likewise.
69178         * m4/printf-posix-rpl.m4: Likewise.
69179         * m4/printf.m4: Likewise.
69180         * m4/progtest.m4: Likewise.
69181         * m4/putenv.m4: Likewise.
69182         * m4/readline.m4: Likewise.
69183         * m4/readlink.m4: Likewise.
69184         * m4/readutmp.m4: Likewise.
69185         * m4/realloc.m4: Likewise.
69186         * m4/regex.m4: Likewise.
69187         * m4/relocatable.m4: Likewise.
69188         * m4/relocatable-lib.m4: Likewise.
69189         * m4/rename-dest-slash.m4: Likewise.
69190         * m4/rename.m4: Likewise.
69191         * m4/rmdir-errno.m4: Likewise.
69192         * m4/rmdir.m4: Likewise.
69193         * m4/roundf.m4: Likewise.
69194         * m4/roundl.m4: Likewise.
69195         * m4/rpmatch.m4: Likewise.
69196         * m4/save-cwd.m4: Likewise.
69197         * m4/selinux-selinux-h.m4: Likewise.
69198         * m4/setenv.m4: Likewise.
69199         * m4/settime.m4: Likewise.
69200         * m4/sig2str.m4: Likewise.
69201         * m4/sig_atomic_t.m4: Likewise.
69202         * m4/signalblocking.m4: Likewise.
69203         * m4/signbit.m4: Likewise.
69204         * m4/sigpipe.m4: Likewise.
69205         * m4/sockets.m4: Likewise.
69206         * m4/sockpfaf.m4: Likewise.
69207         * m4/st_dm_mode.m4: Likewise.
69208         * m4/stat-time.m4: Likewise.
69209         * m4/stdbool.m4: Likewise.
69210         * m4/stdint.m4: Likewise.
69211         * m4/stdint_h.m4: Likewise.
69212         * m4/stpcpy.m4: Likewise.
69213         * m4/stpncpy.m4: Likewise.
69214         * m4/strcase.m4: Likewise.
69215         * m4/strchrnul.m4: Likewise.
69216         * m4/strcspn.m4: Likewise.
69217         * m4/strdup.m4: Likewise.
69218         * m4/strftime.m4: Likewise.
69219         * m4/strndup.m4: Likewise.
69220         * m4/strnlen.m4: Likewise.
69221         * m4/strpbrk.m4: Likewise.
69222         * m4/strptime.m4: Likewise.
69223         * m4/strsep.m4: Likewise.
69224         * m4/strtod.m4: Likewise.
69225         * m4/strtoimax.m4: Likewise.
69226         * m4/strtok_r.m4: Likewise.
69227         * m4/strtol.m4: Likewise.
69228         * m4/strtoll.m4: Likewise.
69229         * m4/strtoul.m4: Likewise.
69230         * m4/strtoull.m4: Likewise.
69231         * m4/strtoumax.m4: Likewise.
69232         * m4/strverscmp.m4: Likewise.
69233         * m4/threadlib.m4: Likewise.
69234         * m4/timegm.m4: Likewise.
69235         * m4/tm_gmtoff.m4: Likewise.
69236         * m4/tmpdir.m4: Likewise.
69237         * m4/tmpfile.m4: Likewise.
69238         * m4/tzset.m4: Likewise.
69239         * m4/uintmax_t.m4: Likewise.
69240         * m4/unlinkdir.m4: Likewise.
69241         * m4/unlocked-io.m4: Likewise.
69242         * m4/uptime.m4: Likewise.
69243         * m4/userspec.m4: Likewise.
69244         * m4/utimbuf.m4: Likewise.
69245         * m4/utime.m4: Likewise.
69246         * m4/utimes-null.m4: Likewise.
69247         * m4/utimes.m4: Likewise.
69248         * m4/vararrays.m4: Likewise.
69249         * m4/vasnprintf.m4: Likewise.
69250         * m4/vfprintf-posix.m4: Likewise.
69251         * m4/vprintf-posix.m4: Likewise.
69252         * m4/wait-process.m4: Likewise.
69253         * m4/wchar_t.m4: Likewise.
69254         * m4/wint_t.m4: Likewise.
69255         * m4/write-any-file.m4: Likewise.
69256         * m4/yield.m4: Likewise.
69258 2009-01-13  Bruno Haible  <bruno@clisp.org>
69260         Avoid test-copy-file.sh failures when ACL support insufficient.
69261         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
69262         TESTS_ENVIRONMENT.
69263         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
69264         Reported by Jim Meyering.
69266 2009-01-13  Bruno Haible  <bruno@clisp.org>
69268         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
69269         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
69270         * modules/unistdio/u8-printf-parse (Files): Likewise.
69271         * modules/unistdio/u32-printf-parse (Files): Likewise.
69272         * modules/unistdio/ulc-printf-parse (Files): Likewise.
69274 2009-01-13  Simon Josefsson  <simon@josefsson.org>
69276         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
69277         and m4/inttypes_h.m4 too.
69279 2009-01-12  Eric Blake  <ebb9@byu.net>
69281         tests: IRIX 6.2 cc can't compile -0.0 into .data
69282         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
69283         rather than at compile-time.
69284         * tests/test-floorl.c (minus_zero): Likewise.
69285         * tests/test-frexpl.c (minus_zero): Likewise.
69286         * tests/test-isnan.c (minus_zerol): Likewise.
69287         * tests/test-isnanl.h (minus_zero): Likewise.
69288         * tests/test-ldexpl.c (minus_zero): Likewise.
69289         * tests/test-roundl.c (minus_zero): Likewise.
69290         * tests/test-signbit.c (minus_zerol): Likewise.
69291         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
69292         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
69293         * tests/test-truncl.c (minus_zero): Likewise.
69294         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
69295         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
69296         Reported by Tom G. Christensen and Nelson H. F. Beebe.
69298 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
69300         regex: fix glibc bug 9697
69301         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
69302         handling.
69304 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
69306         regex: fix glibc bug 697
69307         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
69308         being NULL also if there are no backreferences.
69310 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
69312         regex: merge glibc changes
69313         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
69314         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
69315         re_string_skip_chars, re_string_reconstruct): Likewise.
69316         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
69318 2009-01-07  Jim Meyering  <meyering@redhat.com>
69320         poll: filter through cppi
69321         * lib/poll.c: Indent cpp directives to reflect nesting.
69323 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
69325         poll: don't return uninitialized
69326         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
69328 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
69330         avoid compile failure on AIX 6.1
69331         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
69332         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
69334 2009-01-04  Jim Meyering  <meyering@redhat.com>
69336         remove duplicate inclusion of <stdio.h>
69337         * tests/test-fprintf-posix.c: Likewise.
69338         * tests/test-printf-posix.c: Likewise.
69339         * tests/test-snprintf-posix.c: Likewise.
69340         * tests/test-sprintf-posix.c: Likewise.
69341         * tests/test-vasprintf-posix.c: Likewise.
69342         * tests/test-vfprintf-posix.c: Likewise.
69343         * tests/test-vprintf-posix.c: Likewise.
69344         * tests/test-vsnprintf-posix.c: Likewise.
69345         * tests/test-vsprintf-posix.c: Likewise.
69347 2009-01-03  Jim Meyering  <meyering@redhat.com>
69349         gnulib-tool: fix sed-based filtering
69350         * gnulib-tool (func_filter_filelist): Remove extra backslash
69351         in sed_fff_filter definition.
69353 2009-01-02  Jim Meyering  <meyering@redhat.com>
69355         strftime: avoid compilation failure on Solaris 2.6
69356         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
69357         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
69358         Don't #define mbrlen or mbsinit, since now they're guaranteed to
69359         be available.  Reported by Tom G. Christensen.  Details in
69360         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
69362 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69363             Bruno Haible  <bruno@clisp.org>
69365         Speed up gnulib-tool by doing more string processing through shell
69366         built-ins.
69367         * gnulib-tool (fast_func_append): New variable.
69368         (func_remove_prefix, func_remove_suffix): New functions.
69369         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
69370         (func_filter_filelist): New function.
69371         (func_get_dependencies): Use func_remove_suffix instead of sed.
69372         (func_get_automake_snippet): Use func_filter_filelist instead of a
69373         subshell and sed invocation.
69375 2009-01-01  Bruno Haible  <bruno@clisp.org>
69377         Fix a security bug.
69378         * gnulib-tool (func_import, import, update): Don't allow the characters
69379         '"', '$', '`', '\' in macro arguments that become part of commands that
69380         are evaluated.
69382 2009-01-01  Bruno Haible  <bruno@clisp.org>
69384         * gnulib-tool (func_reset_sigpipe): Add more comments.
69386 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69388         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
69389         func_emit_tests_Makefile_am, func_import): Abort loops early if we
69390         already know the answer.
69392 2009-01-01  Jim Meyering  <meyering@redhat.com>
69394         * lib/version-etc.c (version_etc_va): Update copyright year.
69396 2008-12-30  Bruno Haible  <bruno@clisp.org>
69398         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
69399         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
69400         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
69402 2008-12-29  Eric Blake  <ebb9@byu.net>
69404         multiarch: avoid autoconf AC_REQUIRE bug
69405         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
69406         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
69407         2.63 and older.
69408         Reported by Bruno Haible, and analyzed in
69409         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
69411 2008-12-29  Bruno Haible  <bruno@clisp.org>
69413         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
69414         files in subdirectories correctly.
69415         Reported by Ralf Wildenhues.
69417 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69419         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
69420         rather than 'join FILE -', for Solaris join.
69422 2008-12-29  Bruno Haible  <bruno@clisp.org>
69424         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
69425         quoting.
69426         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
69427         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
69428         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
69429         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
69430         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
69431         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
69432         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
69433         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
69434         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
69435         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
69436         * m4/nls.m4 (AM_NLS): Likewise.
69437         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
69438         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
69439         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
69440         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
69441         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
69442         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
69443         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
69444         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
69445         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
69446         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
69447         * m4/xsize.m4 (gl_XSIZE): Likewise.
69448         Suggested by Jim Meyering.
69450 2008-11-17  Bruce Korb  <bkorb@gnu.org>
69452         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
69453         * lib/parse-duration.c: use a switch instead of cascading if's.
69455 2008-12-29  Eric Blake  <ebb9@byu.net>
69457         wchar.h: supply WEOF on Irix 5.3
69458         * lib/wchar.in.h (wint_t): Also supply WEOF.
69459         * lib/wctype.in.h (wint_t): Likewise.
69460         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
69461         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
69462         Reported by Tom G. Christensen.
69464 2008-12-26  Bruno Haible  <bruno@clisp.org>
69466         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
69467         i486, i586, i686.
69469 2008-12-26  Bruno Haible  <bruno@clisp.org>
69471         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
69473 2008-12-26  Bruno Haible  <bruno@clisp.org>
69475         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
69476         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
69477         not __STDC_CONSTANT_MACROS.
69478         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
69480 2008-12-25  Bruno Haible  <bruno@clisp.org>
69482         Add support for universal builds to vasnprintf.
69483         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
69484         universal builds, guess no.
69485         * modules/vasnprintf-posix (Depends-on): Add multiarch.
69486         * modules/vasprintf-posix (Depends-on): Likewise.
69487         * modules/fprintf-posix (Depends-on): Likewise.
69488         * modules/vfprintf-posix (Depends-on): Likewise.
69489         * modules/snprintf-posix (Depends-on): Likewise.
69490         * modules/vsnprintf-posix (Depends-on): Likewise.
69491         * modules/sprintf-posix (Depends-on): Likewise.
69492         * modules/vsprintf-posix (Depends-on): Likewise.
69493         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
69494         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
69495         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
69496         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
69497         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
69498         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
69499         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
69501         Add support for universal builds to <inttypes.h>.
69502         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
69503         _SCNu64_PREFIX): In Apple
69504         universal builds, define directly, using _LP64.
69505         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
69506         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
69507         * modules/inttypes (Depends-on): Add multiarch.
69508         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
69510         Add support for universal builds to <stdint.h>.
69511         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
69512         universal builds, define directly, using _LP64.
69513         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
69514         Apple universal builds, don't test for the size and suffix of ptrdiff_t
69515         and size_t.
69516         * modules/stdint (Depends-on): Add multiarch.
69517         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
69519         New module 'multiarch'.
69520         * modules/multiarch: New file.
69521         * m4/multiarch.m4: New file.
69523 2008-12-25  Bruno Haible  <bruno@clisp.org>
69525         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
69527 2008-12-25  Bruno Haible  <bruno@clisp.org>
69529         * modules/btowc (License): Relicense under LGPLv2+.
69530         * modules/mbsinit (License): Likewise.
69531         * modules/mbrtowc (License): Likewise.
69532         * modules/wcrtomb (License): Likewise.
69533         * modules/streq (License): Likewise.
69534         Reported by David Lutterkort <lutter@redhat.com>.
69536 2008-12-23  Bruno Haible  <bruno@clisp.org>
69538         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
69540 2008-12-23  Bruno Haible  <bruno@clisp.org>
69542         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
69543         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
69544         GETADDRINFO_LIB, not in LIBS.
69545         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
69546         * modules/canon-host (Link): Likewise.
69547         * NEWS: Mention the change.
69548         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
69549         GETADDRINFO_LIB.
69551 2008-12-22  Bruno Haible  <bruno@clisp.org>
69553         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
69554         * doc/posix-functions/iswalpha_l.texi: Likewise.
69555         * doc/posix-functions/iswblank_l.texi: Likewise.
69556         * doc/posix-functions/iswcntrl_l.texi: Likewise.
69557         * doc/posix-functions/iswctype_l.texi: Likewise.
69558         * doc/posix-functions/iswdigit_l.texi: Likewise.
69559         * doc/posix-functions/iswgraph_l.texi: Likewise.
69560         * doc/posix-functions/iswlower_l.texi: Likewise.
69561         * doc/posix-functions/iswprint_l.texi: Likewise.
69562         * doc/posix-functions/iswpunct_l.texi: Likewise.
69563         * doc/posix-functions/iswspace_l.texi: Likewise.
69564         * doc/posix-functions/iswupper_l.texi: Likewise.
69565         * doc/posix-functions/iswxdigit_l.texi: Likewise.
69566         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
69567         * doc/posix-functions/open_wmemstream.texi: Likewise.
69568         * doc/posix-functions/swscanf.texi: Likewise.
69569         * doc/posix-functions/towctrans_l.texi: Likewise.
69570         * doc/posix-functions/towlower.texi: Likewise.
69571         * doc/posix-functions/towlower_l.texi: Likewise.
69572         * doc/posix-functions/towupper.texi: Likewise.
69573         * doc/posix-functions/towupper_l.texi: Likewise.
69574         * doc/posix-functions/vfwprintf.texi: Likewise.
69575         * doc/posix-functions/vfwscanf.texi: Likewise.
69576         * doc/posix-functions/vswscanf.texi: Likewise.
69577         * doc/posix-functions/vwprintf.texi: Likewise.
69578         * doc/posix-functions/vwscanf.texi: Likewise.
69579         * doc/posix-functions/wcpcpy.texi: Likewise.
69580         * doc/posix-functions/wcpncpy.texi: Likewise.
69581         * doc/posix-functions/wcscasecmp.texi: Likewise.
69582         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
69583         * doc/posix-functions/wcscoll_l.texi: Likewise.
69584         * doc/posix-functions/wcsdup.texi: Likewise.
69585         * doc/posix-functions/wcsncasecmp.texi: Likewise.
69586         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
69587         * doc/posix-functions/wcsnlen.texi: Likewise.
69588         * doc/posix-functions/wcsnrtombs.texi: Likewise.
69589         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
69590         * doc/posix-functions/wctrans_l.texi: Likewise.
69591         * doc/posix-functions/wctype_l.texi: Likewise.
69592         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
69593         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
69594         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
69595         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
69596         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
69597         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
69598         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
69599         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
69600         * doc/glibc-functions/wcschrnul.texi: Likewise.
69601         * doc/glibc-functions/wcsftime_l.texi: Likewise.
69602         * doc/glibc-functions/wcstod_l.texi: Likewise.
69603         * doc/glibc-functions/wcstof_l.texi: Likewise.
69604         * doc/glibc-functions/wcstol_l.texi: Likewise.
69605         * doc/glibc-functions/wcstold_l.texi: Likewise.
69606         * doc/glibc-functions/wcstoll_l.texi: Likewise.
69607         * doc/glibc-functions/wcstoq.texi: Likewise.
69608         * doc/glibc-functions/wcstoul_l.texi: Likewise.
69609         * doc/glibc-functions/wcstoull_l.texi: Likewise.
69610         * doc/glibc-functions/wcstouq.texi: Likewise.
69611         * doc/glibc-functions/wmempcpy.texi: Likewise.
69613 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
69614             Eric Blake  <ebb9@byu.net>
69615             Paolo Bonzini  <bonzini@gnu.org>
69616             Bruno Haible  <bruno@clisp.org>
69618         Make c-stack work on Haiku.
69619         * lib/c-stack.c (SA_ONSTACK): Define fallback.
69620         (c_stack_action): Use SA_ONSTACK flag.
69622 2008-12-22  Bruno Haible  <bruno@clisp.org>
69624         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
69626 2008-12-22  Bruno Haible  <bruno@clisp.org>
69628         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
69629         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
69630         being overridden.
69631         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
69632         New macros.
69633         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
69634         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
69635         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
69636         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
69638 2008-12-22  Bruno Haible  <bruno@clisp.org>
69640         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
69641         from test code.
69643 2008-12-22  Eric Blake  <ebb9@byu.net>
69645         Avoid gcc warnings on cygwin.
69646         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
69647         Avoid unused variable.
69648         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
69649         Likewise.
69651 2008-12-22  Bruno Haible  <bruno@clisp.org>
69653         Remove HAVE_MBRTOWC conditionals.
69654         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
69655         (mbscasecmp): Assume mbrtowc function.
69656         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
69657         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
69658         * lib/mbschr.c: Include mbuiter.h unconditionally.
69659         (mbschr): Assume mbrtowc function.
69660         * lib/mbscspn.c: Include mbuiter.h unconditionally.
69661         (mbscspn): Assume mbrtowc function.
69662         * lib/mbslen.c: Include mbuiter.h unconditionally.
69663         (mbslen): Assume mbrtowc function.
69664         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
69665         (mbsncasecmp): Assume mbrtowc function.
69666         * lib/mbsnlen.c: Include mbiter.h unconditionally.
69667         (mbsnlen): Assume mbrtowc function.
69668         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
69669         (mbspbrk): Assume mbrtowc function.
69670         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
69671         (mbspcasecmp): Assume mbrtowc function.
69672         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
69673         (mbsrchr): Assume mbrtowc function.
69674         * lib/mbssep.c: Include mbuiter.h unconditionally.
69675         (mbssep): Assume mbrtowc function.
69676         * lib/mbsspn.c: Include mbuiter.h unconditionally.
69677         (mbsspn): Assume mbrtowc function.
69678         * lib/mbsstr.c: Include mbuiter.h unconditionally.
69679         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
69680         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
69681         (mbstok_r): Assume mbrtowc function.
69682         * lib/propername.c: Include mbuiter.h unconditionally.
69683         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
69684         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
69685         (trim2): Assume mbrtowc function.
69686         * lib/mbswidth.c (mbsinit): Remove fallback definition.
69687         (mbsnwidth): Assume mbrtowc function.
69688         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
69689         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
69690         fallback definitions.
69691         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
69693 2008-12-22  Bruno Haible  <bruno@clisp.org>
69695         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
69697 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
69699         * modules/regex: Request emulations for the mb*/wc* functions we need.
69700         * m4/regex.m4: Don't look for those functions here.
69701         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
69703 2008-12-22  Bruno Haible  <bruno@clisp.org>
69705         * modules/fnmatch (Depends-on): Remove duplicated dependency.
69707 2008-12-21  Bruno Haible  <bruno@clisp.org>
69709         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
69710         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
69711         (Include): Remove conditionalization.
69712         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
69713         (Include): Remove conditionalization.
69714         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
69715         (Include): Remove conditionalization.
69716         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
69717         * m4/mbfile.m4 (gl_MBFILE): Likewise.
69718         * NEWS: Mention the change.
69719         Reported by Alan Hourihane <alanh@fairlite.co.uk>
69720         via Sergey Poznyakoff <gray@gnu.org.ua>.
69722 2008-12-21  Bruno Haible  <bruno@clisp.org>
69724         * MODULES.html.sh (Extended multibyte and wide character utilities
69725         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
69726         wcrtomb, wcsrtombs.
69727         (Support for systems lacking POSIX:2008): Add accept, bind, close,
69728         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
69729         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
69730         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
69732 2008-12-21  Bruno Haible  <bruno@clisp.org>
69734         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
69736 2008-12-21  Bruno Haible  <bruno@clisp.org>
69738         * modules/wcsnrtombs-tests: New file.
69739         * tests/test-wcsnrtombs1.sh: New file.
69740         * tests/test-wcsnrtombs2.sh: New file.
69741         * tests/test-wcsnrtombs3.sh: New file.
69742         * tests/test-wcsnrtombs4.sh: New file.
69743         * tests/test-wcsnrtombs.c: New file.
69745         New module 'wcsnrtombs'.
69746         * lib/wchar.in.h (wcsnrtombs): New declaration.
69747         * lib/wcsnrtombs.c: New file.
69748         * lib/wcsrtombs-state.c: New file.
69749         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
69750         (internal_state): Remove variable.
69751         * m4/wcsnrtombs.m4: New file.
69752         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
69753         compilation units.
69754         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
69755         HAVE_WCSNRTOMBS.
69756         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
69757         HAVE_WCSNRTOMBS.
69758         * modules/wcsnrtombs: New file.
69759         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
69760         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
69762 2008-12-21  Bruno Haible  <bruno@clisp.org>
69764         * modules/wcsrtombs-tests: New file.
69765         * tests/test-wcsrtombs1.sh: New file.
69766         * tests/test-wcsrtombs2.sh: New file.
69767         * tests/test-wcsrtombs3.sh: New file.
69768         * tests/test-wcsrtombs4.sh: New file.
69769         * tests/test-wcsrtombs.c: New file.
69771         New module 'wcsrtombs'.
69772         * lib/wchar.in.h (wcsrtombs): New declaration.
69773         * lib/wcsrtombs.c: New file.
69774         * m4/wcsrtombs.m4: New file.
69775         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
69776         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
69777         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
69778         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
69779         * modules/wcsrtombs: New file.
69780         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
69781         bugs.
69783 2008-12-21  Bruno Haible  <bruno@clisp.org>
69785         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
69786         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
69787         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
69788         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
69789         if not correct.
69790         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
69791         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
69792         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
69793         m4/locale-zh.m4, m4/codeset.m4.
69794         * doc/posix-functions/wcrtomb.texi: Document the bug.
69796 2008-12-21  Bruno Haible  <bruno@clisp.org>
69798         Work around a btowc() bug on IRIX 6.5.
69799         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
69800         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
69801         REPLACE_WTOBC if not.
69802         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
69803         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
69804         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
69806 2008-12-21  Bruno Haible  <bruno@clisp.org>
69808         * modules/wcrtomb-tests: New file.
69809         * tests/test-wcrtomb.sh: New file.
69810         * tests/test-wcrtomb.c: New file.
69812         New module 'wcrtomb'.
69813         * lib/wchar.in.h (wcrtomb): New declaration.
69814         * lib/wcrtomb.c: New file.
69815         * m4/wcrtomb.m4: New file.
69816         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
69817         HAVE_WCRTOMB.
69818         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
69819         HAVE_WCRTOMB.
69820         * modules/wcrtomb: New file.
69821         * doc/posix-functions/wcrtomb.texi: Mention the new module.
69823 2008-12-21  Bruno Haible  <bruno@clisp.org>
69825         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
69826         * modules/mbsrtowcs (Files): Likewise.
69827         * modules/wctob (Files): Likewise.
69828         * modules/c-strcase-tests (Files): Likewise.
69829         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
69830         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
69831         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
69832         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
69833         * modules/vasnprintf-posix-tests (Files): Likewise.
69835 2008-12-21  William Pursell  <bill.pursell@gmail.com>
69837         gitlog-to-changelog: pass all command-line arguments to git-log
69838         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
69839         it is sometimes convenient to filter the commits in various ways.
69840         gitlog-to-changelog only allows --since to specify a start date,
69841         but git-log itself supports many other filtering mechanisms.
69842         At the moment, I want to filter by branch name.  Rather than
69843         adding a --branch option to gitlog-to-changelog, it seems more
69844         flexible to simply pass all options directly to git-log and let
69845         git do the work.  Notice that this effectively makes --since a
69846         redundant option for gitlog-to-changelog, but removing it would
69847         require current usage to change since calls would then require
69848         an additional '--'.
69850 2008-12-21  Bruno Haible  <bruno@clisp.org>
69852         * modules/mbsnrtowcs-tests: New file.
69853         * tests/test-mbsnrtowcs1.sh: New file.
69854         * tests/test-mbsnrtowcs2.sh: New file.
69855         * tests/test-mbsnrtowcs3.sh: New file.
69856         * tests/test-mbsnrtowcs4.sh: New file.
69857         * tests/test-mbsnrtowcs.c: New file.
69859         New module 'mbsnrtowcs'.
69860         * lib/wchar.in.h (mbsnrtowcs): New declaration.
69861         * lib/mbsnrtowcs.c: New file.
69862         * lib/mbsrtowcs-state.c: New file.
69863         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
69864         (internal_state): Remove variable.
69865         * m4/mbsnrtowcs.m4: New file.
69866         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
69867         compilation units.
69868         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
69869         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
69870         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
69871         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
69872         * modules/mbsnrtowcs: New file.
69873         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
69874         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
69875         portability problem.
69877 2008-12-21  Bruno Haible  <bruno@clisp.org>
69879         Work around mbsrtowcs bug.
69880         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
69881         (gl_FUNC_MBSRTOWCS): Invoke it.
69882         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
69883         m4/locale-zh.m4.
69884         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
69886 2008-12-21  Bruno Haible  <bruno@clisp.org>
69888         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
69890 2008-12-21  Bruno Haible  <bruno@clisp.org>
69892         Update doc for AIX.
69893         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
69894         16-bit wchar_t type.
69895         * doc/posix-functions/btowc.texi: Likewise.
69896         * doc/posix-functions/fgetwc.texi: Likewise.
69897         * doc/posix-functions/fgetws.texi: Likewise.
69898         * doc/posix-functions/fputwc.texi: Likewise.
69899         * doc/posix-functions/fputws.texi: Likewise.
69900         * doc/posix-functions/fwide.texi: Likewise.
69901         * doc/posix-functions/fwprintf.texi: Likewise.
69902         * doc/posix-functions/fwscanf.texi: Likewise.
69903         * doc/posix-functions/getwchar.texi: Likewise.
69904         * doc/posix-functions/getwc.texi: Likewise.
69905         * doc/posix-functions/iswalnum.texi: Likewise.
69906         * doc/posix-functions/iswalpha.texi: Likewise.
69907         * doc/posix-functions/iswblank.texi: Likewise.
69908         * doc/posix-functions/iswcntrl.texi: Likewise.
69909         * doc/posix-functions/iswctype.texi: Likewise.
69910         * doc/posix-functions/iswdigit.texi: Likewise.
69911         * doc/posix-functions/iswgraph.texi: Likewise.
69912         * doc/posix-functions/iswlower.texi: Likewise.
69913         * doc/posix-functions/iswprint.texi: Likewise.
69914         * doc/posix-functions/iswpunct.texi: Likewise.
69915         * doc/posix-functions/iswspace.texi: Likewise.
69916         * doc/posix-functions/iswupper.texi: Likewise.
69917         * doc/posix-functions/iswxdigit.texi: Likewise.
69918         * doc/posix-functions/mbrtowc.texi: Likewise.
69919         * doc/posix-functions/mbsrtowcs.texi: Likewise.
69920         * doc/posix-functions/mbstowcs.texi: Likewise.
69921         * doc/posix-functions/mbtowc.texi: Likewise.
69922         * doc/posix-functions/putwchar.texi: Likewise.
69923         * doc/posix-functions/putwc.texi: Likewise.
69924         * doc/posix-functions/swprintf.texi: Likewise.
69925         * doc/posix-functions/tolower.texi: Likewise.
69926         * doc/posix-functions/toupper.texi: Likewise.
69927         * doc/posix-functions/towctrans.texi: Likewise.
69928         * doc/posix-functions/ungetwc.texi: Likewise.
69929         * doc/posix-functions/vswprintf.texi: Likewise.
69930         * doc/posix-functions/wcrtomb.texi: Likewise.
69931         * doc/posix-functions/wcscat.texi: Likewise.
69932         * doc/posix-functions/wcschr.texi: Likewise.
69933         * doc/posix-functions/wcscmp.texi: Likewise.
69934         * doc/posix-functions/wcscoll.texi: Likewise.
69935         * doc/posix-functions/wcscpy.texi: Likewise.
69936         * doc/posix-functions/wcscspn.texi: Likewise.
69937         * doc/posix-functions/wcsftime.texi: Likewise.
69938         * doc/posix-functions/wcslen.texi: Likewise.
69939         * doc/posix-functions/wcsncat.texi: Likewise.
69940         * doc/posix-functions/wcsncmp.texi: Likewise.
69941         * doc/posix-functions/wcsncpy.texi: Likewise.
69942         * doc/posix-functions/wcspbrk.texi: Likewise.
69943         * doc/posix-functions/wcsrchr.texi: Likewise.
69944         * doc/posix-functions/wcsrtombs.texi: Likewise.
69945         * doc/posix-functions/wcsspn.texi: Likewise.
69946         * doc/posix-functions/wcsstr.texi: Likewise.
69947         * doc/posix-functions/wcstod.texi: Likewise.
69948         * doc/posix-functions/wcstof.texi: Likewise.
69949         * doc/posix-functions/wcstoimax.texi: Likewise.
69950         * doc/posix-functions/wcstok.texi: Likewise.
69951         * doc/posix-functions/wcstold.texi: Likewise.
69952         * doc/posix-functions/wcstoll.texi: Likewise.
69953         * doc/posix-functions/wcstol.texi: Likewise.
69954         * doc/posix-functions/wcstombs.texi: Likewise.
69955         * doc/posix-functions/wcstoull.texi: Likewise.
69956         * doc/posix-functions/wcstoul.texi: Likewise.
69957         * doc/posix-functions/wcstoumax.texi: Likewise.
69958         * doc/posix-functions/wcswidth.texi: Likewise.
69959         * doc/posix-functions/wcsxfrm.texi: Likewise.
69960         * doc/posix-functions/wctob.texi: Likewise.
69961         * doc/posix-functions/wctomb.texi: Likewise.
69962         * doc/posix-functions/wctrans.texi: Likewise.
69963         * doc/posix-functions/wctype.texi: Likewise.
69964         * doc/posix-functions/wcwidth.texi: Likewise.
69965         * doc/posix-functions/wmemchr.texi: Likewise.
69966         * doc/posix-functions/wmemcmp.texi: Likewise.
69967         * doc/posix-functions/wmemcpy.texi: Likewise.
69968         * doc/posix-functions/wmemmove.texi: Likewise.
69969         * doc/posix-functions/wmemset.texi: Likewise.
69970         * doc/posix-functions/wprintf.texi: Likewise.
69971         * doc/posix-functions/wscanf.texi: Likewise.
69973 2008-12-21  Bruno Haible  <bruno@clisp.org>
69975         Update doc for HP-UX 11.11.
69976         * doc/posix-functions/btowc.texi: Clarify that the function is missing
69977         in HP-UX version 11.00, not in all versions of HP-UX 11.
69978         * doc/posix-functions/fwide.texi: Likewise.
69979         * doc/posix-functions/fwprintf.texi: Likewise.
69980         * doc/posix-functions/fwscanf.texi: Likewise.
69981         * doc/posix-functions/inet_ntop.texi: Likewise.
69982         * doc/posix-functions/inet_pton.texi: Likewise.
69983         * doc/posix-functions/mbrlen.texi: Likewise.
69984         * doc/posix-functions/mbrtowc.texi: Likewise.
69985         * doc/posix-functions/mbsinit.texi: Likewise.
69986         * doc/posix-functions/mbsrtowcs.texi: Likewise.
69987         * doc/posix-functions/swprintf.texi: Likewise.
69988         * doc/posix-functions/swscanf.texi: Likewise.
69989         * doc/posix-functions/towctrans.texi: Likewise.
69990         * doc/posix-functions/vfwprintf.texi: Likewise.
69991         * doc/posix-functions/vswprintf.texi: Likewise.
69992         * doc/posix-functions/vwprintf.texi: Likewise.
69993         * doc/posix-functions/wcrtomb.texi: Likewise.
69994         * doc/posix-functions/wcsrtombs.texi: Likewise.
69995         * doc/posix-functions/wcsstr.texi: Likewise.
69996         * doc/posix-functions/wctob.texi: Likewise.
69997         * doc/posix-functions/wctrans.texi: Likewise.
69998         * doc/posix-functions/wmemchr.texi: Likewise.
69999         * doc/posix-functions/wmemcmp.texi: Likewise.
70000         * doc/posix-functions/wmemcpy.texi: Likewise.
70001         * doc/posix-functions/wmemmove.texi: Likewise.
70002         * doc/posix-functions/wmemset.texi: Likewise.
70003         * doc/posix-functions/wprintf.texi: Likewise.
70004         * doc/posix-functions/wscanf.texi: Likewise.
70006 2008-12-21  Bruno Haible  <bruno@clisp.org>
70008         Work around a portability problem.
70009         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
70010         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
70012 2008-12-20  Bruno Haible  <bruno@clisp.org>
70014         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
70015         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
70016         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
70017         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
70018         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
70020         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
70021         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
70022         set.
70023         (GNULIB_defined_mbstate_t): New macro.
70024         (mbsinit): Redefine if REPLACE_MBSINIT is set.
70025         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
70026         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
70027         reuses the system's mbrtowc function but works around the bugs.
70028         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
70029         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
70030         macros.
70031         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
70032         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
70033         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
70034         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
70035         REPLACE_MBSINIT if mbsinit needs to be overridden.
70036         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
70037         REPLACE_MBSINIT, REPLACE_MBRTOWC.
70038         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
70039         REPLACE_MBSINIT, REPLACE_MBRTOWC.
70040         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
70041         m4/locale-zh.m4.
70042         (Depends): Add mbsinit.
70043         * modules/mbsinit (Depends): Add mbrtowc.
70044         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
70046 2008-12-20  Bruno Haible  <bruno@clisp.org>
70048         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
70049         so that there are no conversion errors on AIX.
70050         * tests/test-mbsrtowcs.c (main): LIkewise.
70052 2008-12-20  Bruno Haible  <bruno@clisp.org>
70054         Work around wctob bug on Solaris <= 9.
70055         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
70056         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
70057         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
70058         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
70059         * modules/wctob (Files): Add m4/locale-fr.m4.
70060         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
70062 2008-12-20  Bruno Haible  <bruno@clisp.org>
70064         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
70065         /dev/null.
70066         * tests/test-select-in.sh: Likewise.
70067         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
70069 2008-12-20  Bruno Haible  <bruno@clisp.org>
70071         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
70072         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
70073         Cygwin 1.5.x.
70075 2008-12-20  Bruno Haible  <bruno@clisp.org>
70077         Ensure mbstate_t is defined on HP-UX 11.11.
70078         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
70079         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
70080         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
70081         AC_USE_SYSTEM_EXTENSIONS.
70082         * modules/fnmatch (Depends-on): Add extensions.
70083         * modules/mbrlen (Depends-on): Likewise.
70084         * modules/mbrtowc (Depends-on): Likewise.
70085         * modules/mbsinit (Depends-on): Likewise.
70086         * modules/mbsrtowcs (Depends-on): Likewise.
70087         * modules/mbswidth (Depends-on): Likewise.
70088         * modules/quotearg (Depends-on): Likewise.
70089         * modules/strftime (Depends-on): Likewise.
70091 2008-12-20  Bruno Haible  <bruno@clisp.org>
70093         Ensure wctob is declared on IRIX 6.5.
70094         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
70095         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
70096         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
70097         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
70098         of HAVE_WCTOB.
70099         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
70100         HAVE_WCTOB.
70101         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
70103 2008-12-19  Bruno Haible  <bruno@clisp.org>
70105         * modules/mbsrtowcs-tests: New file.
70106         * tests/test-mbsrtowcs1.sh: New file.
70107         * tests/test-mbsrtowcs2.sh: New file.
70108         * tests/test-mbsrtowcs3.sh: New file.
70109         * tests/test-mbsrtowcs4.sh: New file.
70110         * tests/test-mbsrtowcs.c: New file.
70112         New module 'mbsrtowcs'.
70113         * lib/wchar.in.h (mbsrtowcs): New declaration.
70114         * lib/mbsrtowcs.c: New file.
70115         * m4/mbsrtowcs.m4: New file.
70116         * modules/mbsrtowcs: New file.
70117         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
70118         HAVE_MBSRTOWCS.
70119         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
70120         HAVE_MBSRTOWCS.
70121         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
70123 2008-12-19  Bruno Haible  <bruno@clisp.org>
70125         New module 'mbrlen'.
70126         * lib/wchar.in.h (mbrlen): New declaration.
70127         * lib/mbrlen.c: New file.
70128         * m4/mbrlen.m4: New file.
70129         * modules/mbrlen: New file.
70130         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
70131         HAVE_MBRLEN.
70132         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
70133         HAVE_MBRLEN.
70134         * doc/posix-functions/mbrlen.texi: Document the new module.
70136 2008-12-19  Bruno Haible  <bruno@clisp.org>
70138         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
70139         * modules/mbrtowc (Depends-on): Add verify.
70140         Suggested by Paul Eggert.
70142 2008-12-18  Bruno Haible  <bruno@clisp.org>
70144         * modules/mbsinit-tests: New file.
70145         * tests/test-mbsinit.sh: New file.
70146         * tests/test-mbsinit.c: New file.
70148 2008-12-18  Bruno Haible  <bruno@clisp.org>
70150         * modules/mbrtowc-tests: New file.
70151         * tests/test-mbrtowc1.sh: New file.
70152         * tests/test-mbrtowc2.sh: New file.
70153         * tests/test-mbrtowc3.sh: New file.
70154         * tests/test-mbrtowc4.sh: New file.
70155         * tests/test-mbrtowc.c: New file.
70157         New module 'mbrtowc'.
70158         * lib/wchar.in.h (mbstate_t): Override when the system does not have
70159         mbsinit and mbrtowc.
70160         (mbrtowc): New declaration.
70161         * lib/mbrtowc.c: New file.
70162         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
70163         * modules/mbrtowc: New file.
70164         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
70165         HAVE_MBRTOWC.
70166         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
70167         HAVE_MBRTOWC.
70168         * doc/posix-functions/mbrtowc.texi: Document the new module.
70170 2008-12-18  Bruno Haible  <bruno@clisp.org>
70172         New module 'wctob'.
70173         * lib/wchar.in.h (wctob): New declaration.
70174         * lib/wctob.c: New file.
70175         * m4/wctob.m4: New file.
70176         * modules/wctob: New file.
70177         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
70178         HAVE_WCTOB.
70179         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
70180         * doc/posix-functions/wctob.texi: Document the new module.
70182 2008-12-18  Bruno Haible  <bruno@clisp.org>
70184         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
70185         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
70187 2008-12-18  Simon Josefsson  <simon@josefsson.org>
70189         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
70190         G. Christensen" <tgc@jupiterrise.com>.
70192         * lib/flock.c: Need to include errno.h.  Reported by "Tom
70193         G. Christensen" <tgc@jupiterrise.com>.
70195         * lib/flock.c: Need to include string.h.  Reported by "Tom
70196         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
70197         <ebb9@byu.net>.
70199 2008-12-18  Bruno Haible  <bruno@clisp.org>
70201         * m4/locale-ja.m4: New file, from GNU gettext.
70203 2008-12-17  Bruno Haible  <bruno@clisp.org>
70205         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
70206         Suggested by Eric Blake.
70208 2008-12-17  Bruno Haible  <bruno@clisp.org>
70210         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
70212 2008-12-17  Bruno Haible  <bruno@clisp.org>
70214         * lib/mbsinit.c: Include verify.h. Verify an assumption.
70215         * modules/mbsinit (Depends-on): Add verify.
70216         Suggested by Paul Eggert.
70218 2008-12-17  Bruno Haible  <bruno@clisp.org>
70220         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
70221         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
70222         gl_FUNC_MBRTOWC.
70223         * m4/mbiter.m4 (gl_MBITER): LIkewise.
70224         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
70225         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
70226         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
70227         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
70228         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
70229         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
70230         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
70231         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
70232         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
70233         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
70234         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
70235         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
70236         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
70237         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
70238         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
70239         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
70240         * modules/trim (configure.ac): Likewise.
70242 2008-12-17  Bruno Haible  <bruno@clisp.org>
70244         * modules/btowc-tests: New file.
70245         * tests/test-btowc1.sh: New file.
70246         * tests/test-btowc2.sh: New file.
70247         * tests/test-btowc.c: New file.
70249         New module 'btowc'.
70250         * lib/wchar.in.h (btowc): New declaration.
70251         * lib/btowc.c: New file.
70252         * m4/btowc.m4: New file.
70253         * modules/btowc: New file.
70254         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
70255         HAVE_BTOWC.
70256         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
70257         * doc/posix-functions/btowc.texi: Document the new module.
70259 2008-12-17  Bruno Haible  <bruno@clisp.org>
70261         New module 'mbsinit'.
70262         * lib/wchar.in.h (mbsinit): New declaration.
70263         * lib/mbsinit.c: New file.
70264         * m4/mbsinit.m4: New file.
70265         * modules/mbsinit: New file.
70266         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
70267         HAVE_MBSINIT.
70268         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
70269         HAVE_MBSINIT.
70270         * doc/posix-functions/mbsinit.texi: Document the new module.
70272 2008-12-16  Bruno Haible  <bruno@clisp.org>
70274         * lib/unistd.in.h: Add comment.
70275         * tests/test-environ.c: Don't include <stdlib.h>.
70277 2008-12-16  Bruno Haible  <bruno@clisp.org>
70279         * lib/parse-duration.h (parse_duration): Document return value
70280         convention.
70281         * lib/parse-duration.c: Include specification header first. Add
70282         comments.
70283         (_): Remove macro.
70284         (parse_year_month_day, parse_hour_minute_second): Move side effects
70285         outside of strchr call.
70286         (parse_non_iso8601): Move side effects outside of isspace call.
70287         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
70288         call.
70290 2008-12-16  Bruno Haible  <bruno@clisp.org>
70292         * tests/test-parse-duration.sh: Produce no output when the test
70293         succeeds.
70295 2008-12-16  Bruno Haible  <bruno@clisp.org>
70297         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
70298         expressions.
70300 2008-12-15  Bruno Haible  <bruno@clisp.org>
70302         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
70303         * doc/glibc-functions/flistxattr.texi: Likewise.
70304         * doc/glibc-functions/fopencookie.texi: Likewise.
70305         * doc/glibc-functions/fremovexattr.texi: Likewise.
70306         * doc/glibc-functions/fsetxattr.texi: Likewise.
70307         * doc/glibc-functions/getxattr.texi: Likewise.
70308         * doc/glibc-functions/lgetxattr.texi: Likewise.
70309         * doc/glibc-functions/listxattr.texi: Likewise.
70310         * doc/glibc-functions/llistxattr.texi: Likewise.
70311         * doc/glibc-functions/lremovexattr.texi: Likewise.
70312         * doc/glibc-functions/lsetxattr.texi: Likewise.
70313         * doc/glibc-functions/removexattr.texi: Likewise.
70314         * doc/glibc-functions/setxattr.texi: Likewise.
70315         * doc/posix-functions/open_memstream.texi: Likewise.
70317 2008-12-15  Eric Blake  <ebb9@byu.net>
70319         Update doc for cygwin 1.7.
70320         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
70321         functions.
70322         * doc/posix-functions/fchmodat.texi: Likewise.
70323         * doc/posix-functions/fchownat.texi: Likewise.
70324         * doc/posix-functions/fdopendir.texi: Likewise.
70325         * doc/posix-functions/fmemopen.texi: Likewise.
70326         * doc/posix-functions/freeaddrinfo.texi: Likewise.
70327         * doc/posix-functions/fstatat.texi: Likewise.
70328         * doc/posix-functions/futimens.texi: Likewise.
70329         * doc/posix-functions/gai_strerror.texi: Likewise.
70330         * doc/posix-functions/getaddrinfo.texi: Likewise.
70331         * doc/posix-functions/getnameinfo.texi: Likewise.
70332         * doc/posix-functions/if_freenameindex.texi: Likewise.
70333         * doc/posix-functions/if_indextoname.texi: Likewise.
70334         * doc/posix-functions/if_nameindex.texi: Likewise.
70335         * doc/posix-functions/if_nametoindex.texi: Likewise.
70336         * doc/posix-functions/insque.texi: Likewise.
70337         * doc/posix-functions/linkat.texi: Likewise.
70338         * doc/posix-functions/llrint.texi: Likewise.
70339         * doc/posix-functions/llrintf.texi: Likewise.
70340         * doc/posix-functions/llrintl.texi: Likewise.
70341         * doc/posix-functions/lockf.texi: Likewise.
70342         * doc/posix-functions/lrintl.texi: Likewise.
70343         * doc/posix-functions/mkdirat.texi: Likewise.
70344         * doc/posix-functions/mkfifoat.texi: Likewise.
70345         * doc/posix-functions/mknodat.texi: Likewise.
70346         * doc/posix-functions/mq_close.texi: Likewise.
70347         * doc/posix-functions/mq_getattr.texi: Likewise.
70348         * doc/posix-functions/mq_notify.texi: Likewise.
70349         * doc/posix-functions/mq_open.texi: Likewise.
70350         * doc/posix-functions/mq_receive.texi: Likewise.
70351         * doc/posix-functions/mq_send.texi: Likewise.
70352         * doc/posix-functions/mq_setattr.texi: Likewise.
70353         * doc/posix-functions/mq_timedreceive.texi: Likewise.
70354         * doc/posix-functions/mq_timedsend.texi: Likewise.
70355         * doc/posix-functions/mq_unlink.texi: Likewise.
70356         * doc/posix-functions/open_memstream.texi: Likewise.
70357         * doc/posix-functions/openat.texi: Likewise.
70358         * doc/posix-functions/posix_fadvise.texi: Likewise.
70359         * doc/posix-functions/posix_fallocate.texi: Likewise.
70360         * doc/posix-functions/posix_madvise.texi: Likewise.
70361         * doc/posix-functions/posix_memalign.texi: Likewise.
70362         * doc/posix-functions/posix_openpt.texi: Likewise.
70363         * doc/posix-functions/readlinkat.texi: Likewise.
70364         * doc/posix-functions/remque.texi: Likewise.
70365         * doc/posix-functions/renameat.texi: Likewise.
70366         * doc/posix-functions/rintl.texi: Likewise.
70367         * doc/posix-functions/sem_unlink.texi: Likewise.
70368         * doc/posix-functions/shm_open.texi: Likewise.
70369         * doc/posix-functions/shm_unlink.texi: Likewise.
70370         * doc/posix-functions/signgam.texi: Likewise.
70371         * doc/posix-functions/sigset.texi: Likewise.
70372         * doc/posix-functions/stpcpy.texi: Likewise.
70373         * doc/posix-functions/stpncpy.texi: Likewise.
70374         * doc/posix-functions/strerror.texi: Likewise.
70375         * doc/posix-functions/strtod.texi: Likewise.
70376         * doc/posix-functions/symlinkat.texi: Likewise.
70377         * doc/posix-functions/unlinkat.texi: Likewise.
70378         * doc/posix-functions/utimensat.texi: Likewise.
70379         * doc/glibc-functions/bindresvport.texi: Likewise.
70380         * doc/glibc-functions/dn_expand.texi: Likewise.
70381         * doc/glibc-functions/exp10.texi: Likewise.
70382         * doc/glibc-functions/exp10f.texi: Likewise.
70383         * doc/glibc-functions/fgetxattr.texi: Likewise.
70384         * doc/glibc-functions/flistxattr.texi: Likewise.
70385         * doc/glibc-functions/fopencookie.texi: Likewise.
70386         * doc/glibc-functions/freeifaddrs.texi: Likewise.
70387         * doc/glibc-functions/fremovexattr.texi: Likewise.
70388         * doc/glibc-functions/fsetxattr.texi: Likewise.
70389         * doc/glibc-functions/getifaddrs.texi: Likewise.
70390         * doc/glibc-functions/getxattr.texi: Likewise.
70391         * doc/glibc-functions/lgetxattr.texi: Likewise.
70392         * doc/glibc-functions/listxattr.texi: Likewise.
70393         * doc/glibc-functions/llistxattr.texi: Likewise.
70394         * doc/glibc-functions/lremovexattr.texi: Likewise.
70395         * doc/glibc-functions/lsetxattr.texi: Likewise.
70396         * doc/glibc-functions/pow10.texi: Likewise.
70397         * doc/glibc-functions/pow10f.texi: Likewise.
70398         * doc/glibc-functions/rcmd_af.texi: Likewise.
70399         * doc/glibc-functions/removexattr.texi: Likewise.
70400         * doc/glibc-functions/res_init.texi: Likewise.
70401         * doc/glibc-functions/res_mkquery.texi: Likewise.
70402         * doc/glibc-functions/res_query.texi: Likewise.
70403         * doc/glibc-functions/res_querydomain.texi: Likewise.
70404         * doc/glibc-functions/res_send.texi: Likewise.
70405         * doc/glibc-functions/rresvport_af.texi: Likewise.
70406         * doc/glibc-functions/setxattr.texi: Likewise.
70407         * doc/glibc-functions/strcasestr.texi: Likewise.
70409 2008-12-15  Bruno Haible  <bruno@clisp.org>
70411         Fix compilation error on OSF/1 4.0.
70412         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
70413         <sys/time.h>, simply delegate to the system header.
70414         Reported by Daniel Richard G. <oss@teragram.com>.
70416 2008-12-15  Bruno Haible  <bruno@clisp.org>
70418         * doc/posix-functions/openat.texi: Mention the 'openat' module.
70419         * doc/posix-functions/fchmodat.texi: Likewise.
70420         * doc/posix-functions/fchownat.texi: Likewise.
70421         * doc/posix-functions/fdopendir.texi: Likewise.
70422         * doc/posix-functions/fstatat.texi: Likewise.
70423         * doc/posix-functions/mkdirat.texi: Likewise.
70424         * doc/posix-functions/unlinkat.texi: Likewise.
70426 2008-12-14  Bruno Haible  <bruno@clisp.org>
70428         Update doc for POSIX:2008.
70429         * doc/posix-functions/faccessat.texi: New file.
70430         * doc/posix-functions/fchmodat.texi: New file.
70431         * doc/posix-functions/fchownat.texi: New file.
70432         * doc/posix-functions/fdopendir.texi: New file.
70433         * doc/posix-functions/fstatat.texi: New file.
70434         * doc/posix-functions/futimens.texi: New file.
70435         * doc/posix-functions/linkat.texi: New file.
70436         * doc/posix-functions/mkdirat.texi: New file.
70437         * doc/posix-functions/mkfifoat.texi: New file.
70438         * doc/posix-functions/mknodat.texi: New file.
70439         * doc/posix-functions/open_wmemstream.texi: New file.
70440         * doc/posix-functions/openat.texi: New file.
70441         * doc/posix-functions/psiginfo.texi: New file.
70442         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
70443         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
70444         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
70445         * doc/posix-functions/readlinkat.texi: New file.
70446         * doc/posix-functions/renameat.texi: New file.
70447         * doc/posix-functions/strerror_l.texi: New file.
70448         * doc/posix-functions/symlinkat.texi: New file.
70449         * doc/posix-functions/unlinkat.texi: New file.
70450         * doc/posix-functions/utimensat.texi: New file.
70451         * doc/gnulib.texi (Function Substitutes): Add these subsections.
70453 2008-12-14  Bruno Haible  <bruno@clisp.org>
70455         Update doc for POSIX:2008.
70456         * doc/posix-functions/alphasort.texi: Renamed from
70457         doc/glibc-functions/alphasort.texi.
70458         * doc/posix-functions/dirfd.texi: Renamed from
70459         doc/glibc-functions/dirfd.texi.
70460         * doc/posix-functions/dprintf.texi: Renamed from
70461         doc/glibc-functions/dprintf.texi.
70462         * doc/posix-functions/duplocale.texi: Renamed from
70463         doc/glibc-functions/duplocale.texi.
70464         * doc/posix-functions/fexecve.texi: Renamed from
70465         doc/glibc-functions/fexecve.texi.
70466         * doc/posix-functions/fmemopen.texi: Renamed from
70467         doc/glibc-functions/fmemopen.texi.
70468         * doc/posix-functions/freelocale.texi: Renamed from
70469         doc/glibc-functions/freelocale.texi.
70470         * doc/posix-functions/getdate_err.texi: Renamed from
70471         doc/glibc-functions/getdate_err.texi.
70472         * doc/posix-functions/isalnum_l.texi: Renamed from
70473         doc/glibc-functions/isalnum_l.texi.
70474         * doc/posix-functions/isalpha_l.texi: Renamed from
70475         doc/glibc-functions/isalpha_l.texi.
70476         * doc/posix-functions/isblank_l.texi: Renamed from
70477         doc/glibc-functions/isblank_l.texi.
70478         * doc/posix-functions/iscntrl_l.texi: Renamed from
70479         doc/glibc-functions/iscntrl_l.texi.
70480         * doc/posix-functions/isdigit_l.texi: Renamed from
70481         doc/glibc-functions/isdigit_l.texi.
70482         * doc/posix-functions/isgraph_l.texi: Renamed from
70483         doc/glibc-functions/isgraph_l.texi.
70484         * doc/posix-functions/islower_l.texi: Renamed from
70485         doc/glibc-functions/islower_l.texi.
70486         * doc/posix-functions/isprint_l.texi: Renamed from
70487         doc/glibc-functions/isprint_l.texi.
70488         * doc/posix-functions/ispunct_l.texi: Renamed from
70489         doc/glibc-functions/ispunct_l.texi.
70490         * doc/posix-functions/isspace_l.texi: Renamed from
70491         doc/glibc-functions/isspace_l.texi.
70492         * doc/posix-functions/isupper_l.texi: Renamed from
70493         doc/glibc-functions/isupper_l.texi.
70494         * doc/posix-functions/iswalnum_l.texi: Renamed from
70495         doc/glibc-functions/iswalnum_l.texi.
70496         * doc/posix-functions/iswalpha_l.texi: Renamed from
70497         doc/glibc-functions/iswalpha_l.texi.
70498         * doc/posix-functions/iswblank_l.texi: Renamed from
70499         doc/glibc-functions/iswblank_l.texi.
70500         * doc/posix-functions/iswcntrl_l.texi: Renamed from
70501         doc/glibc-functions/iswcntrl_l.texi.
70502         * doc/posix-functions/iswctype_l.texi: Renamed from
70503         doc/glibc-functions/iswctype_l.texi.
70504         * doc/posix-functions/iswdigit_l.texi: Renamed from
70505         doc/glibc-functions/iswdigit_l.texi.
70506         * doc/posix-functions/iswgraph_l.texi: Renamed from
70507         doc/glibc-functions/iswgraph_l.texi.
70508         * doc/posix-functions/iswlower_l.texi: Renamed from
70509         doc/glibc-functions/iswlower_l.texi.
70510         * doc/posix-functions/iswprint_l.texi: Renamed from
70511         doc/glibc-functions/iswprint_l.texi.
70512         * doc/posix-functions/iswpunct_l.texi: Renamed from
70513         doc/glibc-functions/iswpunct_l.texi.
70514         * doc/posix-functions/iswspace_l.texi: Renamed from
70515         doc/glibc-functions/iswspace_l.texi.
70516         * doc/posix-functions/iswupper_l.texi: Renamed from
70517         doc/glibc-functions/iswupper_l.texi.
70518         * doc/posix-functions/iswxdigit_l.texi: Renamed from
70519         doc/glibc-functions/iswxdigit_l.texi.
70520         * doc/posix-functions/isxdigit_l.texi: Renamed from
70521         doc/glibc-functions/isxdigit_l.texi.
70522         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
70523         doc/glibc-functions/mbsnrtowcs.texi.
70524         * doc/posix-functions/mkdtemp.texi: Renamed from
70525         doc/glibc-functions/mkdtemp.texi.
70526         * doc/posix-functions/newlocale.texi: Renamed from
70527         doc/glibc-functions/newlocale.texi.
70528         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
70529         doc/glibc-functions/nl_langinfo_l.texi.
70530         * doc/posix-functions/open_memstream.texi: Renamed from
70531         doc/glibc-functions/open_memstream.texi.
70532         * doc/posix-functions/opterr.texi: Renamed from
70533         doc/glibc-functions/opterr.texi.
70534         * doc/posix-functions/optind.texi: Renamed from
70535         doc/glibc-functions/optind.texi.
70536         * doc/posix-functions/optopt.texi: Renamed from
70537         doc/glibc-functions/optopt.texi.
70538         * doc/posix-functions/psignal.texi: Renamed from
70539         doc/glibc-functions/psignal.texi.
70540         * doc/posix-functions/scandir.texi: Renamed from
70541         doc/glibc-functions/scandir.texi.
70542         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
70543         doc/glibc-functions/sched_get_priority_min.texi.
70544         * doc/posix-functions/signgam.texi: Renamed from
70545         doc/glibc-functions/signgam.texi.
70546         * doc/posix-functions/stpcpy.texi: Renamed from
70547         doc/glibc-functions/stpcpy.texi.
70548         * doc/posix-functions/stpncpy.texi: Renamed from
70549         doc/glibc-functions/stpncpy.texi.
70550         * doc/posix-functions/strcasecmp_l.texi: Renamed from
70551         doc/glibc-functions/strcasecmp_l.texi.
70552         * doc/posix-functions/strcoll_l.texi: Renamed from
70553         doc/glibc-functions/strcoll_l.texi.
70554         * doc/posix-functions/strfmon_l.texi: Renamed from
70555         doc/glibc-functions/strfmon_l.texi.
70556         * doc/posix-functions/strftime_l.texi: Renamed from
70557         doc/glibc-functions/strftime_l.texi.
70558         * doc/posix-functions/strncasecmp_l.texi: Renamed from
70559         doc/glibc-functions/strncasecmp_l.texi.
70560         * doc/posix-functions/strndup.texi: Renamed from
70561         doc/glibc-functions/strndup.texi.
70562         * doc/posix-functions/strnlen.texi: Renamed from
70563         doc/glibc-functions/strnlen.texi.
70564         * doc/posix-functions/strsignal.texi: Renamed from
70565         doc/glibc-functions/strsignal.texi.
70566         * doc/posix-functions/strxfrm_l.texi: Renamed from
70567         doc/glibc-functions/strxfrm_l.texi.
70568         * doc/posix-functions/timer_gettime.texi: Renamed from
70569         doc/glibc-functions/timer_gettime.texi.
70570         * doc/posix-functions/tolower_l.texi: Renamed from
70571         doc/glibc-functions/tolower_l.texi.
70572         * doc/posix-functions/toupper_l.texi: Renamed from
70573         doc/glibc-functions/toupper_l.texi.
70574         * doc/posix-functions/towctrans_l.texi: Renamed from
70575         doc/glibc-functions/towctrans_l.texi.
70576         * doc/posix-functions/towlower_l.texi: Renamed from
70577         doc/glibc-functions/towlower_l.texi.
70578         * doc/posix-functions/towupper_l.texi: Renamed from
70579         doc/glibc-functions/towupper_l.texi.
70580         * doc/posix-functions/uselocale.texi: Renamed from
70581         doc/glibc-functions/uselocale.texi.
70582         * doc/posix-functions/vdprintf.texi: Renamed from
70583         doc/glibc-functions/vdprintf.texi.
70584         * doc/posix-functions/wcpcpy.texi:
70585         Renamed from doc/glibc-functions/wcpcpy.texi.
70586         * doc/posix-functions/wcpncpy.texi: Renamed from
70587         doc/glibc-functions/wcpncpy.texi.
70588         * doc/posix-functions/wcscasecmp.texi: Renamed from
70589         doc/glibc-functions/wcscasecmp.texi.
70590         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
70591         doc/glibc-functions/wcscasecmp_l.texi.
70592         * doc/posix-functions/wcscoll_l.texi: Renamed from
70593         doc/glibc-functions/wcscoll_l.texi.
70594         * doc/posix-functions/wcsdup.texi: Renamed from
70595         doc/glibc-functions/wcsdup.texi.
70596         * doc/posix-functions/wcsncasecmp.texi: Renamed from
70597         doc/glibc-functions/wcsncasecmp.texi.
70598         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
70599         doc/glibc-functions/wcsncasecmp_l.texi.
70600         * doc/posix-functions/wcsnlen.texi: Renamed from
70601         doc/glibc-functions/wcsnlen.texi.
70602         * doc/posix-functions/wcsnrtombs.texi: Renamed from
70603         doc/glibc-functions/wcsnrtombs.texi.
70604         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
70605         doc/glibc-functions/wcsxfrm_l.texi.
70606         * doc/posix-functions/wctrans_l.texi: Renamed from
70607         doc/glibc-functions/wctrans_l.texi.
70608         * doc/posix-functions/wctype_l.texi: Renamed from
70609         doc/glibc-functions/wctype_l.texi.
70610         * doc/gnulib.texi (Function Substitutes): Add these subsections.
70611         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
70612         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
70613         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
70614         these subsections.
70615         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
70616         Remove sections.
70618 2008-12-14  Bruno Haible  <bruno@clisp.org>
70620         Update doc for POSIX:2008.
70621         * doc/posix-functions/*.texi: Update URL of POSIX specification.
70623 2008-12-14  Bruno Haible  <bruno@clisp.org>
70625         Update doc for POSIX:2008.
70626         * doc/pastposix-functions/bcmp.texi: Renamed from
70627         doc/posix-functions/bcmp.texi.
70628         * doc/pastposix-functions/bcopy.texi: Renamed from
70629         doc/posix-functions/bcopy.texi.
70630         * doc/pastposix-functions/bsd_signal.texi: Renamed from
70631         doc/posix-functions/bsd_signal.texi.
70632         * doc/pastposix-functions/bzero.texi: Renamed from
70633         doc/posix-functions/bzero.texi.
70634         * doc/pastposix-functions/ecvt.texi: Renamed from
70635         doc/posix-functions/ecvt.texi.
70636         * doc/pastposix-functions/fcvt.texi: Renamed from
70637         doc/posix-functions/fcvt.texi.
70638         * doc/pastposix-functions/ftime.texi: Renamed from
70639         doc/posix-functions/ftime.texi.
70640         * doc/pastposix-functions/gcvt.texi: Renamed from
70641         doc/posix-functions/gcvt.texi.
70642         * doc/pastposix-functions/getcontext.texi: Renamed from
70643         doc/posix-functions/getcontext.texi.
70644         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
70645         doc/posix-functions/gethostbyaddr.texi.
70646         * doc/pastposix-functions/gethostbyname.texi: Renamed from
70647         doc/posix-functions/gethostbyname.texi.
70648         * doc/pastposix-functions/getwd.texi: Renamed from
70649         doc/posix-functions/getwd.texi.
70650         * doc/pastposix-functions/h_errno.texi: Renamed from
70651         doc/posix-functions/h_errno.texi.
70652         * doc/pastposix-functions/index.texi: Renamed from
70653         doc/posix-functions/index.texi.
70654         * doc/pastposix-functions/makecontext.texi: Renamed from
70655         doc/posix-functions/makecontext.texi.
70656         * doc/pastposix-functions/mktemp.texi: Renamed from
70657         doc/posix-functions/mktemp.texi.
70658         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
70659         doc/posix-functions/pthread_attr_getstackaddr.texi.
70660         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
70661         doc/posix-functions/pthread_attr_setstackaddr.texi.
70662         * doc/pastposix-functions/rindex.texi: Renamed from
70663         doc/posix-functions/rindex.texi.
70664         * doc/pastposix-functions/scalb.texi: Renamed from
70665         doc/posix-functions/scalb.texi.
70666         * doc/pastposix-functions/setcontext.texi: Renamed from
70667         doc/posix-functions/setcontext.texi.
70668         * doc/pastposix-functions/swapcontext.texi: Renamed from
70669         doc/posix-functions/swapcontext.texi.
70670         * doc/pastposix-functions/ualarm.texi: Renamed from
70671         doc/posix-functions/ualarm.texi.
70672         * doc/pastposix-functions/usleep.texi: Renamed from
70673         doc/posix-functions/usleep.texi.
70674         * doc/pastposix-functions/vfork.texi: Renamed from
70675         doc/posix-functions/vfork.texi.
70676         * doc/pastposix-functions/wcswcs.texi: Renamed from
70677         doc/posix-functions/wcswcs.texi.
70678         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
70679         (Function Substitutes): Update.
70681 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70683         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
70684         m4/strerror.m4.
70686 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70687             Bruno Haible  <bruno@clisp.org>
70689         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
70691 2008-12-13  Bruno Haible  <bruno@clisp.org>
70693         * modules/strtoull (Depends-on): Remove unistd.
70695 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70697         * modules/strtoull (Depends-on): Add stdlib.
70699 2008-12-11  Simon Josefsson  <simon@josefsson.org>
70701         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
70703 2008-12-10  Jim Meyering  <meyering@redhat.com>
70705         gl_ASSERT: don't say assertions are disabled when they're not
70706         * m4/assert.m4 (gl_ASSERT): Do not make configure report
70707         "checking whether to enable assertions... no", when they are in
70708         fact enabled.  This is solely a bug in the output of configure.
70709         In spite of saying "no", NDEBUG was not defined in that case.
70710         Also, as noted by Eric Blake, leave assertions enabled upon
70711         --enable-assert=INVALID.
70713 2008-12-10  Bruno Haible  <bruno@clisp.org>
70715         Change MODULES.html to refer to POSIX:2008 where possible.
70716         * MODULES.html.sh (POSIX2008_URL): New variable.
70717         (posix_headers): Remove sys/timeb, ucontext.
70718         (posix2001_headers): New variable.
70719         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
70720         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
70721         index, makecontext, mktemp, pthread_attr_getstackaddr,
70722         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
70723         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
70724         (posix2001_functions): New variable.
70725         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
70726         otherwise.
70728 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70730         add missing include to parse-duration.c
70731         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
70732         * modules/parse-duration (Depends-on): Add xalloc.
70734         fix sed script reading maint.mk
70735         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
70736         (syntax-check-rules): Use it.
70738 2008-12-09  Bruno Haible  <bruno@clisp.org>
70740         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
70741         MacOS X 10.4/PowerPC.
70742         Reported by Simon Josefsson.
70744 2008-12-08  Jim Meyering  <meyering@redhat.com>
70746         work around mingw's lack of some S_IF definitions
70747         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
70748         Reported by Simon Josefsson.
70750 2008-12-08  Bruno Haible  <bruno@clisp.org>
70752         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
70753         applied to variables. Needed on MacOS X 10.4/PowerPC.
70754         Reported by Simon Josefsson.
70756 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
70757         and Eric Blake  <ebb9@byu.net>
70759         assert: honor --enable-assert
70760         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
70761         order to honor --enable-assert, rather than treating it as a
70762         synonym for --disable-assert.
70764 2008-12-08  Jim Meyering  <meyering@redhat.com>
70766         * lib/posixtm.c: Remove now-useless declaration of mktime.
70768         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
70770 2008-12-07  Bruno Haible  <bruno@clisp.org>
70772         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
70773         test_once): Mark functions as static.
70774         * tests/test-tls.c (test_tls): Likewise.
70776 2008-12-07  Bruno Haible  <bruno@clisp.org>
70778         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
70779         iconv_register_autodetect.
70781 2008-12-07  Jim Meyering  <meyering@redhat.com>
70783         posixtm.c: avoid a warning
70784         * lib/posixtm.c (posixtime): Don't initialize tm0.
70785         It's no longer needed to placate gcc4's -Wuninitialized,
70786         and the attempt to placate would elicit a new warning.
70788         unicodeio.c: mark unused parameters
70789         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
70790         (fallback_failure_callback): Likewise.
70792 2008-12-07  Bruno Haible  <bruno@clisp.org>
70794         * gnulib-tool (func_create_testdir): When building the tests
70795         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
70796         Reported by Simon Josefsson.
70798 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70800         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
70802 2008-12-06  Bruno Haible  <bruno@clisp.org>
70804         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
70805         Suggested by Eric Blake.
70807 2008-12-06  Bruno Haible  <bruno@clisp.org>
70809         Fix a c-stack test failure on MacOS X.
70810         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
70811         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
70812         handler for SIGBUS as well.
70813         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
70814         install a signal handler for SIGBUS as well.
70815         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
70817 2008-12-06  Bruno Haible  <bruno@clisp.org>
70819         Advocacy documentation.
70820         * doc/gnulib-intro.texi (Benefits): New section.
70821         * doc/gnulib.texi: Update.
70823 2008-12-06  Bruno Haible  <bruno@clisp.org>
70825         Document the 'manywarnings' module.
70826         * doc/manywarnings.texi: New file.
70827         * doc/gnulib.texi: Include it.
70829 2008-12-05  Eric Blake  <ebb9@byu.net>
70831         tests: silence some gcc warnings
70832         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
70833         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
70834         type mismatches.
70836 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70837             Bruno Haible  <bruno@clisp.org>
70839         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
70841 2008-11-29  Jim Meyering  <meyering@redhat.com>
70843         unicodeio.c: mark unused parameters
70844         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
70845         (fallback_failure_callback): Likewise.
70847         fts: fix a thinko
70848         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
70849         (set_stat_type): Return S_IF*-valued "type" directly.
70850         Prompted by James Youngman's spotting a related bug.
70851         Confirmed by further testing through find.
70853         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
70854         * lib/fts.c (D_TYPE): Define.
70855         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
70856         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
70857         (s_ifmt_shift_bits): New function.
70858         (set_stat_type): New function.
70859         (fts_build): When not calling fts_stat, call set_stat_type
70860         to propagate dirent.d_type info to fts_read caller.
70861         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
70862         fts_statp->st_mode type information may be valid.
70864 2008-11-28  Simon Josefsson  <simon@josefsson.org>
70866         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
70867         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
70868         <sds@gnu.org>.
70870 2008-11-20  Bruno Haible  <bruno@clisp.org>
70872         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
70873         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
70874         INCLUDE_NEXT.
70875         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
70876         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
70877         * modules/math (Makefile.am): Substitute
70878         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
70879         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70881 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
70882             Bruno Haible  <bruno@clisp.org>
70884         * lib/stdint.in.h: Define all type macros so that their expansion is
70885         a single typedef'ed token. Fixes a compilation failure in Boost which
70886         does "using ::int8_t;".
70888 2008-11-18  Simon Josefsson  <simon@josefsson.org>
70890         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
70891         gl_MANYWARN_ALL_GCC.
70892         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
70893         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
70894         * modules/manywarnings: New file.
70895         * MODULES.html.sh: Mention manywarnings module.
70897 2008-11-18  Bruno Haible  <bruno@clisp.org>
70899         * doc/gnulib-tool.texi (Unit tests): New section.
70901 2008-11-18  Simon Josefsson  <simon@josefsson.org>
70903         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
70904         paths like 'lib/po/foo.po'.
70906 2008-11-17  Simon Josefsson  <simon@josefsson.org>
70908         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
70909         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
70911 2008-11-17  Simon Josefsson  <simon@josefsson.org>
70913         * m4/warnings.m4: Use CPPFLAGS to really check whether the
70914         parameter works.
70916 2008-11-17  Simon Josefsson  <simon@josefsson.org>
70918         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
70920 2008-11-17  Bruce Korb  <bkorb@gnu.org>
70922         * modules/parse-duration-tests: New file.
70923         * tests/test-parse-duration.sh: New file.
70924         * tests/test-parse-duration.c: New file.
70926         New module 'parse-duration'.
70927         * lib/parse-duration.h: New file.
70928         * lib/parse-duration.c: New file.
70929         * modules/parse-duration: New file.
70931 2008-11-17  Bruno Haible  <bruno@clisp.org>
70933         * tests/test-select-out.sh: Comment out the first pipe test.
70934         Reported by Simon Josefsson.
70936 2008-11-17  Bruno Haible  <bruno@clisp.org>
70938         * modules/getaddrinfo (Depends-on): Add servent, hostent.
70939         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
70940         gl_HOSTENT.
70942 2008-11-17  Bruno Haible  <bruno@clisp.org>
70944         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
70945         -lnetwork and -lnet. Needed for Haiku and BeOS.
70947 2008-11-16  Bruno Haible  <bruno@clisp.org>
70949         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
70951 2008-11-16  Bruno Haible  <bruno@clisp.org>
70953         Avoid test failure on Haiku.
70954         * tests/test-fsync.c: Include <errno.h>.
70955         (main): Don't require that fsync (0) fails.
70957 2008-11-15  Bruno Haible  <bruno@clisp.org>
70959         New module 'hostent'.
70960         * modules/hostent: New file.
70961         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
70963 2008-11-15  Bruno Haible  <bruno@clisp.org>
70965         New module 'servent'.
70966         * modules/servent: New file.
70967         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
70969 2008-11-15  Bruno Haible  <bruno@clisp.org>
70971         Avoid generating same test program with two different rules.
70972         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
70973         test-frexp to test-frexp-nolibm.
70974         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
70975         test-frexpl to test-frexpl-nolibm.
70977 2008-11-15  Bruno Haible  <bruno@clisp.org>
70979         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
70980         $(FREXPL_LIBM).
70982 2008-11-15  Bruno Haible  <bruno@clisp.org>
70984         * lib/netdb.in.h: Activate the definitions also when the system's
70985         <netdb.h> has 'struct addrinfo'.
70986         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
70987         EAI_OVERFLOW or AI_NUMERICSERV.
70988         * doc/posix-headers/netdb.texi: Document the problem.
70990 2008-11-15  Bruno Haible  <bruno@clisp.org>
70992         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
70994         Make the 'sched' module work on platforms where <sched.h> exists but
70995         is incomplete (such as Haiku).
70996         * lib/sched.in.h; Include the system's <sched.h> if it exists.
70997         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
70998         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
70999         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
71000         HAVE_STRUCT_SCHED_PARAM.
71001         * modules/sched (Depends-on): Add include_next.
71002         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
71003         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
71004         * doc/posix-headers/sched.texi: Document the issue.
71006 2008-11-13  Jim Meyering  <meyering@redhat.com>
71008         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
71009         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
71010         test would fail due to the difference in the Report bugs to ...
71011         line.  The expected address is empty, "<>", while the actual
71012         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
71014 2008-11-12  Bruno Haible  <bruno@clisp.org>
71016         lstat: don't compile lstat.c on systems lacking lstat
71017         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
71018         which don't have lstat; this is handled by lib/sys_stat.in.h already.
71019         Reported by Daniel P. Berrange via Jim Meyering.
71021 2008-11-12  Jim Meyering  <meyering@redhat.com>
71023         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
71025 2008-11-12  Simon Josefsson  <simon@josefsson.org>
71027         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
71028         instead.
71030 2008-11-12  Bruno Haible  <bruno@clisp.org>
71032         * lib/unicodeio.c: Include unistr.h.
71033         (utf8_wctomb): Remove function.
71034         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
71036 2008-11-12  Simon Josefsson  <simon@josefsson.org>
71038         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
71039         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
71040         <bruno@clisp.org>.
71041         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
71043 2008-11-12  Simon Josefsson  <simon@josefsson.org>
71045         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
71046         * doc/gnulib.texi: Add section for warnings.
71048 2008-11-11  Bruno Haible  <bruno@clisp.org>
71050         * lib/sockets.h: Add a comment.
71052 2008-11-11  Karl Berry  <karl@gnu.org>
71054         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
71056 2008-11-11  Eric Blake  <ebb9@byu.net>
71058         fdl.texi: avoid git symlinks
71059         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
71061 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
71063         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
71065 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
71067         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
71068         (gl_WARN_ADD): Substitute $2 if literal.
71070 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
71072         * m4/warning.m4: Remove.
71074 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
71076         * m4/warnings.m4: Almost complete rewrite. :-)
71078 2008-11-10  Simon Josefsson  <simon@josefsson.org>
71080         * modules/warnings: New module.
71081         * m4/warnings.m4: New file.
71082         * MODULES.html.sh: Mention warnings module.
71083         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
71084         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71086 2008-11-10  Eric Blake  <ebb9@byu.net>
71088         fdl.texi: make a symlink to the latest version
71089         * doc/standards.texi: Revert today's earlier change.
71090         * doc/fdl-1.2.texi: Rename from old fdl.texi...
71091         * doc/fdl.texi: ...and replace this with a symlink to the newer
71092         fdl-1.3.texi.
71094 2008-11-10  Bruno Haible  <bruno@clisp.org>
71096         * tests/test-select-fd.c (main): Accept the result file name as fourth
71097         argument.
71098         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
71099         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
71101 2008-11-10  Bruno Haible  <bruno@clisp.org>
71103         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
71104         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
71105         as autoconf-substituted macros.
71106         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
71107         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
71108         gl_NETDB_H_DEFAULTS. Set these variables.
71109         * modules/netdb (Makefile.am): Substitute these variables.
71111 2008-11-10  Eric Blake  <ebb9@byu.net>
71113         standards.texi: include correct file for FDL 1.3
71114         * doc/standards.texi (GNU Free Documentation License): Change
71115         include file to pull in FDL 1.3, not 1.2.
71117         fdl.texi: revert accidental change to license
71118         * doc/fdl.texi: This is FDL 1.2, not 1.3.
71120 2008-11-10  Bruno Haible  <bruno@clisp.org>
71122         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
71123         cross-compiling guesses also when the native compile gives no result.
71125 2008-11-10  Bruno Haible  <bruno@clisp.org>
71127         * lib/spawni.c (__spawni): Force variable into the stack.
71129 2008-11-10  Bruno Haible  <bruno@clisp.org>
71131         Add support for Haiku.
71132         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
71133         glibc and BeOS, but also on Haiku.
71134         * lib/fpurge.c (fpurge): Likewise.
71135         * lib/freadable.c (freadable): Likewise.
71136         * lib/freadahead.c (freadahead): Likewise.
71137         * lib/freading.c (freading): Likewise.
71138         * lib/freadptr.c (freadptr): Likewise.
71139         * lib/freadseek.c (freadptrinc): Likewise.
71140         * lib/fseeko.c (rpl_fseeko): Likewise.
71141         * lib/fseterr.c (fseterr): Likewise.
71142         * lib/fwritable.c (fwritable): Likewise.
71143         * lib/fwriting.c (fwriting): Likewise.
71144         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
71146 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
71148         * lib/config.charset: Treat Haiku like BeOS.
71150 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
71152         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
71153         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
71155 2008-11-08  Bruno Haible  <bruno@clisp.org>
71157         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
71158         AC_CACHE_CHECK.
71160 2008-11-08  Bruno Haible  <bruno@clisp.org>
71162         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
71164 2008-11-08  Bruno Haible  <bruno@clisp.org>
71166         * tests/test-select-fd.c: New file.
71167         * tests/test-select-in.sh: New file.
71168         * tests/test-select-out.sh: New file.
71169         * tests/test-select-stdin.c: New file.
71170         * modules/select-tests (Files): Add the new files.
71171         (Depends-on): Add gettimeofday.
71172         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
71173         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
71174         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
71176 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
71177             Bruno Haible  <bruno@clisp.org>
71179         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
71181 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
71183         * build-aux/pmccabe2html: Added support for C++ source files.
71185 2008-11-05  Ben Pfaff  <blp@gnu.org>
71187         Fix lib/close.c build on Windows.
71188         * modules/close (Files): Add lib/w32sock.h.
71190 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
71192         Accept Bison's NEWS format.
71193         * build-aux/announce-gen (print_news_deltas): Tweak
71194         $re_prefix.
71196 2008-11-04  Bruno Haible  <bruno@clisp.org>
71198         * modules/random_r (Maintainer): Add glibc.
71200 2008-11-04  Simon Josefsson  <simon@josefsson.org>
71202         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
71203         by karl@freefriends.org (Karl Berry).
71204         * doc/alloca.texi: Likewise.
71205         * doc/c-ctype.texi: Likewise.
71206         * doc/c-strcase.texi: Likewise.
71207         * doc/c-strcaseeq.texi: Likewise.
71208         * doc/c-strcasestr.texi: Likewise.
71209         * doc/c-strstr.texi: Likewise.
71210         * doc/c-strtod.texi: Likewise.
71211         * doc/c-strtold.texi: Likewise.
71212         * doc/ctime.texi: Likewise.
71213         * doc/error.texi: Likewise.
71214         * doc/fdl.texi: Likewise.
71215         * doc/gcd.texi: Likewise.
71216         * doc/getdate.texi: Likewise.
71217         * doc/gnulib-intro.texi: Likewise.
71218         * doc/gnulib-tool.texi: Likewise.
71219         * doc/gnulib.texi: Likewise.
71220         * doc/inet_ntoa.texi: Likewise.
71221         * doc/maintain.texi: Likewise.
71222         * doc/make-stds.texi: Likewise.
71223         * doc/quote.texi: Likewise.
71224         * doc/regexprops-generic.texi: Likewise.
71225         * doc/standards.texi: Likewise.
71226         * doc/verify.texi: Likewise.
71227         * doc/visibility.texi: Likewise.
71228         * doc/gnulib.texi (GNU Free Documentation License): Include
71229         fdl-1.3.texi instead of fdl.texi.
71231 2008-11-04  Simon Josefsson  <simon@josefsson.org>
71233         * doc/fdl-1.3.texi: New file, from
71234         <http://www.gnu.org/licenses/fdl-1.3.texi>.
71235         * modules/fdl-1.3: Add.
71236         * MODULES.html.sh: Add fdl-1.3.
71238 2008-11-03  Bruno Haible  <bruno@clisp.org>
71240         Make determination of absolute name of header file work with AIX xlc.
71241         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
71242         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
71243         preprocessing.
71244         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
71245         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
71247 2008-11-03  Simon Josefsson  <simon@josefsson.org>
71249         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
71250         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
71251         <ludo@gnu.org>.
71253 2008-11-02  Bruno Haible  <bruno@clisp.org>
71255         Mark 'strpbrk' obsolete.
71256         * modules/strpbrk (Status, Notice): New sections.
71257         * modules/strtok_r (Depends-on): Add strpbrk.
71259 2008-11-02  Bruno Haible  <bruno@clisp.org>
71261         Mark 'strdup' obsolete.
71262         * modules/strdup (Status, Notice): New sections.
71263         * modules/findprog (Depends-on): Add strdup.
71264         * modules/getaddrinfo (Depends-on): Likewise.
71265         * modules/localename (Depends-on): Likewise.
71266         * modules/relocatable-lib (Depends-on): Likewise.
71267         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
71268         * modules/relocatable-prog (Depends-on): Likewise.
71269         * modules/trim (Depends-on): Likewise.
71270         * modules/unictype/gen-ctype (Depends-on): Likewise.
71271         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
71273 2008-11-02  Bruno Haible  <bruno@clisp.org>
71275         Mark 'strcspn' obsolete.
71276         * modules/strcspn (Status, Notice): New sections.
71278 2008-11-02  Bruno Haible  <bruno@clisp.org>
71280         Mark 'rmdir' obsolete.
71281         * modules/rmdir (Status, Notice): New sections.
71282         * modules/clean-temp (Depends-on): Add rmdir.
71283         * modules/openat (Depends-on): Likewise.
71285 2008-11-02  Bruno Haible  <bruno@clisp.org>
71287         Mark 'raise' obsolete.
71288         * modules/raise (Status, Notice): New sections.
71289         (Include): Specify <signal.h>.
71290         * modules/stdio (Depends-on): Add raise.
71291         * modules/write (Depends-on): Likewise.
71293 2008-11-02  Bruno Haible  <bruno@clisp.org>
71295         Mark 'memset' obsolete.
71296         * modules/memset (Status, Notice): New sections.
71298 2008-11-02  Bruno Haible  <bruno@clisp.org>
71300         Mark 'memmove' obsolete.
71301         * modules/memmove (Status, Notice): New sections.
71302         * modules/argp (Depends-on): Add memmove.
71303         * modules/argz (Depends-on): Likewise.
71304         * modules/canonicalize (Depends-on): Likewise.
71305         * modules/canonicalize-lgpl (Depends-on): Likewise.
71306         * modules/fts (Depends-on): Likewise.
71307         * modules/getcwd (Depends-on): Likewise.
71308         * modules/human (Depends-on): Likewise.
71309         * modules/regex (Depends-on): Likewise.
71310         * modules/striconveh (Depends-on): Likewise.
71311         * modules/trim (Depends-on): Likewise.
71312         * modules/unistr/u8-move (Depends-on): Likewise.
71313         * modules/unistr/u16-move (Depends-on): Likewise.
71314         * modules/unistr/u32-move (Depends-on): Likewise.
71316 2008-11-02  Bruno Haible  <bruno@clisp.org>
71318         Mark 'memcpy' obsolete.
71319         * modules/memcpy (Status, Notice): New sections.
71321 2008-11-02  Bruno Haible  <bruno@clisp.org>
71323         Mark 'memcmp' obsolete.
71324         * modules/memcmp (Status, Notice): New sections.
71325         * modules/argmatch (Depends-on): Add memchr.
71326         * modules/backupfile (Depends-on): Likewise.
71327         * modules/c-strcasestr (Depends-on): Likewise.
71328         * modules/crypto/des (Depends-on): Likewise.
71329         * modules/csharpcomp (Depends-on): Likewise.
71330         * modules/fnmatch (Depends-on): Likewise.
71331         * modules/git-merge-changelog (Depends-on): Likewise.
71332         * modules/isnand (Depends-on): Likewise.
71333         * modules/isnand-nolibm (Depends-on): Likewise.
71334         * modules/isnanf (Depends-on): Likewise.
71335         * modules/isnanf-nolibm (Depends-on): Likewise.
71336         * modules/isnanl (Depends-on): Likewise.
71337         * modules/isnanl-nolibm (Depends-on): Likewise.
71338         * modules/mbchar (Depends-on): Likewise.
71339         * modules/memcoll (Depends-on): Likewise.
71340         * modules/quotearg (Depends-on): Likewise.
71341         * modules/regex (Depends-on): Likewise.
71342         * modules/relocatable-prog (Depends-on): Likewise.
71343         * modules/same (Depends-on): Likewise.
71344         * modules/signbit (Depends-on): Likewise.
71345         * modules/strcasestr-simple (Depends-on): Likewise.
71346         * modules/unictype/gen-ctype (Depends-on): Likewise.
71347         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
71348         * modules/uniname/uniname (Depends-on): Likewise.
71349         * modules/unistr/u8-cmp (Depends-on): Likewise.
71351 2008-11-02  Bruno Haible  <bruno@clisp.org>
71353         Mark 'memchr' obsolete.
71354         * modules/memchr (Status, Notice): New sections.
71355         * modules/argp (Depends-on): Add memchr.
71356         * modules/base64 (Depends-on): Likewise.
71357         * modules/c-strcasestr (Depends-on): Likewise.
71358         * modules/chdir-long (Depends-on): Likewise.
71359         * modules/fnmatch (Depends-on): Likewise.
71360         * modules/getsubopt (Depends-on): Likewise.
71361         * modules/git-merge-changelog (Depends-on): Likewise.
71362         * modules/glob (Depends-on): Likewise.
71363         * modules/strcasestr-simple (Depends-on): Likewise.
71364         * modules/strnlen (Depends-on): Likewise.
71366 2008-11-02  Bruno Haible  <bruno@clisp.org>
71368         Mark 'atexit' obsolete.
71369         * modules/atexit (Status, Notice): New sections.
71370         * modules/chdir-long (Depends-on): Add atexit.
71371         * modules/wait-process (Depends-on): Likewise.
71373 2008-11-02  Bruno Haible  <bruno@clisp.org>
71375         * gnulib-tool: New option --with-obsolete.
71376         (func_usage): Document it.
71377         (func_modules_transitive_closure): Drop obsolete dependencies if
71378         incobsolete is not true.
71379         (func_import): Read and save the incobsolete variable to the cache.
71381 2008-11-02  Bruno Haible  <bruno@clisp.org>
71383         * modules/TEMPLATE-EXTENDED: New field 'Status'.
71384         * gnulib-tool: New option --extract-status.
71385         (func_usage): Document it.
71386         (sed_extract_prog): Recognize it.
71387         (func_get_status): New function.
71389 2008-10-30  Simon Josefsson  <simon@josefsson.org>
71391         * modules/sockets (License): Change from LGPL to LGPLv2+.
71393 2008-10-28  Simon Josefsson  <simon@josefsson.org>
71395         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
71397 2008-10-28  Simon Josefsson  <simon@josefsson.org>
71399         * MODULES.html.sh (Support for systems lacking POSIX:2001):
71400         Mention times and sys_times.
71401         * modules/sys_times, modules/sys_times-tests: New modules.
71402         * modules/times, modules/times-tests: Likewise
71403         * m4/sys_times_h.m4: New file.
71404         * lib/sys_times.in.h: Likewise
71405         * lib/times.c: Likewise.
71406         * tests/test-sys_times.c: Likewise.
71407         * tests/test-times.c: Likewise.
71408         * doc/posix-headers/sys_times.texi: Update.
71409         * doc/posix-functions/times.texi: Update.
71411 2008-10-28  Jim Meyering  <meyering@redhat.com>
71413         * modules/tempname (Depends-on): Add lstat.
71415         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
71417 2008-10-28  Simon Josefsson  <simon@josefsson.org>
71419         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
71420         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
71421         using idiom used elsewhere in gnulib.
71423 2008-10-27  Jim Meyering  <meyering@redhat.com>
71425         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
71427 2008-10-27  Simon Josefsson  <simon@josefsson.org>
71429         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
71430         TESTS_ENVIRONMENT, for shell scripts that needs to call built
71431         programs.
71432         * tests/test-argp-2.sh: Use $EXEEXT when needed.
71434 2008-10-27  Simon Josefsson  <simon@josefsson.org>
71436         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
71438 2008-10-27  Bruno Haible  <bruno@clisp.org>
71440         * tests/test-lstat.c: Include <stdio.h>.
71442 2008-10-27  Simon Josefsson  <simon@josefsson.org>
71444         * modules/lstat-tests: New module.
71445         * tests/test-lstat.c: New file.
71447 2008-10-26  Jim Meyering  <meyering@redhat.com>
71449         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
71451 2008-10-26  Simon Josefsson  <simon@josefsson.org>
71452             Bruno Haible  <bruno@clisp.org>
71454         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
71455         * modules/configmake (Include): Add a note that the include must come
71456         after all system headers.
71457         * lib/javaversion.c: Include configmake.h after all other includes.
71459 2008-10-26  Bruno Haible  <bruno@clisp.org>
71461         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
71462         HAVE_STRUCT_RANDOM_DATA to 1.
71463         (gl_STDLIB_H): Simplify.
71465 2008-10-26  Simon Josefsson  <simon@josefsson.org>
71467         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
71468         substitute HAVE_STRUCT_RANDOM_DATA.
71469         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
71470         random_data.
71471         * modules/stdlib (Makefile.am): Substitute
71472         HAVE_STRUCT_RANDOM_DATA.
71474 2008-10-26  Simon Josefsson  <simon@josefsson.org>
71476         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
71477         * doc/gnulib-intro.texi (Copyright): Likewise.
71479 2008-10-26  Simon Josefsson  <simon@josefsson.org>
71481         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
71482         findings.
71484 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
71485             Bruno Haible  <bruno@clisp.org>
71487         * lib/unistd.in.h: Include <winsock2.h>.
71488         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
71489         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
71490         Provide dummy declarations.
71491         (gethostname): Override.
71492         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
71493         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
71494         gl_PREREQ_SYS_H_WINSOCK2.
71495         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
71496         * doc/posix-functions/gethostname.texi: More details.
71498 2008-10-25  Bruno Haible  <bruno@clisp.org>
71500         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
71501         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
71502         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
71504         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
71505         here ...
71506         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
71507         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
71508         gl_UNISTD_H_DEFAULTS.
71510 2008-10-25  Eric Blake  <ebb9@byu.net>
71512         signbit: avoid spurious compiler failure
71513         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
71514         declarations inside function.
71516 2008-10-24  Simon Josefsson  <simon@josefsson.org>
71517             Bruno Haible  <bruno@clisp.org>
71519         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
71520         * modules/random_r (Depends-on): Add stdint.
71522 2008-10-24  Bruno Haible  <bruno@clisp.org>
71524         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
71525         Eggert.
71526         * modules/strerror (License): Likewise.
71528 2008-10-24  Jim Meyering  <meyering@redhat.com>
71530         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
71531         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
71533 2008-10-24  Eric Blake  <ebb9@byu.net>
71535         getgroups: fix compilation when getgroups is available
71536         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
71537         but with <config.h> override of getgroups disabled.
71539 2008-10-24  Simon Josefsson  <simon@josefsson.org>
71541         * doc/gnulib.texi (Header files): Add note about C++ problems.
71542         Explained by Bruno Haible <bruno@clisp.org>.
71544 2008-10-23  Bruno Haible  <bruno@clisp.org>
71546         Define a dummy SA_NODEFER macro on Interix.
71547         * lib/signal.in.h (SA_NODEFER): Define fallback.
71548         Reported by Aleksey Cheusov <cheusov@tut.by> via
71549         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
71551 2008-10-23  Bruno Haible  <bruno@clisp.org>
71553         * modules/freadahead (License): Change to LGPLv2+.
71554         Suggested by Simon Josefsson.
71556 2008-10-23  Jim Meyering  <meyering@redhat.com>
71558         random_r: new module
71559         * modules/random_r: New file.
71560         * m4/random_r.m4: New file.
71561         * lib/random_r.c: New file, from glibc.
71562         * modules/random_r-tests: New file.
71563         * tests/test-random_r.c: New file.
71564         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
71565          Declare.
71566         (RAND_MAX): Define.
71567         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
71568         * modules/stdlib: Substitute them, too.
71569         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
71570         * doc/glibc-functions/initstate_r.texi: Mention the new module.
71571         * doc/glibc-functions/random_r.texi: Likewise.
71572         * doc/glibc-functions/setstate_r.texi: Likewise.
71573         * doc/glibc-functions/srandom_r.texi: Likewise.
71574         * config/srclist.txt: Mention it.
71576 2008-10-23  David Lutterkort  <lutter@redhat.com>
71578         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
71579         link requirement
71581 2008-10-23  Jim Meyering  <meyering@redhat.com>
71583         selinux-h: mark parameters of stub functions as intentionally unused
71584         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
71585         * lib/se-context.in.h: Likewise.
71587 2008-10-22  Simon Josefsson  <simon@josefsson.org>
71589         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
71591 2008-10-22  Simon Josefsson  <simon@josefsson.org>
71593         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
71595 2008-10-22  Eric Blake  <ebb9@byu.net>
71597         glthread/thread: avoid compiler warning
71598         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
71599         Add unreachable abort to silence compiler.
71601 2008-10-22  Eric Blake  <ebb9@byu.net>
71603         netdb: also supply struct addrinfo for cygwin 1.5.x
71604         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
71605         older cygwin.
71606         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
71607         cygwin.
71608         * doc/posix-headers/netdb.texi (netdb.h): Document this.
71610 2008-10-22  Bruno Haible  <bruno@clisp.org>
71612         * users.txt: Update entry about pspp.
71614 2008-10-21  Bruno Haible  <bruno@clisp.org>
71616         Simplification.
71617         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
71618         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
71620         Simplification.
71621         * lib/ioctl.c (ioctl): Don't undefine.
71622         * lib/socket.c (socket): Don't undefine.
71624         Remove unused module indicator macros.
71625         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
71626         GNULIB_$1 as a C macro.
71628         * doc/posix-functions/close.texi: Undo last change.
71629         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
71630         Windows platforms.
71632 2008-10-21  Bruno Haible  <bruno@clisp.org>
71634         Add gethostname() declaration to <unistd.h>.
71635         * lib/unistd.in.h (gethostname): New declaration.
71636         * lib/gethostname.c: Include <unistd.h>.
71637         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
71638         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
71639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
71640         and HAVE_GETHOSTNAME.
71641         * modules/gethostname (Depends-on): Add unistd.
71642         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71643         (Include): Specify <unistd.h>.
71644         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
71645         HAVE_GETHOSTNAME.
71646         * tests/test-gethostname.c: Include <unistd.h> first.
71648 2008-10-21  Bruno Haible  <bruno@clisp.org>
71650         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
71651         * modules/select-tests (Depends-on): Likewise.
71652         Reported by Simon Josefsson.
71654 2008-10-21  Simon Josefsson  <simon@josefsson.org>
71656         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
71657         * lib/accept.c: New file, based on winsock.c.
71658         * lib/bind.c: New file, based on winsock.c.
71659         * lib/connect.c: New file, based on winsock.c.
71660         * lib/getpeername.c: New file, based on winsock.c.
71661         * lib/getsockname.c: New file, based on winsock.c.
71662         * lib/getsockopt.c: New file, based on winsock.c.
71663         * lib/ioctl.c: New file, based on winsock.c.
71664         * lib/listen.c: New file, based on winsock.c.
71665         * lib/recv.c: New file, based on winsock.c.
71666         * lib/recvfrom.c: New file, based on winsock.c.
71667         * lib/send.c: New file, based on winsock.c.
71668         * lib/sendto.c: New file, based on winsock.c.
71669         * lib/setsockopt.c: New file, based on winsock.c.
71670         * lib/shutdown.c: New file, based on winsock.c.
71671         * lib/socket.c: New file, based on winsock.c.
71672         * lib/w32sock.h: New file, based on winsock.c.
71673         * lib/winsock.c: Remove file.
71674         * modules/accept: Likewise.
71675         * modules/bind: Likewise.
71676         * modules/connect: Likewise.
71677         * modules/getpeername: Likewise.
71678         * modules/getsockname: Likewise.
71679         * modules/getsockopt: Likewise.
71680         * modules/ioctl: Likewise.
71681         * modules/listen: Likewise.
71682         * modules/recv: Likewise.
71683         * modules/recvfrom: Likewise.
71684         * modules/send: Likewise.
71685         * modules/sendto: Likewise.
71686         * modules/setsockopt: Likewise.
71687         * modules/shutdown: Likewise.
71688         * modules/socket: Use socket.c instead of winsock.c.
71689         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
71690         * doc/posix-functions/accept.texi: Doc fix.
71691         * doc/posix-functions/bind.texi: Doc fix.
71692         * doc/posix-functions/close.texi: Doc fix.
71693         * doc/posix-functions/connect.texi: Doc fix.
71694         * doc/posix-functions/getpeername.texi: Doc fix.
71695         * doc/posix-functions/getsockname.texi: Doc fix.
71696         * doc/posix-functions/getsockopt.texi: Doc fix.
71697         * doc/posix-functions/ioctl.texi: Doc fix.
71698         * doc/posix-functions/listen.texi: Doc fix.
71699         * doc/posix-functions/recv.texi: Doc fix.
71700         * doc/posix-functions/recvfrom.texi: Doc fix.
71701         * doc/posix-functions/send.texi: Doc fix.
71702         * doc/posix-functions/sendto.texi: Doc fix.
71703         * doc/posix-functions/setsockopt.texi: Doc fix.
71704         * doc/posix-functions/shutdown.texi: Doc fix.
71705         * doc/posix-functions/socket.texi: Doc fix.
71707 2008-10-20  Bruno Haible  <bruno@clisp.org>
71709         Take into account the role of SIGABRT_COMPAT on Windows 2008.
71710         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
71711         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
71712         as an alias for SIGABRT.
71713         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
71714         (sigaction): Map it to SIGABRT.
71715         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
71717 2008-10-20  Bruno Haible  <bruno@clisp.org>
71719         * lib/fts.c: Don't include lstat.h.
71720         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
71722         Move the lstat() declaration to <sys/stat.h>.
71723         * lib/lstat.h: Remove file.
71724         * lib/sys_stat.in.h: Add special invocation convention.
71725         (lstat): New declaration.
71726         * lib/lstat.c (orig_lstat): New function.
71727         (rpl_lstat): Use orig_lstat instead of lstat.
71728         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
71729         AC_C_INLINE. Set REPLACE_LSTAT.
71730         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
71731         and REPLACE_LSTAT.
71732         * modules/lstat (Files): Remove lib/lstat.h.
71733         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
71734         (Include): Specify <sys/stat.h> instead of lstat.h.
71735         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
71736         REPLACE_LSTAT.
71737         * NEWS: Mention the change.
71739 2008-10-20  Bruno Haible  <bruno@clisp.org>
71741         * modules/posix_spawn-tests: New file.
71742         * tests/test-posix_spawn3.c: New file.
71744 2008-10-20  Bruno Haible  <bruno@clisp.org>
71746         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
71747         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
71748         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
71749         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
71750         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
71752 2008-10-20  Bruno Haible  <bruno@clisp.org>
71754         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
71755         of posix_spawn on AIX 5.3.
71757 2008-10-20  Bruno Haible  <bruno@clisp.org>
71759         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
71761 2008-10-20  Bruno Haible  <bruno@clisp.org>
71763         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
71764         of AC_LANG_PROGRAM.
71766 2008-10-20  Simon Josefsson  <simon@josefsson.org>
71768         * lib/netdb.in.h: Don't define GNU specific constants until they
71769         are supported or needed.  Reported by Bruno Haible
71770         <bruno@clisp.org>.
71772 2008-10-20  Simon Josefsson  <simon@josefsson.org>
71774         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
71776 2008-10-20  Simon Josefsson  <simon@josefsson.org>
71778         * lib/getaddrinfo.h: Remove file.
71779         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
71780         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
71781         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
71782         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
71783         * modules/netdb: Substitute GNULIB_GETADDRINFO.
71784         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
71785         * tests/test-getaddrinfo.c: Likewise.
71786         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
71787         * NEWS: Mention change.
71789 2008-10-19  Bruno Haible  <bruno@clisp.org>
71791         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
71793 2008-10-19  Bruno Haible  <bruno@clisp.org>
71795         * lib/wait-process.c: Include simply <sys/wait.h>.
71796         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
71797         WIFSTOPPED): Remove fallback definitions.
71798         * modules/wait-process (Depends-on): Add sys_wait.
71800         New module 'sys_wait'.
71801         * modules/sys_wait: New file.
71802         * lib/sys_wait.in.h: New file, partially copied from
71803         lib/wait-process.c.
71804         * m4/sys_wait_h.m4: New file.
71805         * doc/posix-headers/sys_wait.texi: Mention the new module.
71807 2008-10-19  Bruno Haible  <bruno@clisp.org>
71809         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
71811 2008-10-19  Bruno Haible  <bruno@clisp.org>
71813         Assume that waitpid() fills an 'int' status, not a 'union wait'.
71814         * lib/wait-process.c (WAIT_T): Remove type.
71815         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
71816         (wait_subprocess): Update.
71818 2008-10-19  Bruno Haible  <bruno@clisp.org>
71820         New module 'atoll'.
71821         * modules/atoll: New file.
71822         * lib/stdlib.in.h (atoll): New declaration.
71823         * lib/atoll.c: New file, from glibc with modifications.
71824         * m4/atoll.m4: New file.
71825         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
71826         HAVE_ATOLL.
71827         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
71828         * doc/posix-functions/atoll.texi: Mention the new module.
71830 2008-10-19  Bruno Haible  <bruno@clisp.org>
71832         Add strtoull() declaration to <stdlib.h>.
71833         * lib/stdlib.in.h (strtoull): New declaration.
71834         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
71835         Set HAVE_STRTOULL.
71836         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
71837         HAVE_STRTOULL.
71838         * modules/strtoull (Depends-on): Add stdlib.
71839         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
71840         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
71841         HAVE_STRTOULL.
71843 2008-10-19  Bruno Haible  <bruno@clisp.org>
71845         Add strtoll() declaration to <stdlib.h>.
71846         * lib/stdlib.in.h (strtoll): New declaration.
71847         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
71848         Set HAVE_STRTOLL.
71849         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
71850         HAVE_STRTOLL.
71851         * modules/strtoll (Depends-on): Add stdlib.
71852         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
71853         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
71855 2008-10-19  Bruno Haible  <bruno@clisp.org>
71857         * modules/bcopy (Depends-on): Add strings.
71858         (Include): Specify <strings.h>.
71860 2008-10-19  Bruno Haible  <bruno@clisp.org>
71862         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
71864 2008-10-19  Bruno Haible  <bruno@clisp.org>
71866         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
71867         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
71868         mingw.
71870 2008-10-19  Bruno Haible  <bruno@clisp.org>
71872         * lib/atanl.c: Don't include isnanl.h.
71873         * lib/cosl.c: Likewise.
71874         * lib/ldexpl.c: Likewise.
71875         * lib/logl.c: Likewise.
71876         * lib/sinl.c: Likewise.
71877         * lib/sqrtl.c: Likewise.
71878         * lib/tanl.c: Likewise.
71880         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
71881         * lib/isnanf.h: Remove file.
71882         * lib/isnand.h: Remove file.
71883         * lib/isnanl.h: Remove file.
71884         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
71885         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
71886         macros.
71887         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
71888         HAVE_ISNANF, don't define it as a C macro.
71889         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
71890         HAVE_ISNAND, don't define it as a C macro.
71891         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
71892         HAVE_ISNANL, don't define it as a C macro.
71893         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
71894         HAVE_ISNAN[FDL].
71895         * modules/isnanf (Files): Remove lib/isnanf.h.
71896         (Depends-on): Add math.
71897         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
71898         (Include): Specify <math.h> instead of isnanf.h.
71899         * modules/isnand (Files): Remove lib/isnand.h.
71900         (Depends-on): Add math.
71901         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
71902         (Include): Specify <math.h> instead of isnand.h.
71903         * modules/isnanl (Files): Remove lib/isnanl.h.
71904         (Depends-on): Add math.
71905         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
71906         (Include): Specify <math.h> instead of isnanl.h.
71907         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
71908         HAVE_ISNAN[FDL].
71909         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
71910         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
71911         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
71912         * NEWS: Mention the change.
71914 2008-10-18  Bruno Haible  <bruno@clisp.org>
71916         Add getusershell(), setusershell(), endusershell() declarations to
71917         <unistd.h>.
71918         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
71919         declarations.
71920         * lib/getusershell.c: Include unistd.h.
71921         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
71922         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
71923         HAVE_GETUSERSHELL.
71924         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
71925         and HAVE_GETUSERSHELL.
71926         * modules/getusershell (Depends-on): Add unistd, extensions.
71927         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71928         (Include): Specify <unistd.h>.
71929         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
71930         HAVE_GETUSERSHELL.
71932 2008-10-18  Bruno Haible  <bruno@clisp.org>
71934         Add a getloadavg() declaration to <stdlib.h>.
71935         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
71936         getloadavg declaration.
71937         (getloadavg): New declaration.
71938         * lib/getloadavg.c: Include <stdlib.h> first.
71939         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
71940         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
71941         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
71942         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
71943         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
71944         * modules/getloadavg (Depends-on): Add stdlib, extensions.
71945         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
71946         (Include): Specify <stdlib.h>.
71947         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
71948         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
71950 2008-10-18  Bruno Haible  <bruno@clisp.org>
71952         * lib/dirchownmod.c: Don't include lchmod.h.
71954         Move the lchmod() declaration to <sys/stat.h>.
71955         * lib/lchmod.h: Remove file.
71956         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
71957         (lchmod): New declaration, moved here from lib/lchown.h.
71958         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
71959         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
71960         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
71961         and HAVE_LCHMOD.
71962         * modules/lchmod (Files): Remove lib/lchmod.h.
71963         (Depends-on): Add sys_stat, extensions.
71964         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
71965         (Include): Specify <sys/stat.h> instead of lchmod.h.
71966         * modules/sys_stat (Depends-on): Add link-warning.
71967         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
71968         definition of GL_LINK_WARNING.
71969         * NEWS: Mention the change.
71971 2008-10-18  Bruno Haible  <bruno@clisp.org>
71973         * lib/fchdir.c: Don't include dirfd.h.
71974         * lib/fts.c: Likewise.
71975         * lib/getcwd.c: Likewise.
71976         * lib/glob.c: Likewise.
71978         Move the dirfd() declaration to <dirent.h>.
71979         * lib/dirfd.h: Remove file.
71980         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
71981         (dirfd): New declaration.
71982         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
71983         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
71984         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
71985         HAVE_DECL_DIRFD.
71986         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
71987         HAVE_DECL_DIRFD.
71988         * modules/dirfd (Files): Remove lib/dirfd.h.
71989         (Depends-on): Add dirent, extensions.
71990         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
71991         (Include): Specify <dirent.h> instead of dirfd.h.
71992         * modules/dirent (Depends-on): Add link-warning.
71993         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
71994         definition of GL_LINK_WARNING.
71995         * NEWS: Mention the change.
71997 2008-10-18  Bruno Haible  <bruno@clisp.org>
71999         Move the euidaccess() declaration to <unistd.h>.
72000         * lib/euidaccess.h: Remove file.
72001         * lib/unistd.in.h (euidaccess): New declaration.
72002         * lib/euidaccess.c: Don't include euidaccess.h.
72003         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
72004         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
72005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
72006         and HAVE_EUIDACCESS.
72007         * modules/euidaccess (Files): Remove lib/euidaccess.h.
72008         (Depends-on): Add unistd.
72009         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72010         (Include): Specify <unistd.h> instead of euidaccess.h.
72011         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
72012         HAVE_EUIDACCESS.
72013         * NEWS: Mention the change.
72015 2008-10-18  Bruno Haible  <bruno@clisp.org>
72017         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
72019         Move the getdomainname() declaration to <unistd.h>.
72020         * lib/getdomainname.h: Remove file.
72021         * lib/unistd.in.h (getdomainname): New declaration.
72022         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
72023         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
72024         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
72025         HAVE_GETDOMAINNAME.
72026         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
72027         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
72028         * modules/getdomainname (Files): Remove lib/getdomainname.h.
72029         (Depends-on): Add unistd, extensions.
72030         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72031         (Includes): Specify <unistd.h> instead of getdomainname.h.
72032         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
72033         HAVE_GETDOMAINNAME.
72034         * NEWS: Mention the change.
72036 2008-10-18  Bruno Haible  <bruno@clisp.org>
72038         * modules/dirent: New file.
72039         * m4/dirent_h.m4: New file.
72040         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
72041         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
72042         * modules/fchdir (Files): Remove lib/dirent.in.h.
72043         (Depends-on): Add dirent.
72044         (Makefile.am): Move rules to modules/dirent.
72045         * doc/posix-headers/dirent.texi: Mention the new module.
72047 2008-10-18  Bruno Haible  <bruno@clisp.org>
72049         Avoid -Wunused-parameter warnings in public gnulib header files.
72050         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
72051         macro.
72052         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
72054 2008-10-18  Bruno Haible  <bruno@clisp.org>
72056         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
72057         * doc/glibc-functions/error.texi: Mention the module 'error'.
72058         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
72059         * doc/glibc-functions/getdomainname.texi: Mention the module
72060         'getdomainname'.
72061         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
72062         * doc/glibc-functions/getpagesize.texi: Mention the module
72063         'getpagesize'.
72064         * doc/glibc-functions/getusershell.texi: Mention the module
72065         'getusershell'.
72066         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
72067         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
72068         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
72069         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
72070         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
72071         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
72072         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
72073         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
72074         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
72075         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
72076         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
72077         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
72078         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
72079         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
72081 2008-10-17  Bruno Haible  <bruno@clisp.org>
72083         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
72084         HP-UX and IRIX, use -0.0L.
72085         * tests/test-ceill.c (minus_zero): Likewise.
72086         * tests/test-floorl.c (minus_zero): Likewise.
72087         * tests/test-frexpl.c (minus_zero): Likewise.
72088         * tests/test-isnan.c (minus_zerol): Likewise.
72089         * tests/test-isnanl.h (minus_zero): Likewise.
72090         * tests/test-ldexpl.c (minus_zero): Likewise.
72091         * tests/test-roundl.c (minus_zero): Likewise.
72092         * tests/test-signbit.c (minus_zerol): Likewise.
72093         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
72094         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
72095         * tests/test-truncl.c (minus_zero): Likewise.
72096         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
72097         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
72098         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
72099         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
72101 2008-10-17  Bruno Haible  <bruno@clisp.org>
72103         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
72104         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
72105         that it gets activated only for gcc >= 3.0.
72106         * lib/dirent.in.h: Likewise.
72107         * lib/errno.in.h: Likewise.
72108         * lib/fcntl.in.h: Likewise.
72109         * lib/float.in.h: Likewise.
72110         * lib/iconv.in.h: Likewise.
72111         * lib/inttypes.in.h: Likewise.
72112         * lib/locale.in.h: Likewise.
72113         * lib/math.in.h: Likewise.
72114         * lib/netdb.in.h: Likewise.
72115         * lib/netinet_in.in.h: Likewise.
72116         * lib/search.in.h: Likewise.
72117         * lib/signal.in.h: Likewise.
72118         * lib/spawn.in.h: Likewise.
72119         * lib/stdarg.in.h: Likewise.
72120         * lib/stdint.in.h: Likewise.
72121         * lib/stdio.in.h: Likewise.
72122         * lib/stdlib.in.h: Likewise.
72123         * lib/string.in.h: Likewise.
72124         * lib/strings.in.h: Likewise.
72125         * lib/sys_file.in.h: Likewise.
72126         * lib/sys_ioctl.in.h: Likewise.
72127         * lib/sys_select.in.h: Likewise.
72128         * lib/sys_socket.in.h: Likewise.
72129         * lib/sys_stat.in.h: Likewise.
72130         * lib/sys_time.in.h: Likewise.
72131         * lib/sysexits.in.h: Likewise.
72132         * lib/time.in.h: Likewise.
72133         * lib/unistd.in.h: Likewise.
72134         * lib/wchar.in.h: Likewise.
72135         * lib/wctype.in.h: Likewise.
72136         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72138 2008-10-17  Jim Meyering  <meyering@redhat.com>
72140         ignore-value: don't depend on inline module
72141         * modules/ignore-value (Depends-on): Remove 'inline'.
72142         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
72143         Suggestion from Bruno Haible.
72145 2008-10-17  Bruno Haible  <bruno@clisp.org>
72147         New implementation of condition variables for Win32.
72148         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
72149         (gl_linked_waitqueue_t): New type.
72150         (gl_cond_t): Use it.
72151         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
72152         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
72153         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
72154         (glthread_cond_init_func, glthread_cond_wait_func,
72155         glthread_cond_timedwait_func, glthread_cond_signal_func,
72156         glthread_cond_broadcast_func, glthread_cond_destroy_func):
72157         Reimplemented on the basis of gl_linked_waitqueue_t.
72158         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
72159         gl_waitqueue_t.
72160         (gl_rwlock_t): Update.
72161         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
72163 2008-10-17  Simon Josefsson  <simon@josefsson.org>
72165         * modules/recvfrom (Depends-on): Add dependency on getpeername.
72166         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
72168 2008-10-17  Jim Meyering  <meyering@redhat.com>
72170         ignore-value: new module
72171         * modules/ignore-value: New file.
72172         * lib/ignore-value.h: New file.
72173         * MODULES.html.sh (Compiler warning management): New section,
72174         just for this module.  More to come.
72176 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
72178         open-safer.c: avoid 'signed and unsigned in conditional...' warning
72179         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
72180         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
72182 2008-10-16  Jim Meyering  <meyering@redhat.com>
72184         openat-die.c: avoid 'no previous prototype' warning
72185         * lib/openat-die.c: Include "openat.h".
72186         Reported by Reuben Thomas <rrt@sc3d.org>.
72188 2008-10-16  Simon Josefsson  <simon@josefsson.org>
72190         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
72191         * lib/netdb.in.h: Fix typo.
72192         Reported by Bruno Haible  <bruno@clisp.org>
72194         * lib/netdb.in.h: Include sys/socket.h for platforms without
72195         netdb.h, to get structures like hostent on MinGW.
72196         * modules/netdb (Depends-on): Add sys_socket.
72198 2008-10-15  Simon Josefsson  <simon@josefsson.org>
72200         * modules/netdb, modules/netdb-tests: New file.
72201         * m4/netdb_h.m4: New file.
72202         * lib/netdb.in.h: Add, currently just an empty file pending
72203         definitions.
72204         * tests/test-netdb.c: New file.
72205         * doc/posix-headers/netdb.texi: Mention that we replace it if
72206         needed.
72207         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72208         netdb.
72210 2008-10-15  Simon Josefsson  <simon@josefsson.org>
72212         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
72213         with code.
72215 2008-10-13  Bruno Haible  <bruno@clisp.org>
72217         * lib/glthread/cond.c (glthread_cond_wait_func,
72218         glthread_cond_timedwait_func): Add a comment.
72220 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72222         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
72223         * tests/test-select.c: Likewise,
72225 2008-10-13  Bruno Haible  <bruno@clisp.org>
72227         * lib/glthread/cond.c (glthread_cond_wait_func,
72228         glthread_cond_timedwait_func): Fix variable name.
72229         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
72231 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
72233         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
72234         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
72235         struct sockaddr.sa_len.
72236         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
72238 2008-10-13  Simon Josefsson  <simon@josefsson.org>
72240         * build-aux/pmccabe2html: Add css and css_url parameters.
72242 2008-10-12  Bruno Haible  <bruno@clisp.org>
72244         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
72245         calling aclx_get.
72246         Reported by Rainer Tammer <tammer@tammer.net>.
72248 2008-10-12  Bruno Haible  <bruno@clisp.org>
72250         Use msvcrt aware primitives for creation/termination of Win32 threads.
72251         * lib/glthread/thread.c: Include <process.h>.
72252         (glthread_create_func): Use _beginthreadex instead of CreateThread.
72253         (wrapper_func): Update signature.
72254         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
72256 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72257             Bruno Haible  <bruno@clisp.org>
72259         Provide a Win32 implementation of the 'cond' module.
72260         * lib/glthread/cond.h [USE_WIN32]: New implementation.
72261         * lib/glthread/cond.c (glthread_cond_init_func,
72262         glthread_cond_wait_func, glthread_cond_timedwait_func,
72263         glthread_cond_signal_func, glthread_cond_broadcast_func,
72264         glthread_cond_destroy_func) [USE_WIN32]: New functions.
72265         * modules/cond (Dependencies): Add gettimeofday.
72267 2008-10-11  Bruno Haible  <bruno@clisp.org>
72269         Make sleep work on older versions of mingw.
72270         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
72271         only whether it exists.
72272         * doc/posix-functions/sleep.texi: Mention the problem with older
72273         versions of mingw.
72275 2008-10-11  Bruno Haible  <bruno@clisp.org>
72277         New module 'shutdown'.
72278         * modules/shutdown: New file.
72279         * lib/sys_socket.in.h (shutdown): New declaration.
72280         * lib/winsock.c (shutdown): New function.
72281         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
72282         GNULIB_SHUTDOWN.
72283         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
72284         * doc/posix-functions/shutdown.texi: Document the new module.
72286 2008-10-11  Jim Meyering  <meyering@redhat.com>
72288         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
72290 2008-10-11  Bruno Haible  <bruno@clisp.org>
72292         New module 'fclose'.
72293         * modules/fclose: New file.
72294         * lib/stdio.in.h (fclose): New declaration.
72295         * lib/fclose.c: New file.
72296         * m4/fclose.m4: New file.
72297         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
72298         REPLACE_FCLOSE.
72299         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
72300         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
72301         REPLACE_FCLOSE.
72302         * modules/close (Depends-on): fclose.
72303         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
72305 2008-10-11  Bruno Haible  <bruno@clisp.org>
72307         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
72308         set errno and don't call _close.
72310 2008-10-10  Bruno Haible  <bruno@clisp.org>
72312         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
72313         ACL, not afterwards. Fixes test failure on Cygwin.
72315 2008-10-09  Ben Pfaff  <blp@gnu.org>
72317         * build-aux/announce-gen: Fix gnulib version related part of usage
72318         message.  Die with a useful error message if no tarballs are
72319         found.
72321 2008-10-10  Jim Meyering  <meyering@redhat.com>
72323         bootstrap: use git's --depth=N option only if it's supported
72324         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
72325         recognize the --depth option.  Reported by Pádraig Brady.
72327 2008-10-09  Bruno Haible  <bruno@clisp.org>
72329         New module 'ioctl'.
72330         * modules/ioctl: New file.
72331         * lib/sys_socket.in.h (ioctl): Remove declaration.
72332         * lib/winsock.c: Include <sys/ioctl.h>.
72333         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
72334         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
72335         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
72336         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
72337         * doc/posix-functions/ioctl.texi: Mention the new module.
72339 2008-10-09  Bruno Haible  <bruno@clisp.org>
72341         New module 'sys_ioctl'.
72342         * lib/sys_ioctl.in.h: New file.
72343         * m4/sys_ioctl_h.m4: New file.
72344         * modules/sys_ioctl: New file.
72345         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
72347 2008-10-09  Bruno Haible  <bruno@clisp.org>
72349         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
72350         * lib/winsock.c: Include <stdarg.h>.
72351         (rpl_ioctl): Change to second argument 'int' and then varargs.
72353 2008-10-09  Bruno Haible  <bruno@clisp.org>
72355         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
72356         when the sys_socket module is present and the system has <winsock2.h>.
72358 2008-10-09  Bruno Haible  <bruno@clisp.org>
72360         * doc/posix-functions/close.texi: Mention module 'close' instead of
72361         module 'sys_socket'.
72363 2008-10-09  Bruno Haible  <bruno@clisp.org>
72365         * doc/glibc-headers/sys_ioctl.texi: New file.
72366         * doc/gnulib.texi: Include it.
72368 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
72369             Bruno Haible  <bruno@clisp.org>
72371         Combine the two replacements of 'close'.
72372         * lib/sys_socket.in.h (close): Define to a reminder to include
72373         <unistd.h>.
72374         (_gl_close_fd_maybe_socket): New declaration.
72375         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
72376         * lib/winsock.c (close): Remove undefinition.
72377         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
72378         needed for the gnulib module 'close'.
72379         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
72380         define to an error symbol or to a warning, if suitable.
72381         * lib/close.c: Include <sys/socket.h>.
72382         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
72383         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
72384         UNISTD_H_HAVE_WINSOCK2_H.
72385         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
72386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
72387         UNISTD_H_HAVE_WINSOCK2_H.
72388         * modules/sys_socket (Files): Add m4/unistd_h.m4.
72389         (configure.ac): Set a module indicator.
72390         (Makefile.am): Substitute GNULIB_CLOSE.
72391         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
72392         * modules/poll-tests (Depends-on): Add close.
72393         * modules/select-tests (Depends-on): Likewise.
72395 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
72396             Bruno Haible  <bruno@clisp.org>
72398         New module 'close'.
72399         * modules/close: New file.
72400         * lib/unistd.in.h (close): Move declaration out of the
72401         FCHDIR_REPLACEMENT scope.
72402         (_gl_unregister_fd): New declaration.
72403         * lib/close.c: New file.
72404         * lib/fchdir.c (rpl_close): Remove function.
72405         * m4/close.m4: New file.
72406         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
72407         close.
72408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
72409         REPLACE_CLOSE.
72410         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
72411         REPLACE_CLOSE.
72412         * modules/fchdir (Depends-on): Add close.
72414 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
72415             Bruno Haible  <bruno@clisp.org>
72417         * lib/fcntl.in.h (open): Simplify conditionals.
72418         (_gl_register_fd): New declaration.
72419         * lib/fchdir.c (rpl_open): Remove function.
72420         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
72421         also.
72422         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
72423         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
72424         open.
72426 2008-10-09  Jim Meyering  <meyering@redhat.com>
72428         GNUmakefile: use the more name-space-friendly "_version"
72429         * top/GNUmakefile (_dummy): Update.
72430         (_version): Rename from "version".
72432 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
72433             Bruno Haible  <bruno@clisp.org>
72435         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
72436         rpl_close.
72437         (_gl_register_fd): New function, extracted from rpl_open.
72438         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
72439         (rpl_open, rpl_opendir): Use _gl_register_fd.
72441 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
72443         Fix organization of 'open' replacement.
72444         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
72445         (gl_FUNC_OPEN): Use it.
72446         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
72448 2008-10-08  Bruno Haible  <bruno@clisp.org>
72450         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
72452 2008-10-08  Simon Josefsson  <simon@josefsson.org>
72454         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
72455         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
72456         listen).
72458 2008-10-08  Eric Blake  <ebb9@byu.net>
72460         GNUmakefile: add 'make version' target
72461         * top/GNUmakefile (_curr-ver): Split version update rules...
72462         (version): ...into a target.
72464 2008-10-07  Bruno Haible  <bruno@clisp.org>
72466         Use a more portable replacement expression for -0.0L.
72467         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
72468         instead of -0.0L. Fix m4 quotation.
72470         * tests/test-signbit.c: Include <float.h>.
72471         (minus_zero): New variable.
72472         (test_signbitl): Use minus_zero instead of -zero.
72473         * modules/signbit-tests (Depends-on): Add float.
72475         * tests/test-ceill.c: Include <float.h>.
72476         (zero): Remove variable.
72477         (minus_zero): New variable.
72478         (main): Use minus_zero instead of -zero.
72479         * modules/ceill-tests (Depends-on): Add float.
72481         * tests/test-floorl.c: Include <float.h>.
72482         (zero): Remove variable.
72483         (minus_zero): New variable.
72484         (main): Use minus_zero instead of -zero.
72485         * modules/floorl-tests (Depends-on): Add float.
72487         * tests/test-roundl.c: Include <float.h>.
72488         (zero): Remove variable.
72489         (minus_zero): New variable.
72490         (main): Use minus_zero instead of -zero.
72491         * modules/roundl-tests (Depends-on): Add float.
72493         * tests/test-truncl.c: Include <float.h>.
72494         (zero): Remove variable.
72495         (minus_zero): New variable.
72496         (main): Use minus_zero instead of -zero.
72497         * modules/truncl-tests (Depends-on): Add float.
72499         * tests/test-frexpl.c (zero): Remove variable.
72500         (minus_zero): New variable.
72501         (main): Use minus_zero instead of -zero.
72502         * modules/frexpl-tests (Depends-on): Add float.
72504         * tests/test-isnan.c (zerol): Remove variable.
72505         (minus_zerol): New variable.
72506         (test_long_double): Use minus_zerol instead of -zerol.
72507         * modules/isnan-tests (Depends-on): Add float.
72509         * tests/test-isnanl.h (zero): Remove variable.
72510         (minus_zero): New variable.
72511         (main): Use minus_zero instead of -zero.
72512         * modules/isnanl-nolibm-tests (Depends-on): Add float.
72513         * modules/isnanl-tests (Depends-on): Add float.
72515         * tests/test-ldexpl.c (zero): Remove variable.
72516         (minus_zero): New variable.
72517         (main): Use minus_zero instead of -zero.
72518         * modules/ldexpl-tests (Depends-on): Add float.
72520         * tests/test-snprintf-posix.h (zerol): Remove variable.
72521         (minus_zerol): New variable.
72522         (test_function): Use minus_zerol instead of -zerol.
72523         * modules/snprintf-posix-tests (Depends-on): Add float.
72524         * modules/vsnprintf-posix-tests (Depends-on): Add float.
72526         * tests/test-sprintf-posix.h (zerol): Remove variable.
72527         (minus_zerol): New variable.
72528         (test_function): Use minus_zerol instead of -zerol.
72529         * modules/sprintf-posix-tests (Depends-on): Add float.
72530         * modules/vsprintf-posix-tests (Depends-on): Add float.
72532         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
72533         (minus_zerol): New variable.
72534         (test_function): Use minus_zerol instead of -zerol.
72535         * modules/vasnprintf-posix-tests (Depends-on): Add float.
72537         * tests/test-vasprintf-posix.c (zerol): Remove variable.
72538         (minus_zerol): New variable.
72539         (test_function): Use minus_zerol instead of -zerol.
72540         * modules/vasprintf-posix-tests (Depends-on): Add float.
72542 2008-10-07  Simon Josefsson  <simon@josefsson.org>
72544         * MODULES.html.sh (Support for building documentation): Mention
72545         pmccabe2html.  Sort entries.
72547         Add pmccabe2html module, from gnupdf.
72548         * build-aux/pmccabe.css: New file.
72549         * build-aux/pmccabe2html: New file.
72550         * m4/pmccabe2html.m4: New file.
72551         * modules/pmccabe2html: New file.
72553 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
72555         flock: new module
72556         * MODULES.html.sh: Add to list of modules.
72557         * lib/flock.c: flock implementation for Windows and Unix systems
72558         which have fcntl.
72559         * doc/glibc-functions/flock.texi: Update documentation.
72560         * lib/sys_file.in.h: <sys/file.h> header file.
72561         * m4/flock.m4: M4 macros.
72562         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
72563         * modules/flock: flock module.
72564         * modules/flock-tests: flock tests module.
72565         * modules/sys_file: sys/file.h module.
72566         * tests/test-flock.c: test suite for flock.
72568 2008-10-06  Jim Meyering  <meyering@redhat.com>
72570         bootstrap: check for LT_INIT more portably still ;-)
72571         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
72572         Spotted by Bruno Haible.
72574 2008-10-06  Eric Blake  <ebb9@byu.net>
72576         test-signbit: avoid tripping Irix cc bug on -0.0L
72577         * tests/test-signbit.c (minus_zerol): Delete, and replace with
72578         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
72579         entire testsuite consistent and avoids an Irix 6.2 bug.
72581 2008-10-05  Bruno Haible  <bruno@clisp.org>
72582             Jim Meyering  <jim@meyering.net>
72584         Add an option for ignoring EPIPE during close_stdout.
72585         * lib/closeout.h: Include <stdbool.h>.
72586         (close_stdout_set_ignore_EPIPE): New declaration.
72587         * lib/closeout.c: Include <stdbool.h>.
72588         (ignore_EPIPE): New variable.
72589         (close_stdout_set_ignore_EPIPE): New function.
72590         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
72591         * lib/close-stream.c (close_stream): Mention the possible EPIPE
72592         failure.
72593         * modules/closeout (Depends-on): Add stdbool.
72595 2008-10-05  Bruno Haible  <bruno@clisp.org>
72597         * modules/accept: New file.
72598         * modules/bind: New file.
72599         * modules/connect: New file.
72600         * modules/getpeername: New file.
72601         * modules/getsockname: New file.
72602         * modules/getsockopt: New file.
72603         * modules/listen: New file.
72604         * modules/recv: New file.
72605         * modules/recvfrom: New file.
72606         * modules/send: New file.
72607         * modules/sendto: New file.
72608         * modules/setsockopt: New file.
72609         * modules/socket: New file.
72610         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
72611         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
72612         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
72613         the particular module is requested. Add a link warning when the
72614         particular module is not requested.
72615         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
72616         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
72617         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
72618         the particular module is requested.
72619         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
72620         gl_SYS_SOCKET_H_DEFAULTS): New macros.
72621         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
72622         * modules/sys_socket (Depends-on): Add link-warning.
72623         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
72624         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
72625         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
72626         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
72627         GL_LINK_WARNING.
72628         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
72629         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
72630         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
72631         * doc/posix-functions/getpeername.texi: Mention the new module
72632         'getpeername'.
72633         * doc/posix-functions/getsockname.texi: Mention the new module
72634         'getsockname'.
72635         * doc/posix-functions/getsockopt.texi: Mention the new module
72636         'getsockopt'.
72637         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
72638         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
72639         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
72640         * doc/posix-functions/send.texi: Mention the new module 'send'.
72641         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
72642         * doc/posix-functions/setsockopt.texi: Mention the new module
72643         'setsockopt'.
72644         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
72645         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
72646         listen, connect, accept.
72647         * modules/select-tests (Depends-on): Likewise.
72649 2008-10-05  Bruno Haible  <bruno@clisp.org>
72651         * lib/winsock.c (strerror): Remove unused #undef.
72652         (rpl_close): Remove unused local variable.
72654         * modules/sys_socket (Depends-on); Add errno.
72656 2008-10-05  Bruno Haible  <bruno@clisp.org>
72658         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
72659         (select): Add a link warning when the 'select' module is not used.
72660         * modules/sys_select (Depends-on): Add link-warning.
72661         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
72662         Suggested by Paolo Bonzini.
72664 2008-10-05  Jim Meyering  <meyering@redhat.com>
72666         bootstrap: check for LT_INIT more portably
72667         * build-aux/bootstrap: Avoid using grep -E, since it's not
72668         portable enough.  Suggestion from Bruno Haible.
72670 2008-10-05  Bruno Haible  <bruno@clisp.org>
72672         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
72673         as being fixed by gnulib.
72675 2008-10-05  Bruno Haible  <bruno@clisp.org>
72677         * modules/select-tests: New file, mostly copied from
72678         modules/sys_select-tests.
72679         * tests/test-select.c: New file, mostly copied from
72680         tests/test-sys_select.c.
72681         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
72682         * modules/sys_select-tests (Depends-on): Remove all dependencies.
72683         (Makefile.am): Remove test_sys_select_LDADD.
72685         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
72686         to an undefined symbol, for an error message.
72687         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
72688         (gl_SYS_SELECT_H_DEFAULTS): New macro.
72689         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
72690         winsock-select.c here.
72691         * modules/sys_select (Files): Remove lib/winsock-select.c.
72692         (Depends-on): Remove alloca.
72693         (Makefile.am): Substitute GNULIB_SELECT.
72694         * modules/select: New file.
72695         * doc/posix-functions/select.texi: Update.
72697 2008-10-05  Bruno Haible  <bruno@clisp.org>
72699         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
72700         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
72701         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
72702         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
72703         getdtablesize.
72704         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
72705         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
72707 2008-10-05  Bruno Haible  <bruno@clisp.org>
72709         * modules/getdtablesize-tests: New file.
72710         * tests/test-getdtablesize.c: New file.
72712         New module 'getdtablesize'.
72713         * lib/unistd.in.h (getdtablesize): New declaration.
72714         * lib/getdtablesize.c: New file.
72715         * m4/getdtablesize.m4: New file.
72716         * modules/getdtablesize: New file.
72717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
72718         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
72719         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
72720         HAVE_GETDTABLESIZE.
72721         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
72723 2008-10-05  Bruno Haible  <bruno@clisp.org>
72725         * modules/sched (Makefile.am): Fix typo.
72726         Reported by Simon Josefsson.
72728 2008-10-05  Jim Meyering  <meyering@redhat.com>
72730         bootstrap: check for LT_INIT, too
72731         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
72732         are deprecated.  Suggestion from Ralf Wildenhues.
72734 2008-10-05  Bruno Haible  <bruno@clisp.org>
72736         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
72737         overriding them by ours.
72738         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
72740 2008-10-05  Jim Meyering  <meyering@redhat.com>
72742         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
72743         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
72744         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
72746 2008-10-04  Bruno Haible  <bruno@clisp.org>
72748         * modules/dup2 (License): Change to LGPLv2+.
72749         * modules/sleep (License): Likewise.
72750         * modules/perror (License): Likewise.
72751         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
72752         Blake.
72753         * modules/signal (License): Likewise.
72754         * modules/sigprocmask (License): Likewise.
72755         * modules/raise (License): Change to LGPLv2+, with approval by Jim
72756         Meyering.
72758 2008-10-04  Bruno Haible  <bruno@clisp.org>
72760         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
72761         Reported by Rainer Tammer <tammer@tammer.net>.
72763 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
72764             Bruno Haible  <bruno@clisp.org>
72766         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
72767         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
72768         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
72770 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
72772         filevercmp: new module
72773         * lib/filevercmp.h: New function filevercmp comparing version strings.
72774         * lib/filevercmp.c: Implementation of filevercmp function.
72775         * modules/filevercmp: Module metadata.
72776         * tests/test-filevercmp.c: Unit test for new module.
72777         * modules/filevercmp-tests: Unit test metadata.
72778         * MODULES.html.sh: Add filevercmp module.
72780 2008-10-03  Bruno Haible  <bruno@clisp.org>
72782         * lib/c-ctype.h: Add comment.
72783         Reported by Jim Meyering.
72785 2008-10-02  Bruno Haible  <bruno@clisp.org>
72787         * modules/posix_spawn-internal (Depends-on): Add 'open'.
72789 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
72791         * build-aux/bootstrap: Allow renaming bootstrap, and change the
72792         name of bootstrap.conf accordingly.
72794 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
72796         * build-aux/bootstrap: Install git-merge-changelog configuration
72797         items into .gitconfig if needed.
72799 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
72801         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
72802         git repository, and initialize/update it accordingly.
72804 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
72806         * modules/fsync-tests: New file.
72807         * tests/test-fsync.c: New file.
72809         New module 'fsync'.
72810         * lib/fsync.c: New file.
72811         * m4/fsync.m4: New file.
72812         * modules/fsync: New file.
72813         * lib/unistd.in.h (fsync): New declaration.
72814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
72815         GNULIB_FSYNC and HAVE_FSYNC.
72816         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
72817         * MODULES.html.sh (posix_functions): Add fsync.
72818         * doc/posix-functions/fsync.texi: Mention the new module.
72820 2008-10-02  Jim Meyering  <meyering@redhat.com>
72822         fts.c: sync with similar code from coreutils' remove.c
72823         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
72824         Guard also with "#if defined __linux__", since for now at least,
72825         this code is Linux-kernel-specific.
72827 2008-10-02  Jim Meyering  <meyering@redhat.com>
72829         fts: bug fixes
72830         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
72831         Include <sys/vfs.h>, not <sys/statfs.h>.
72833         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
72834         Include <sys/vfs.h>, not <sys/statfs.h>.
72836 2008-10-01  Bruno Haible  <bruno@clisp.org>
72838         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
72839         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
72840         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
72841         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
72842         * doc/posix-functions/posix_spawnp.texi: Likewise.
72843         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
72844         whether posix_spawn actually works.
72845         * m4/pipe.m4 (gl_PIPE): Likewise.
72846         * modules/execute (Files): Add m4/posix_spawn.m4.
72847         * modules/pipe (Files): Add m4/posix_spawn.m4.
72848         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
72850 2008-10-01  Jim Meyering  <meyering@redhat.com>
72852         remove trailing spaces
72853         * NEWS: Likewise.
72854         * lib/poll.c (poll): Likewise.
72855         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
72856         * lib/winsock.c (rpl_close): Likewise.
72857         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
72858         * modules/yield: Likewise.
72859         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
72860         * tests/test-sys_select.c (connect_to_socket): Likewise.
72862         fts.c: adjust a new interface to be more generally useful
72863         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
72864         (fts_build): Adjust caller.
72866 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72868         * modules/cond-tests: New file.
72869         * tests/test-cond.c: New file.
72871 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72872             Bruno Haible  <bruno@clisp.org>
72874         * modules/cond (Dependencies): Add errno, time.
72875         * lib/glthread/cond.h: Include <time.h>.
72876         (gl_cond_define, gl_cond_define_initialized): Use the same definition
72877         across platforms.
72879 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72880             Bruno Haible  <bruno@clisp.org>
72882         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
72884 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72885             Bruno Haible  <bruno@clisp.org>
72887         * modules/tls-tests (Depends-on): Add thread, yield.
72888         (configure.ac): Remove all checks.
72889         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
72890         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
72891         gl_thread_self): Remove definitions. Include glthread/thread.h and
72892         glthread/yield.h instead.
72893         (test_tls): Pass an additional NULL argument to gl_thread_join.
72895 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72896             Bruno Haible  <bruno@clisp.org>
72898         * modules/lock-tests (Depends-on): Add thread, yield.
72899         (configure.ac): Remove all checks.
72900         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
72901         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
72902         gl_thread_self): Remove definitions. Include glthread/thread.h and
72903         glthread/yield.h instead.
72904         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
72905         additional NULL argument to gl_thread_join.
72907 2008-09-30  Bruno Haible  <bruno@clisp.org>
72909         Fix the Win32 implementation of the 'thread' module.
72910         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
72911         pointer type.
72912         (gl_thread_self): Invoke gl_thread_self_func.
72913         (gl_thread_self_func): New declaration.
72914         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
72915         (do_init_self_key, init_self_key): New functions.
72916         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
72917         Remove some fields.
72918         (running_threads, running_lock): Remove variables.
72919         (get_current_thread_handle): New function.
72920         (gl_thread_self_func, wrapper_func, glthread_create_func,
72921         glthread_join_func, gl_thread_exit_func): Largely rewritten and
72922         simplified.
72924 2008-09-30  Bruno Haible  <bruno@clisp.org>
72926         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
72927         files.
72929 2008-09-30  Jim Meyering  <meyering@redhat.com>
72931         fts.m4: correct the test for statfs.f_type
72932         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
72933         when checking for statfs.f_type.
72935 2008-09-15  Simon Josefsson  <simon@josefsson.org>
72937         tests: avoid some compiler warnings
72938         * tests/test-memchr.c (main): Pass NULL indirectly.
72939         * tests/test-getdate.c (main): Remove unused variable 'ret'.
72941 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
72943         getdate.y: disallow countable dayshifts like "4 yesterday ago"
72944         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
72945         exactly specified dayshifts.
72946         (dayshift): New rule.
72947         (rel): Add dayshift.
72948         (relative_time_table) [tomorrow, yesterday, today, now]:
72949         Use tDAY_SHIFT in place of tDAY_UNIT.
72950         * tests/test-getdate.c: Add tests for now-disallowed countable
72951         dayshifts, e.g., "4 yesterday ago".
72953 2008-09-29  Bruno Haible  <bruno@clisp.org>
72955         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
72956         * tests/test-posix_spawn1.in.sh: Renamed from
72957         tests/test-posix_spawn.in.sh.
72958         * tests/test-posix_spawn2.c: New file.
72959         * tests/test-posix_spawn2.in.sh: New file.
72960         * modules/posix_spawnp-tests (Files): Update.
72961         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
72963 2008-09-29  Bruno Haible  <bruno@clisp.org>
72965         Propagate effects of putenv/setenv/unsetenv to child processes.
72966         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
72967         * lib/pipe.c (create_pipe): Likewise.
72969 2008-09-29  Bruno Haible  <bruno@clisp.org>
72971         Enable use of shell scripts as executables in mingw.
72972         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
72973         run the program as a shell script.
72974         * lib/pipe.c (create_pipe): Likewise.
72975         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
72976         resulting array.
72978 2008-09-29  Eric Blake  <ebb9@byu.net>
72980         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
72982 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
72984         * doc/posix-functions/accept.texi: Update mingw problems.
72985         * doc/posix-functions/bind.texi: Update mingw problems.
72986         * doc/posix-functions/close.texi: Update mingw problems.
72987         * doc/posix-functions/connect.texi: Update mingw problems.
72988         * doc/posix-functions/getpeername.texi: Update mingw problems.
72989         * doc/posix-functions/getsockname.texi: Update mingw problems.
72990         * doc/posix-functions/getsockopt.texi: Update mingw problems.
72991         * doc/posix-functions/ioctl.texi: Update mingw problems.
72992         * doc/posix-functions/listen.texi: Update mingw problems.
72993         * doc/posix-functions/recv.texi: Update mingw problems.
72994         * doc/posix-functions/recvfrom.texi: Update mingw problems.
72995         * doc/posix-functions/select.texi: Update mingw problems.
72996         * doc/posix-functions/send.texi: Update mingw problems.
72997         * doc/posix-functions/sendto.texi: Update mingw problems.
72998         * doc/posix-functions/setsockopt.texi: Update mingw problems.
72999         * doc/posix-functions/socket.texi: Update mingw problems.
73001 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
73002             Bruno Haible  <bruno@clisp.org>
73004         * lib/sys_select.in.h: Include sys/time.h.
73005         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
73006         * modules/sys_select: Depend on sys_time.
73007         * tests/test-sys_select.c: Test that sys/select.h defines struct
73008         timeval fully.
73010 2008-09-29  Bruno Haible  <bruno@clisp.org>
73012         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
73013         * lib/sys_select.in.h: Likewise.
73015 2008-09-29  Bruno Haible  <bruno@clisp.org>
73017         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
73019 2008-09-29  Bruno Haible  <bruno@clisp.org>
73021         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
73022         Set LIBSOCKET instead of augmenting LIBS.
73023         * modules/sockets (Link): New section.
73024         * modules/sockets-tests (test_sockets_LDADD): New variable.
73025         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
73026         * modules/poll-tests (test_poll_LDADD): New variable.
73027         * NEWS: Document the change.
73029 2008-09-29  Bruno Haible  <bruno@clisp.org>
73031         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
73032         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
73033         ARPA_INET_H directly.
73034         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
73036 2008-09-28  Bruno Haible  <bruno@clisp.org>
73038         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
73039         from gl_HEADER_SYS_SOCKET.
73040         (gl_HEADER_SYS_SOCKET): Invoke it.
73041         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73043 2008-09-28  Bruno Haible  <bruno@clisp.org>
73045         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
73046         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
73047         Needed on OSF/1 4.0.
73049 2008-09-28  Bruno Haible  <bruno@clisp.org>
73051         Override open more carefully.
73052         * lib/open.c (orig_open): New function.
73053         (rpl_open): Use orig_open instead of open.
73054         * lib/fcntl.in.h: Add special invocation convention.
73055         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
73056         (gl_FUNC_OPEN): Invoke it.
73058         Override freopen more carefully.
73059         * lib/freopen.c (orig_freopen): New function.
73060         (rpl_freopen): Use orig_freopen instead of freopen.
73061         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
73062         (gl_FUNC_FREOPEN): Invoke it.
73064         Override fopen more carefully.
73065         * lib/fopen.c (orig_fopen): New function.
73066         (rpl_fopen): Use orig_fopen instead of fopen.
73067         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
73068         (gl_FUNC_FOPEN): Invoke it.
73069         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
73071 2008-09-28  Bruno Haible  <bruno@clisp.org>
73073         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
73074         SIGPIPE.
73076 2008-09-28  Bruno Haible  <bruno@clisp.org>
73078         * tests/test-sigaction.c (handler, main): Disable the check whether
73079         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
73080         glibc systems with LinuxThreads.
73082 2008-09-28  Bruno Haible  <bruno@clisp.org>
73084         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
73086         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
73087         with AIX xlc.
73088         * lib/fcntl.in.h (open): Likewise.
73089         Reported by Rainer Tammer <tammer@tammer.net>.
73091 2008-09-28  Bruno Haible  <bruno@clisp.org>
73093         * modules/posix_spawnp-tests: New file.
73094         * tests/test-posix_spawn.c: New file.
73095         * tests/test-posix_spawn.in.sh: New file.
73097         New module 'posix_spawnp'.
73098         * modules/posix_spawnp: New file.
73099         * lib/spawnp.c: New file, from GNU libc with modifications.
73100         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
73102         New module 'posix_spawn'.
73103         * modules/posix_spawn: New file.
73104         * lib/spawn.c: New file, from GNU libc with modifications.
73105         * doc/posix-functions/posix_spawn.texi: Mention the new module.
73107         New module 'posix_spawnattr_destroy'.
73108         * modules/posix_spawnattr_destroy: New file.
73109         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
73110         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
73111         module.
73113         New module 'posix_spawnattr_setsigmask'.
73114         * modules/posix_spawnattr_setsigmask: New file.
73115         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
73116         modifications.
73117         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
73118         new module.
73120         New module 'posix_spawnattr_getsigmask'.
73121         * modules/posix_spawnattr_getsigmask: New file.
73122         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
73123         modifications.
73124         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
73125         new module.
73127         New module 'posix_spawnattr_setsigdefault'.
73128         * modules/posix_spawnattr_setsigdefault: New file.
73129         * lib/spawnattr_setdefault.c: New file, from GNU libc with
73130         modifications.
73131         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
73132         new module.
73134         New module 'posix_spawnattr_getsigdefault'.
73135         * modules/posix_spawnattr_getsigdefault: New file.
73136         * lib/spawnattr_getdefault.c: New file, from GNU libc with
73137         modifications.
73138         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
73139         new module.
73141         New module 'posix_spawnattr_setschedpolicy'.
73142         * modules/posix_spawnattr_setschedpolicy: New file.
73143         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
73144         modifications.
73145         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
73146         new module.
73148         New module 'posix_spawnattr_getschedpolicy'.
73149         * modules/posix_spawnattr_getschedpolicy: New file.
73150         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
73151         modifications.
73152         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
73153         new module.
73155         New module 'posix_spawnattr_setschedparam'.
73156         * modules/posix_spawnattr_setschedparam: New file.
73157         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
73158         modifications.
73159         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
73160         new module.
73162         New module 'posix_spawnattr_getschedparam'.
73163         * modules/posix_spawnattr_getschedparam: New file.
73164         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
73165         modifications.
73166         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
73167         new module.
73169         New module 'posix_spawnattr_setpgroup'.
73170         * modules/posix_spawnattr_setpgroup: New file.
73171         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
73172         modifications.
73173         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
73174         module.
73176         New module 'posix_spawnattr_getpgroup'.
73177         * modules/posix_spawnattr_getpgroup: New file.
73178         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
73179         modifications.
73180         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
73181         module.
73183         New module 'posix_spawnattr_setflags'.
73184         * modules/posix_spawnattr_setflags: New file.
73185         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
73186         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
73187         module.
73189         New module 'posix_spawnattr_getflags'.
73190         * modules/posix_spawnattr_getflags: New file.
73191         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
73192         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
73193         module.
73195         New module 'posix_spawnattr_init'.
73196         * modules/posix_spawnattr_init: New file.
73197         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
73198         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
73199         module.
73201         New module 'posix_spawn_file_actions_destroy'.
73202         * modules/posix_spawn_file_actions_destroy: New file.
73203         * lib/spawn_faction_destroy.c: New file, from GNU libc with
73204         modifications.
73205         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
73206         the new module.
73208         New module 'posix_spawn_file_actions_addopen'.
73209         * modules/posix_spawn_file_actions_addopen: New file.
73210         * lib/spawn_faction_addopen.c: New file, from GNU libc with
73211         modifications.
73212         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
73213         the new module.
73215         New module 'posix_spawn_file_actions_adddup2'.
73216         * modules/posix_spawn_file_actions_adddup2: New file.
73217         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
73218         modifications.
73219         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
73220         the new module.
73222         New module 'posix_spawn_file_actions_addclose'.
73223         * modules/posix_spawn_file_actions_addclose: New file.
73224         * lib/spawn_faction_addclose.c: New file, from GNU libc with
73225         modifications.
73226         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
73227         the new module.
73229         New module 'posix_spawn_file_actions_init'.
73230         * modules/posix_spawn_file_actions_init: New file.
73231         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
73232         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
73233         new module.
73235         New module 'posix_spawn-internal'.
73236         * modules/posix_spawn-internal: New file.
73237         * lib/spawn_int.h: New file, from GNU libc with modifications.
73238         * lib/spawni.c: New file, from GNU libc with modifications.
73239         * m4/posix_spawn.m4: New file.
73241         New module 'spawn'.
73242         * modules/spawn: New file.
73243         * lib/spawn.in.h: New file, from GNU libc with modifications.
73244         * m4/spawn_h.m4: New file.
73245         * doc/posix-headers/spawn.texi: Mention the new module.
73247 2008-09-28  Bruno Haible  <bruno@clisp.org>
73249         * modules/sched-tests: New file.
73250         * tests/test-sched.c: New file.
73252         New module 'sched'.
73253         * modules/sched: New file.
73254         * lib/sched.in.h: New file.
73255         * m4/sched_h.m4: New file.
73256         * doc/posix-headers/sched.texi: Mention the new module.
73258 2008-09-27  Eric Blake  <ebb9@byu.net>
73260         Fix previous patch, and tweak references to $0.
73261         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
73262         (func_version, func_gnulib_dir): Don't call this program
73263         gnulib-tool.
73264         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
73265         with using $0 in function.
73266         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
73267         (func_fatal_error): Reuse the name the user invoked us with.
73269 2008-09-27  Bruno Haible  <bruno@clisp.org>
73271         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
73272         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
73273         (gl_ICONV_H): Not here.
73274         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
73275         instead of assigning ICONV_H directly.
73277         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
73278         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
73279         WCHAR_H directly.
73281 2008-09-27  Bruno Haible  <bruno@clisp.org>
73283         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
73284         * modules/arpa_inet (Depends-on): Add link-warning.
73285         (Makefile.am): Insert the definition of GL_LINK-WARNING.
73286         * modules/unistd (Makefile.am): Likewise.
73288 2008-09-26  Bruno Haible  <bruno@clisp.org>
73290         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
73291         variables.
73292         (func_version): Essentially copied from gnulib-tool.
73293         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
73294         func_readlink): Copied from gnulib-tool.
73296 2008-09-26  Bruno Haible  <bruno@clisp.org>
73298         * gnulib-tool (func_version): Change directory to $gnulib_dir before
73299         invoking git-version-gen.
73301 2008-09-26  Bruno Haible  <bruno@clisp.org>
73303         * posix-modules: Update to directory names changed on 2008-01-19.
73304         Remove commas in output before splitting into words. No more need to
73305         avoid 'ftruncate' since 2007-02-19.
73307 2008-09-26  Bruno Haible  <bruno@clisp.org>
73309         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
73311 2008-09-26  Bruno Haible  <bruno@clisp.org>
73313         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
73314         * modules/fwriteerror (Depends-on): Add errno.
73316 2008-09-26  Bruno Haible  <bruno@clisp.org>
73318         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
73319         * tests/test-vc-list-files-cvs.sh: Likewise.
73321 2008-09-26  Bruno Haible  <bruno@clisp.org>
73323         * doc/posix-headers/sys_resource.texi: Reorder items.
73325 2008-09-26  Jim Meyering  <meyering@redhat.com>
73327         fts: tweak inode comparison function
73328         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
73329         inode numbers, as documented.
73331         fts: sort dirent entries on inode number before traversing
73332         This avoids a quadratic, seek-related performance penalty when
73333         operating on a directory containing many entries (measurable at 10k;
73334         3.5 hours at 2 million entries with a cold cache) on certain types
73335         of file systems, including ext3 and ext4, but not tmpfs.
73336         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
73337         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
73338         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
73339         (fs_handles_readdir_ordered_dirents_efficiently): New function.
73340         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
73341         (fts_build): Set the stat.st_ino member from D_INO.
73342         If it is likely to be useful, sort dirent entries on inode number.
73344         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
73345         and the struct statfs.f_type member.
73346         * modules/fts (Depends-on): Add d-ino.
73348 2008-09-26  Bruno Haible  <bruno@clisp.org>
73350         * modules/sigpipe-die (Depends-on): Add sigpipe.
73352         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
73353         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
73354         and GNULIB_STDIO_H_SIGPIPE are set.
73355         * lib/stdio-write.c: New file.
73356         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
73357         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
73358         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
73359         REPLACE_STDIO_WRITE_FUNCS.
73360         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
73361         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
73362         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
73363         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
73364         * modules/stdio (Files): Add lib/stdio-write.c.
73365         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
73366         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
73367         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
73368         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
73369         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
73370         REPLACE_FPRINTF_POSIX.
73371         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
73372         REPLACE_PRINTF_POSIX.
73373         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
73374         REPLACE_VFPRINTF_POSIX.
73375         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
73376         REPLACE_VPRINTF_POSIX.
73377         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
73378         SIGPIPE issue.
73379         * doc/posix-functions/fputc.texi: Likewise.
73380         * doc/posix-functions/fputs.texi: Likewise.
73381         * doc/posix-functions/fwrite.texi: Likewise.
73382         * doc/posix-functions/printf.texi: Likewise.
73383         * doc/posix-functions/putc.texi: Likewise.
73384         * doc/posix-functions/putchar.texi: Likewise.
73385         * doc/posix-functions/puts.texi: Likewise.
73386         * doc/posix-functions/vfprintf.texi: Likewise.
73387         * doc/posix-functions/vprintf.texi: Likewise.
73389         * modules/safe-write (Depends-on): Add write.
73391         * modules/sigpipe-tests: New file.
73392         * tests/test-sigpipe.c: New file.
73393         * tests/test-sigpipe.sh: New file.
73395         * modules/write: New file.
73396         * lib/unistd.in.h: Include <sys/types.h>.
73397         (write): New declaration.
73398         * lib/write.c: New file.
73399         * m4/write.m4: New file.
73400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73401         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
73402         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
73403         GNULIB_WRITE, REPLACE_WRITE.
73404         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
73405         and the SIGPIPE issue.
73407         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
73408         (raise): New declaration.
73409         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
73410         (ext_signal): New function.
73411         (rpl_raise): New function.
73412         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
73413         GNULIB_SIGNAL_H_SIGPIPE.
73414         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
73415         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
73417         * modules/sigpipe: New file.
73418         * m4/sigpipe.m4: New file.
73420 2008-09-25  Derek Price  <derek@ximbiot.com>
73421             Bruno Haible  <bruno@clisp.org>
73423         * gnulib-tool (func_import): Report all license incompatibilities, not
73424         just the first one.
73426 2008-09-25  Bruno Haible  <bruno@clisp.org>
73428         * gnulib-tool (func_import): When computing the edits, consider not
73429         only the Makefile.ams that exist but also those that will be generated.
73431 2008-09-25  Simon Josefsson  <simon@josefsson.org>
73433         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
73434         fixes gnulib-tool --test warning about duplicate dependency.
73436 2008-09-25  Bruno Haible  <bruno@clisp.org>
73438         * gnulib-tool: Don't ask the user to perform edits in the generated
73439         Makefile.ams.
73440         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
73441         apply to the Makefile.am being generated.
73442         (func_emit_tests_Makefile_am): Execute edits that apply to the
73443         Makefile.am being generated.
73444         (func_import): Setup list of Makefile.am edits before emitting the
73445         Makefile.ams, not at the end.
73446         (func_create_testdir): Update.
73447         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73449 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73451         * gnulib-tool (func_import): Store the --tests-base option in the
73452         comment in gnulib-cache.m4.
73454 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
73456         * NEWS: Document increased portability that sys_select now provides.
73458         * lib/sys_select.in.h: Install select wrapper.
73459         * lib/sys_socket.in.h: Use more descriptive name when there is no
73460         select wrapper.
73461         * lib/winsock-select.c: New.
73462         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
73463         Require gl_HEADER_SYS_SOCKET.
73464         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
73465         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
73466         * tests/test-sys_select.c: Add functional tests.
73468 2008-09-24  Eric Blake  <ebb9@byu.net>
73470         open, fopen: close fd leak in last patch
73471         * lib/open.c (rpl_open): Close fd before returning error.
73472         * lib/fopen.c (rpl_fopen): Close fd before returning error.
73473         * doc/posix-functions/open.texi (open): Document that Irix also
73474         has the bug.
73475         * doc/posix-functions/fopen.texi (fopen): Likewise.
73476         Reported by Paolo Bonzini.
73478 2008-09-24  Bruno Haible  <bruno@clisp.org>
73480         Ensure that a filename ending in a slash cannot be used to access a
73481         non-directory.
73482         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
73483         to check whether it's really a directory.
73484         * lib/fopen.c: Include fcntl.h, unistd.h.
73485         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
73486         and fdopen().
73487         * modules/fopen (Depends-on): Add unistd.
73488         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
73489         * tests/test-fopen.c (main): Likewise.
73490         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
73491         * doc/posix-functions/fopen.texi: Likewise.
73492         Reported by Eric Blake.
73494 2008-09-23  Eric Blake  <ebb9@byu.net>
73496         c-stack: avoid compiler optimizations when provoking overflow
73497         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
73498         recursion harder to optimize, to ensure a stack overflow occurs.
73499         * tests/test-c-stack.c (recurse): Likewise.
73500         Borrowed from libsigsegv.
73502         c-stack: work around Irix sigaltstack bug
73503         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
73504         whether sigaltstack uses wrong end of stack_t (copied in part from
73505         libsigsegv).
73506         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
73507         Irix bug, without requiring an over-allocation.
73508         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
73509         bug.
73511         fopen: document mingw bug on directories
73512         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
73513         not allowing a stream visiting a directory, even though reading
73514         from such a stream is not portable.
73516 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
73518         * lib/poll.c: Rewrite.
73519         * modules/poll: Depend on alloca.
73521 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
73523         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
73524         instead define prototypes for a full set of wrappers.  Ensure
73525         that Cygwin does not use the compatibility code, which is only
73526         for MinGW.
73527         * lib/winsock.c: New.
73528         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
73529         * modules/sys_socket: Add lib/winsock.c.
73531         * modules/poll-tests: Add errno and perror.
73532         * tests/test-poll.c: Use ioctl, not ioctlsocket.
73534 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
73536         * tests/test-poll.c: Downgrade minimum needed Winsock version.
73538 2008-09-23  Bruno Haible  <bruno@clisp.org>
73540         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
73541         * doc/glibc-functions/*: Likewise.
73543 2008-09-23  Simon Josefsson  <simon@josefsson.org>
73545         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
73546         success.
73548 2008-09-22  Eric Blake  <ebb9@byu.net>
73549             Bruno Haible  <bruno@clisp.org>
73551         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
73552         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
73553         supply %A but mishandle pseudo-NaN.
73554         Reported by Simon Josefsson.
73556 2008-09-21  Bruno Haible  <bruno@clisp.org>
73558         * tests/test-lock.c (main): Tweak skip message.
73559         * tests/test-tls.c (main): Likewise.
73561 2008-09-21  Bruno Haible  <bruno@clisp.org>
73563         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
73564         whether 'struct sigaction' has sa_sigaction here...
73565         (gl_PREREQ_SIG_HANDLER_H): ... not here.
73566         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
73568 2008-09-21  Bruno Haible  <bruno@clisp.org>
73570         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
73571         section.
73572         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
73573         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
73574         the new section.
73575         (Support for obsolete systems lacking POSIX:2001): New section.
73576         (String handling <string.h>): Move strdup to the new section.
73577         Suggested by Simon Josefsson and Paolo Bonzini.
73579 2008-09-21  Bruno Haible  <bruno@clisp.org>
73581         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
73582         exponents in %e and %g results on 'long double'. Needed for mingw's
73583         improved *printf functions.
73584         * tests/test-vasprintf-posix.c (test_function): Likewise.
73585         * tests/test-snprintf-posix.h (test_function): Likewise.
73586         * tests/test-sprintf-posix.h (test_function): Likewise.
73587         Reported by Eric Blake.
73589 2008-09-21  Bruno Haible  <bruno@clisp.org>
73591         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
73592         * tests/test-sprintf-posix.h (test_function): Likewise.
73594 2008-09-21  Bruno Haible  <bruno@clisp.org>
73596         * modules/getpass (Depends-on): Add strdup-posix.
73598         New module 'strdup-posix'.
73599         * modules/strdup-posix: New file.
73600         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
73601         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
73602         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73603         REPLACE_STRDUP.
73604         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
73605         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
73606         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73607         strdup-posix.
73609         * modules/strdup (Depends-on): Remove malloc-posix.
73611 2008-09-20  Bruno Haible  <bruno@clisp.org>
73613         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
73614         Wildenhues.
73616 2008-09-20  Bruno Haible  <bruno@clisp.org>
73618         Ensure that wint_t gets defined on IRIX 5.3.
73619         * lib/wchar.in.h (wint_t): Define if not defined by the system.
73620         * lib/wctype.in.h (wint_t): Likewise.
73621         (__wctype_wint_t): Remove type.
73622         (isw*): Use wint_t instead of __wctype_wint_t.
73623         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
73624         * modules/wchar (Files): Add m4/wint_t.m4.
73625         (Makefile.am): Substitute HAVE_WINT_T.
73626         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
73627         * tests/test-wctype.c: Check that wint_t is defined.
73628         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
73629         * doc/posix-headers/wctype.texi: Likewise.
73630         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
73632 2008-09-18  Bruno Haible  <bruno@clisp.org>
73634         * gnulib-tool (func_exit): Update comment.
73636 2008-09-18  Simon Josefsson  <simon@josefsson.org>
73638         * modules/getaddrinfo (Depends-on): Remove strdup, this module
73639         assumes strdup exists and does not depend on strdup to return
73640         ENOMEM on out of memory conditions.
73642 2008-09-18  Bruno Haible  <bruno@clisp.org>
73644         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
73645         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
73646         digits for the exponent.
73648 2008-09-18  Jim Meyering  <meyering@redhat.com>
73649             Bruno Haible  <bruno@clisp.org>
73651         * lib/vasnprintf.c (decimal_point_char): Define also if
73652         NEED_PRINTF_INFINITE_LONG_DOUBLE.
73654 2008-09-16  Bruno Haible  <bruno@clisp.org>
73655         and Eric Blake  <ebb9@byu.net>
73657         vasnprintf: support Irix 5.3
73658         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
73659         that mishandle long double infinity.
73660         Reported by Tom G. Christensen.
73662 2008-09-16  Bruno Haible  <bruno@clisp.org>
73664         * doc/glibc-functions/scandir.texi: Mention the function is missing on
73665         Solaris 9.
73666         * doc/glibc-functions/alphasort.texi: Likewise.
73667         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
73669 2008-09-16  Jim Meyering  <meyering@redhat.com>
73671         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
73672         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
73673         a umask modification leak out of a subshell.  Otherwise, the
73674         opensolaris /bin/sh would be accepted and thus cause unwarranted
73675         failures in the coreutils test suite.
73677 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
73679         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
73680         to succeed.
73682 2008-09-16  Jim Meyering  <meyering@redhat.com>
73684         avoid spurious test failure when library is built without ACL support
73685         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
73686         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
73687         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
73688         * tests/test-copy-acl.sh: Likewise.
73690 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73692         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
73693         based on character occurrence counts.
73695 2008-09-15  Eric Blake  <ebb9@byu.net>
73697         tests: avoid some compiler warnings
73698         * tests/test-memchr.c (main): Pass NULL indirectly.
73699         * tests/test-closein.c (main): Avoid unused variable.
73701 2008-09-15  Bruno Haible  <bruno@clisp.org>
73703         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
73704         are missing on OpenBSD 4.0 individually.
73705         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73707 2008-09-15  Bruno Haible  <bruno@clisp.org>
73709         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
73710         * doc/posix-functions/strerror.texi: Mention also Cygwin.
73711         * doc/posix-functions/perror.texi: Likewise.
73712         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
73713         is missing.
73714         Reported by Eric Blake.
73716         * lib/errno.in.h: Use replacement values >= 2000.
73717         Reported by Eric Blake.
73719 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73721         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
73722         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
73723         limit.
73724         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
73725         compareseq was aborted.
73727 2008-09-14  Bruno Haible  <bruno@clisp.org>
73729         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
73730         yvec_edit_count.
73731         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
73732         (fstrcmp_bounded): Simplify result computation accordingly.
73734 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73736         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
73737         (fstrcmp): Define in terms of fstrcmp_bounded.
73738         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
73739         lower_bound argument.
73740         Return quickly if the result is certainly < lower_bound.
73741         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
73743 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73745         * lib/diffseq.h (EARLY_ABORT): New macro.
73746         (compareseq): Change return type to bool. Return true when EARLY_ABORT
73747         evaluates to true.
73749 2008-09-14  Bruno Haible  <bruno@clisp.org>
73751         * modules/perror-tests: New file.
73752         * tests/test-perror.sh: New file.
73753         * tests/test-perror.c: New file.
73755         New module 'perror'.
73756         * lib/stdio.in.h (perror): New declaration.
73757         * lib/perror.c: New file.
73758         * m4/perror.m4: New file.
73759         * modules/perror: New file.
73760         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
73761         * doc/posix-functions/perror.texi: Mention the perror module.
73762         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
73763         REPLACE_PERROR.
73764         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
73765         REPLACE_PERROR.
73767 2008-09-14  Bruno Haible  <bruno@clisp.org>
73769         * modules/stdio (Makefile.am): Reorder to match the order in
73770         lib/stdio.in.h.
73771         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
73773 2008-09-13  Bruno Haible  <bruno@clisp.org>
73775         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
73777 2008-09-13  Bruno Haible  <bruno@clisp.org>
73779         Extend strerror to cover the added errno values.
73780         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
73781         (rpl_strerror): Provide error messages for the added errno values and
73782         for the WSA* values.
73783         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
73784         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
73785         strerror.
73786         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
73787         * modules/strerror (Depends-on): Add errno.
73788         * doc/posix-functions/strerror.texi: Document the change.
73789         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
73790         and EOVERFLOW.
73792 2008-09-13  Bruno Haible  <bruno@clisp.org>
73794         * modules/EOVERFLOW: Remove file.
73795         * m4/eoverflow.m4: Remove file.
73796         * modules/EOVERFLOW-tests: Remove file.
73797         * tests/test-EOVERFLOW.c: Remove file.
73798         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
73799         * modules/ftell (Depends-on): Likewise.
73800         * modules/getdelim (Depends-on): Likewise.
73801         * modules/getugroups (Depends-on): Likewise.
73802         * modules/poll (Depends-on): Likewise.
73803         * modules/snprintf (Depends-on): Likewise.
73804         * modules/sprintf-posix (Depends-on): Likewise.
73805         * modules/vasnprintf (Depends-on): Likewise.
73806         * modules/vasprintf (Depends-on): Likewise.
73807         * modules/vfprintf-posix (Depends-on): Likewise.
73808         * modules/vsnprintf (Depends-on): Likewise.
73809         * modules/vsprintf-posix (Depends-on): Likewise.
73810         * modules/xvasprintf (Depends-on): Likewise.
73811         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
73812         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
73813         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
73814         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
73815         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
73816         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
73817         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
73818         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
73819         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
73820         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
73821         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
73822         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
73823         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
73824         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
73825         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
73826         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
73827         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
73828         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
73829         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
73830         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
73831         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
73832         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
73833         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
73834         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
73835         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
73836         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
73837         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
73838         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
73839         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
73840         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
73841         * MODULES.html.sh: Remove EOVERFLOW.
73842         * NEWS: Mention the change.
73844 2008-09-13  Bruno Haible  <bruno@clisp.org>
73846         * modules/errno-tests: New file.
73847         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
73849         * lib/errno.in.h: New file.
73850         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
73851         * modules/errno: New file.
73852         * doc/posix-headers/errno.texi: Update documentation.
73853         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
73855 2008-09-13  Bruno Haible  <bruno@clisp.org>
73857         * tests/test-poll.c: Use #if for native Windows, rather than testing
73858         __MSVCRT__.
73860 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73861             Bruno Haible  <bruno@clisp.org>
73863         * lib/glob.c: Don't include <pwd.h> on native Windows.
73864         (WINDOWS32): New macro.
73865         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
73867 2008-09-13  Bruno Haible  <bruno@clisp.org>
73869         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
73870         (ETIMEDOUT): Remove macro.
73871         (glthread_cond_timedwait_multithreaded): New declaration.
73872         (glthread_cond_timedwait): Use it.
73873         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
73874         (glthread_cond_timedwait_multithreaded): New function.
73876 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
73878         * modules/poll-tests: Do not check for io.h.
73879         * tests/test-poll.c: Check for __MSVCRT__ instead.
73881 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
73883         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
73884         * modules/poll-tests: Add inet_pton, stdbool, sockets.
73885         * tests/test-poll.c: Use them.  Use _pipe on Windows.
73887 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
73889         * modules/poll-tests: New.
73890         * tests/test-poll.c: New.
73892 2008-09-12  Eric Blake  <ebb9@byu.net>
73894         frexp: test for NetBSD failure on -0.0
73895         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
73896         not all, bugs from NetBSD 3.0 have been fixed.
73897         * doc/posix-functions/frexp.texi (frexp): Document bug.
73898         Reported by Thomas Klausner.
73900         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
73901         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
73902         literal -0.0.
73903         Reported by Jonathan C. Patschke <jp@centtech.com>.
73905 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73907         * lib/glthread/cond.h: Use dummy implementation also if
73908         USE_WIN32_THREADS.
73910 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73912         * modules/fnmatch-posix (License): Change to LGPLv2+.
73913         * modules/fnmatch-gnu (License): Likewise.
73915 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73917         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
73919 2008-09-11  Jim Meyering  <meyering@redhat.com>
73921         * users.txt: Add gtk-vnc.
73923 2008-09-08  Simon Josefsson  <simon@josefsson.org>
73925         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
73926         rotate amounts.
73928         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
73929         required for 16-bit and 8-bit rotates.
73930         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
73931         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
73932         UINT8_MAX instead of hard-coded constants.
73933         Suggested by Paul Eggert.
73935 2008-09-07  Bruno Haible  <bruno@clisp.org>
73937         * tests/test-striconveh.c (main): Check behaviour when converting from
73938         UTF-7.
73940         Make striconveh work better with stateful encodings.
73941         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
73942         that iconv does not increment the inptr when returning -1/EINVAL.
73944 2008-09-07  Bruno Haible  <bruno@clisp.org>
73946         * build-aux/config.rpath: Update according to libtool-2.2.6.
73947         * build-aux/config.libpath: Likewise.
73949 2008-09-06  Bruno Haible  <bruno@clisp.org>
73951         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
73952         * lib/freadptr.c (freadptr): Likewise.
73953         * lib/freadseek.c (freadptrinc): Likewise.
73954         Reported by Simon Josefsson.
73956 2008-09-06  Bruno Haible  <bruno@clisp.org>
73958         * modules/freadptr (License): Change to LGPLv2+.
73959         * modules/freadseek (License): Likewise.
73960         Suggested by Eric Blake.
73962         * modules/memchr2 (License): Change to LGPLv2+.
73963         Approved by Eric Blake.
73965 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73966             Bruno Haible  <bruno@clisp.org>
73968         Make gnulib-tool work with native 'sed' on AIX.
73969         * gnulib-tool (sed_noop): New variable.
73970         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
73971         func_add_or_update, func_create_testdir): Use it to initialize sed
73972         script variables.
73973         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
73975 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
73976             Bruno Haible  <bruno@clisp.org>
73978         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
73979         also works after #include directives.
73981 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
73983         getdate.y: reject an out-of-range timezone value
73984         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
73985         the range [-24...+24].  When specified with only one or two digits,
73986         * tests/test-getdate.c: Tests for the fix.
73987         * doc/getdate.texi: Document this change.
73989 2008-09-03  Bruno Haible  <bruno@clisp.org>
73991         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
73993 2008-09-02  Simon Josefsson  <simon@josefsson.org>
73995         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
73996         <bruce.korb@gmail.com> with ideas from Ben Pfaff
73997         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
73998         Blake <ebb9@byu.net>.
74000         * tests/test-bitrotate.c: Add more test vectors.
74002 2008-09-02  Eric Blake  <ebb9@byu.net>
74004         vasnprintf-posix: handle large precision via %.*d
74005         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
74006         when handling it ourselves.
74007         * tests/test-vasnprintf-posix.c (test_function): Add test.
74008         * tests/test-snprintf-posix.h (test_function): Likewise.
74009         * tests/test-sprintf-posix.h (test_function): Likewise.
74010         * tests/test-vasprintf-posix.c (test_function): Likewise.
74011         Reported by Alain Guibert.
74013 2008-09-01  Eric Blake  <ebb9@byu.net>
74015         c-stack: make configure-time check more robust
74016         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
74017         successful sigaction call.
74018         Reported by Tom G. Christensen.
74020 2008-09-01  Bruno Haible  <bruno@clisp.org>
74022         New module 'findprog-lgpl'.
74023         * modules/findprog-lgpl: New file.
74024         * lib/findprog-lgpl.c: New file.
74025         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
74026         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
74027         to decide whether to use strdup or xstrdup, concatenated_filename or
74028         xconcatenated_filename.
74030 2008-09-01  Bruno Haible  <bruno@clisp.org>
74032         Split module 'concat-filename' into 'concat-filename' (LGPL) and
74033         'xconcat-filename' (GPL).
74034         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
74035         (License): Change to LGPLv2+.
74036         * modules/xconcat-filename: New file.
74037         * lib/concat-filename.h (concatenated_filename): Change specification.
74038         (xconcatenated_filename): New declaration.
74039         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
74040         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
74041         memory situations.
74042         * lib/xconcat-filename.c: New file.
74043         * NEWS: Mention the change.
74044         * lib/findprog.c: Include concat-filename.h, not filename.h.
74045         (find_in_path): Use xconcatenated_filename instead of
74046         concatenated_filename.
74047         * lib/javacomp.c: Include concat-filename.h, not filename.h.
74048         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
74049         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
74050         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
74051         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
74052         instead of concatenated_filename.
74053         * lib/javaexec.c: Include concat-filename.h, not filename.h.
74054         (execute_java_class): Use xconcatenated_filename instead of
74055         concatenated_filename.
74056         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
74057         * modules/javacomp (Depends-on): Likewise.
74058         * modules/javaexec (Depends-on): Likewise.
74060 2008-09-01  Bruno Haible  <bruno@clisp.org>
74062         Split module 'filename' into 'filename' and 'concat-filename'.
74063         * modules/filename: Keep only lib/filename.h.
74064         (License): Change to LGPLv2+.
74065         * modules/concat-filename: New file, extracted from modules/filename.
74066         * lib/filename.h (concatenated_filename): Remove declaration.
74067         * lib/concat-filename.h: New file, extracted from lib/filename.h.
74068         * lib/concat-filename.c: Include concat-filename.h.
74069         * NEWS: Mention the change.
74071 2008-09-01  Simon Josefsson  <simon@josefsson.org>
74073         * lib/bitrotate.h (rotl8, rotr8): Add.
74075         * modules/bitrotate (configure.ac): Need
74076         AC_REQUIRE([AC_C_INLINE]).
74077         (Description): Mention stdint.h.  Reported by Bruno Haible
74078         <bruno@clisp.org>.
74080         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
74081         Paolo Bonzini <bonzini@gnu.org>.
74083 2008-08-31  Bruno Haible  <bruno@clisp.org>
74085         Assume Solaris specific bi-arch conventions on Solaris systems.
74086         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
74087         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
74088         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
74089         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
74090         like acl_libdirstem.
74091         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
74092         acl_libdirstem.
74093         * NEWS: Mention the change.
74094         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
74096 2008-08-31  Jim Meyering  <meyering@redhat.com>
74098         * lib/strftime.h: Add comments describing the two added arguments.
74100         remove duplicate #include directives
74101         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
74102         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
74104 2008-08-31  Bruno Haible  <bruno@clisp.org>
74106         New module 'sigpipe-die'.
74107         * modules/sigpipe-die: New file.
74108         * lib/sigpipe-die.h: New file.
74109         * lib/sigpipe-die.c: New file.
74110         * MODULES.html.sh (Signal handling): Add sigpipe-die.
74112 2008-08-31  Bruno Haible  <bruno@clisp.org>
74114         Don't override previously installed signal handlers.
74115         * lib/fatal-signal.c (saved_sigactions): New variable.
74116         (uninstall_handlers): Reset the signal to the saved handler, not
74117         to SIG_DFL (except when ignored).
74118         (install_handlers): Save the previous handlers.
74120 2008-08-30  Bruno Haible  <bruno@clisp.org>
74122         * gnulib-tool (func_reset_sigpipe): New function.
74123         (func_get_automake_snippet, func_modules_transitive_closure,
74124         func_import): Invoke it before a join command that reads from stdin,
74125         to avoid "echo: write error: Broken pipe" error messages on stderr.
74126         Reported by Sam Steingold <sds@gnu.org>.
74128 2008-08-30  Bruno Haible  <bruno@clisp.org>
74130         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
74131         Code copied from m4/open.m4.
74132         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
74133         access and the filename ends in a slash. Code copied from lib/open.c.
74134         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
74135         * tests/test-fopen.c (main): Check against bug with trailing slash.
74137 2008-08-29  Bruno Haible  <bruno@clisp.org>
74139         Avoid some "gcc -pedantic" warnings.
74140         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
74141         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
74142         * lib/dirent.in.h: Likewise.
74143         * lib/fcntl.in.h: Likewise.
74144         * lib/float.in.h: Likewise.
74145         * lib/iconv.in.h: Likewise.
74146         * lib/inttypes.in.h: Likewise.
74147         * lib/locale.in.h: Likewise.
74148         * lib/math.in.h: Likewise.
74149         * lib/netinet_in.in.h: Likewise.
74150         * lib/search.in.h: Likewise.
74151         * lib/signal.in.h: Likewise.
74152         * lib/stdarg.in.h: Likewise.
74153         * lib/stdint.in.h: Likewise.
74154         * lib/stdio.in.h: Likewise.
74155         * lib/stdlib.in.h: Likewise.
74156         * lib/string.in.h: Likewise.
74157         * lib/strings.in.h: Likewise.
74158         * lib/sys_select.in.h: Likewise.
74159         * lib/sys_socket.in.h: Likewise.
74160         * lib/sys_stat.in.h: Likewise.
74161         * lib/sys_time.in.h: Likewise.
74162         * lib/sysexits.in.h: Likewise.
74163         * lib/time.in.h: Likewise.
74164         * lib/unistd.in.h: Likewise.
74165         * lib/wchar.in.h: Likewise.
74166         * lib/wctype.in.h: Likewise.
74167         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
74168         * modules/fchdir (Makefile.am): Likewise.
74169         * modules/fcntl (Makefile.am): Likewise.
74170         * modules/float (Makefile.am): Likewise.
74171         * modules/iconv_open (Makefile.am): Likewise.
74172         * modules/inttypes (Makefile.am): Likewise.
74173         * modules/locale (Makefile.am): Likewise.
74174         * modules/math (Makefile.am): Likewise.
74175         * modules/netinet_in (Makefile.am): Likewise.
74176         * modules/search (Makefile.am): Likewise.
74177         * modules/signal (Makefile.am): Likewise.
74178         * modules/stdarg (Makefile.am): Likewise.
74179         * modules/stdint (Makefile.am): Likewise.
74180         * modules/stdio (Makefile.am): Likewise.
74181         * modules/stdlib (Makefile.am): Likewise.
74182         * modules/string (Makefile.am): Likewise.
74183         * modules/strings (Makefile.am): Likewise.
74184         * modules/sys_select (Makefile.am): Likewise.
74185         * modules/sys_socket (Makefile.am): Likewise.
74186         * modules/sys_stat (Makefile.am): Likewise.
74187         * modules/sys_time (Makefile.am): Likewise.
74188         * modules/sysexits (Makefile.am): Likewise.
74189         * modules/time (Makefile.am): Likewise.
74190         * modules/unistd (Makefile.am): Likewise.
74191         * modules/wchar (Makefile.am): Likewise.
74192         * modules/wctype (Makefile.am): Likewise.
74193         Reported by Reuben Thomas <rrt@sc3d.org>.
74195 2008-08-29  Bruno Haible  <bruno@clisp.org>
74197         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
74198         any more.
74200 2008-08-29  Simon Josefsson  <simon@josefsson.org>
74202         * MODULES.html.sh (Misc): Add bitrotate.
74204         * modules/bitrotate: New file.
74206         * lib/bitrotate.h: New file.
74208         * modules/bitrotate-tests: New file.
74210         * tests/test-bitrotate.c: New file.
74212         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
74213         on the bitrotate module.
74215         * lib/arctwo.c: Use new bitrotate module.
74217 2008-08-29  Jim Meyering  <meyering@redhat.com>
74219         bootstrap: merge changes from coreutils
74220         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
74221         of copied files.  Remove a kludge, now that this is fixed.
74222         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
74223         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
74224         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
74226 2008-08-29  Bruno Haible  <bruno@clisp.org>
74228         * MODULES.html.sh: Remove --cvs-urls option.
74230 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
74232         maint.mk: adjust to file name change
74233         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
74235 2008-08-28  Jim Meyering  <meyering@redhat.com>
74237         * modules/getndelim2 (License): Relicense to LGPLv2+.
74238         Approved by Richard Stallman for the version of 1995, and by
74239         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
74241 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
74243         * lib/getdelim.c (flockfile, funlockfile): Make all of them
74244         dummy if one is not available.  Do not touch them if
74245         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
74246         (getc_maybe_unlocked): New.
74247         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
74249 2008-08-26  Eric Blake  <ebb9@byu.net>
74251         doc/INSTALL: resync from autoconf
74252         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
74253         (INSTALL_PRELUDE): Delete; this is done more efficiently by
74254         moving...
74255         * install.texi [!autoconf]: ...here.  Resync from autoconf.
74256         * INSTALL: Regenerate.
74257         * INSTALL.ISO: New file.
74258         * INSTALL.UTF-8: Likewise.
74260 2008-08-26  Jim Meyering  <meyering@redhat.com>
74262         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
74263         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
74264         these definitions conditional, so that they may be overridden, too.
74266 2008-08-26  Bruno Haible  <bruno@clisp.org>
74268         Generate INSTALL file variants with prettier quotes.
74269         * doc/Makefile (INSTALL_PRELUDE): New macro.
74270         (INSTALL): Use it.
74271         (INSTALL.ISO, INSTALL.UTF-8): New rules.
74273 2008-08-26  Bruno Haible  <bruno@clisp.org>
74275         Run makeinfo in an English locale.
74276         * doc/Makefile (MAKEINFO): New variable.
74278 2008-08-26  Bruno Haible  <bruno@clisp.org>
74280         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
74281         Suggested by Eric Blake.
74283 2008-08-25  Bruno Haible  <bruno@clisp.org>
74285         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
74287 2008-08-25  Eric Blake  <ebb9@byu.net>
74289         c-stack: test that stack overflow can be caught
74290         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
74291         that platform allows handling stack overflow; at least OS/2 EMX
74292         has sigaltstack, but crashes before transferring control to
74293         handler on stack overflow.
74294         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
74295         check for HAVE_STACK_OVERFLOW_HANDLING.
74296         Reported by Elbert Pol.
74298 2008-08-25  Bruno Haible  <bruno@clisp.org>
74300         * doc/posix-functions/strftime.texi: Fix description of strftime
74301         module.
74303 2008-08-24  Bruno Haible  <bruno@clisp.org>
74305         * tests/uniwidth/test-uc_width2.c: New file.
74306         * tests/uniwidth/test-uc_width2.sh: New file.
74307         * modules/uniwidth/width-tests (Files): Add the new files.
74308         (TESTS): Add uniwidth/test-uc_width2.sh.
74309         (TESTS_ENVIRONMENT): New variable.
74310         (check_PROGRAMS): Add test-uc_width2.
74311         (test_uc_width2_SOURCES): New variable.
74313         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
74314         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
74315         not 0x00AB.
74316         Reported by Alexander V. Lukyanov <lav@netis.ru>.
74318 2008-08-22  Eric Blake  <ebb9@byu.net>
74320         test-lock, test-tls: mention why a test is skipped
74321         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
74322         skipped.
74323         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
74325         count-one-bits: relax license
74326         * modules/count-one-bits (License): Relicense to LGPLv2+.
74327         Suggested by Ludovic Courtès, approved by Ben Pfaff.
74329 2008-08-22  Andreas Schwab  <schwab@suse.de>
74331         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
74332         Remove spurious space in assignment.
74334 2008-08-21  Simon Josefsson  <simon@josefsson.org>
74336         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
74337         Paul Eggert <eggert@CS.UCLA.EDU>.
74339 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
74341         * modules/gettext: Add m4/threadlib.m4.
74343 2008-08-19  Eric Blake  <ebb9@byu.net>
74345         test-c-stack: fix compilation failure on FreeBSD 5.0
74346         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
74347         headers before <sys/resource.h>.
74348         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
74349         the bug.
74350         Reported by Nelson H. F. Beebe.
74352         strverscmp: migrate from "strverscmp.h" to <string.h>
74353         * modules/string (Makefile.am): Add new hooks.
74354         * modules/strverscmp (Files): Remove strverscmp.h.
74355         (Depends-on): Add string.
74356         (configure.ac): Add indicator.
74357         (Include): Mention new header.
74358         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
74359         defaults.
74360         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
74361         results.
74362         * lib/strverscmp.h: Delete.
74363         * lib/string.in.h (strverscmp): Provide declaration, when needed.
74364         * tests/test-strverscmp.c (includes): Adjust client.
74365         * lib/check-version.c (includes): Likewise.
74366         * NEWS: Document the change.
74368         strverscmp: add unit test
74369         * modules/strverscmp-tests: New file.
74370         * tests/test-strverscmp.c: Likewise.
74372 2008-08-19  Simon Josefsson  <simon@josefsson.org>
74374         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
74375         regarding Windows crypto stuff, from Mono.
74377 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
74379         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
74380         if present, for intel RND.  Return error on failures.
74382 2008-08-18  Ben Pfaff  <blp@gnu.org>
74384         gitlog-to-changelog: give better diagnostic for failed pipe-open
74385         * build-aux/gitlog-to-changelog: Improve error message: suggest
74386         that the version of Git may be too old.
74388 2008-08-18  Simon Josefsson  <simon@josefsson.org>
74390         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
74391         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
74393 2008-08-18  Bruno Haible  <bruno@clisp.org>
74395         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
74396         pthread_in_use().
74398 2008-08-18  Bruno Haible  <bruno@clisp.org>
74400         * lib/glthread/threadlib.c: Include <pthread.h>.
74402 2008-08-18  Bruno Haible  <bruno@clisp.org>
74404         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
74405         glthread_recursive_lock_* macros.
74406         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
74407         Fix syntax error.
74409 2008-08-18  Bruno Haible  <bruno@clisp.org>
74411         * lib/glthread/thread.c: Avoid forcing a context switch right after
74412         thread creation.
74414 2008-08-17  Bruno Haible  <bruno@clisp.org>
74416         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
74417         * lib/glthread/thread.h: Provide Win32 specific implementation.
74418         * modules/thread (Files): Add lib/glthread/thread.c.
74419         (Depends-on): Add lock.
74420         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
74422 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74424         New module 'yield'.
74425         * modules/yield: New file.
74426         * lib/glthread/yield.h: New file.
74427         * m4/yield.m4: New file.
74428         * MODULES.html.sh (Multithreading): Add yield.
74430 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74432         New module 'thread'.
74433         * modules/thread: New file.
74434         * lib/glthread/thread.h: New file.
74435         * m4/thread.m4: New file.
74436         * MODULES.html.sh (Multithreading): Add thread.
74438 2008-08-17  Bruno Haible  <bruno@clisp.org>
74440         * lib/glthread/lock.h: Include <stdlib.h> always.
74441         * lib/glthread/tls.h: Likewise.
74442         * lib/glthread/cond.h: Likewise.
74444 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74446         New module 'cond'.
74447         * modules/cond: New file.
74448         * lib/glthread/cond.h: New file.
74449         * lib/glthread/cond.c: New file.
74450         * m4/cond.m4: New file.
74451         * MODULES.html.sh (Multithreading): Add cond.
74453 2008-08-16  Eric Blake  <ebb9@byu.net>
74455         c-stack: fix regression on Irix 5.3 from 2008-06-21
74456         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
74457         sa_sigaction...
74458         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
74459         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
74460         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
74461         * modules/signal (Makefile.am): Use the value.
74462         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
74463         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
74464         * doc/posix-headers/signal.texi (signal.h): Document this
74465         portability issue.
74466         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
74467         Reported by Tom G. Christensen.
74469 2008-08-17  Bruno Haible  <bruno@clisp.org>
74471         New module 'threadlib'.
74472         * modules/threadlib: New file.
74473         * lib/glthread/threadlib.c: New file, extracted from
74474         lib/glthread/lock.c.
74475         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
74476         functions.
74477         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
74478         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
74479         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
74480         macros.
74481         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
74482         (gl_DISABLE_THREADS): Remove macro.
74483         * modules/lock (Files): Remove build-aux/config.rpath.
74484         (Depends-on): Remove havelib. Add threadlib.
74485         (configure.ac-early): Remove section.
74486         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
74487         * modules/tls (Depends-on): Remove lock. Add threadlib.
74488         (Link): New section, copied from threadlib.
74489         * MODULES.html.sh (Multithreading): Add threadlib.
74491 2008-08-14  Bruno Haible  <bruno@clisp.org>
74493         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
74494         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
74495         glthread_rwlock_unlock, glthread_rwlock_destroy,
74496         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
74497         glthread_recursive_lock_destroy): Define as macros always.
74498         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
74499         glthread_lock_lock.
74500         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
74501         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
74502         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
74503         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
74504         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
74505         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
74506         (glthread_recursive_lock_lock_func): Renamed from
74507         glthread_recursive_lock_lock.
74508         (glthread_recursive_lock_unlock_func): Renamed from
74509         glthread_recursive_lock_unlock.
74510         (glthread_recursive_lock_destroy_func): Renamed from
74511         glthread_recursive_lock_destroy.
74513 2008-08-14  Bruno Haible  <bruno@clisp.org>
74515         * lib/glthread/lock.h: Renamed from lib/lock.h.
74516         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
74517         * lib/glthread/tls.h: Renamed from lib/tls.h.
74518         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
74519         * lib/fstrcmp.c: Update includes.
74520         * lib/strsignal.c: Update includes.
74521         * modules/lock (Files, Makefile.am): Update.
74522         (Include): Change to "glthread/lock.h".
74523         * modules/tls (Files, Makefile.am): Update.
74524         (Include): Change to "glthread/tls.h".
74525         * tests/test-lock.c: Update includes.
74526         * tests/test-tls.c: Update includes.
74527         * NEWS: Mention the renamed header files.
74529 2008-08-11  Jim Meyering  <meyering@redhat.com>
74531         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
74533 2008-08-11  Eric Blake  <ebb9@byu.net>
74535         test-c-stack: avoid C99-ism
74536         * tests/test-c-stack.c (main): Fix whitespace, move declaration
74537         before statement.
74538         Reported by Alain Guibert.
74540 2008-08-10  Jim Meyering  <meyering@redhat.com>
74542         ensure that return value of uinttostr et al are not ignored
74543         * lib/inttostr.h (__GNUC_PREREQ): Define.
74544         (__attribute_warn_unused_result__): Define.
74545         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
74547 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
74549         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
74550         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
74552 2008-08-07  Jim Meyering  <meyering@redhat.com>
74554         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
74556         * modules/mkstemp (License): Relicense under LGPLv2+.
74557         * modules/tempname (License): Likewise.
74559 2008-08-06  Bruno Haible  <bruno@clisp.org>
74561         * lib/poll.c (poll): Further micro-optimization.
74563 2008-08-06  Jim Meyering  <meyering@redhat.com>
74565         inet_pton.c: use locale-independent tolower
74566         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
74567         (inet_pton6): Use c_tolower rather than tolower.
74568         * modules/inet_pton (Depends-on): Add c-ctype.
74570 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
74572         * lib/poll.c (poll): Avoid division when timeout is 0, cache
74573         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
74575 2008-08-06  Jim Meyering  <meyering@redhat.com>
74577         * modules/inet_pton (License): Relicense under LGPLv2+.
74579 2008-08-03  Bruno Haible  <bruno@clisp.org>
74581         Additional non-aborting API for lock and tls.
74582         * lib/lock.h: Include <errno.h>.
74583         (glthread_lock_init): New macro/function.
74584         (gl_lock_init): Define as wrapper around glthread_lock_init.
74585         (glthread_lock_lock): New macro/function.
74586         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
74587         (glthread_lock_unlock): New macro/function.
74588         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
74589         (glthread_lock_destroy): New macro/function.
74590         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
74591         (glthread_rwlock_init): New macro/function.
74592         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
74593         (glthread_rwlock_rdlock): New macro/function.
74594         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
74595         (glthread_rwlock_wrlock): New macro/function.
74596         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
74597         (glthread_rwlock_unlock): New macro/function.
74598         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
74599         (glthread_rwlock_destroy): New macro/function.
74600         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
74601         (glthread_recursive_lock_init): New macro/function.
74602         (gl_recursive_lock_init): Define as wrapper around
74603         glthread_recursive_lock_init.
74604         (glthread_recursive_lock_lock): New macro/function.
74605         (gl_recursive_lock_lock): Define as wrapper around
74606         glthread_recursive_lock_lock.
74607         (glthread_recursive_lock_unlock): New macro/function.
74608         (gl_recursive_lock_unlock): Define as wrapper around
74609         glthread_recursive_lock_unlock.
74610         (glthread_recursive_lock_destroy): New macro/function.
74611         (gl_recursive_lock_destroy): Define as wrapper around
74612         glthread_recursive_lock_destroy.
74613         (glthread_once): New macro/function.
74614         (gl_once): Define as wrapper around glthread_once.
74615         Update function declarations.
74616         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
74617         glthread_rwlock_init. Return error code.
74618         (glthread_rwlock_rdlock_multithreaded): Renamed from
74619         glthread_rwlock_rdlock. Return error code.
74620         (glthread_rwlock_wrlock_multithreaded): Renamed from
74621         glthread_rwlock_wrlock. Return error code.
74622         (glthread_rwlock_unlock_multithreaded): Renamed from
74623         glthread_rwlock_unlock. Return error code.
74624         (glthread_rwlock_destroy_multithreaded): Renamed from
74625         glthread_rwlock_destroy. Return error code.
74626         (glthread_recursive_lock_init_multithreaded): Renamed from
74627         glthread_recursive_lock_init. Return error code.
74628         (glthread_recursive_lock_lock_multithreaded): Renamed from
74629         glthread_recursive_lock_lock. Return error code.
74630         (glthread_recursive_lock_unlock_multithreaded): Renamed from
74631         glthread_recursive_lock_unlock. Return error code.
74632         (glthread_recursive_lock_destroy_multithreaded): Renamed from
74633         glthread_recursive_lock_destroy. Return error code.
74634         (glthread_once_call): Make static.
74635         (glthread_once_multithreaded): Renamed from glthread_once.
74636         * lib/tls.h: Include <errno.h>.
74637         (glthread_tls_key_init): New macro/function.
74638         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
74639         (glthread_tls_set): New macro/function.
74640         (gl_tls_set): Define as wrapper around glthread_tls_set.
74641         (glthread_tls_key_destroy): New macro/function.
74642         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
74643         Update function declarations.
74644         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
74645         glthread_tls_get.
74646         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
74648 2008-08-04  Eric Blake  <ebb9@byu.net>
74650         gnumakefile: use space, not TAB, outside of targets
74651         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
74653 2008-08-02  Jim Meyering  <meyering@redhat.com>
74655         getdate.y: avoid locale-dependent date parsing failure
74656         In Turkish locales, getdate would fail to recognize keywords
74657         containing a lowercase "i".  The solution is not to rely on
74658         locale-sensitive case-conversion.
74659         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
74660         (lookup_word): Use c_toupper in place of toupper.
74661         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
74662         Reported by Vefa Bicakci <bicave@superonline.com> in
74663         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
74664         * modules/getdate (Depends-on): Add c-ctype.
74666 2008-08-02  Bruno Haible  <bruno@clisp.org>
74668         * gnulib-tool (func_import): When updating or creating a .gitignore
74669         file, prepend each added line with a slash, and ignore leading slashes
74670         from the existing lines.
74671         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
74673 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74675         Portability fix for GNU make 3.79.1.
74676         * top/GNUmakefile: Avoid 'else COND', which older GNU make
74677         versions do not understand.
74679 2008-08-01  Bruno Haible  <bruno@clisp.org>
74681         Work around bug of HP-UX 10.20 cc with -0.0 literal.
74682         * tests/test-isnanf.h (zero): New variable.
74683         (main): Avoid literal -0.0f.
74684         * tests/test-isnand.h (zero): New variable.
74685         (main): Avoid literal -0.0.
74686         * tests/test-isnanl.h (zero): New variable.
74687         (main): Avoid literal -0.0L.
74688         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
74689         (test_float, test_double, test_long_double): Avoid literals -0.0f,
74690         -0.0, -0.0L.
74691         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
74692         (test_signbitd): Avoid literal -0.0.
74693         (test_signbitl): Avoid literal -0.0L.
74694         * tests/test-ceilf1.c (zero): New variable.
74695         (main): Avoid literal -0.0f.
74696         * tests/test-ceill.c (zero): New variable.
74697         (main): Avoid literal -0.0L.
74698         * tests/test-floorf1.c (zero): New variable.
74699         (main): Avoid literal -0.0f.
74700         * tests/test-floorl.c (zero): New variable.
74701         (main): Avoid literal -0.0L.
74702         * tests/test-roundf1.c (zero): New variable.
74703         (main): Avoid literal -0.0f.
74704         * tests/test-round1.c (zero): New variable.
74705         (main): Avoid literal -0.0.
74706         * tests/test-roundl.c (zero): New variable.
74707         (main): Avoid literal -0.0L.
74708         * tests/test-truncf1.c (zero): New variable.
74709         (main): Avoid literal -0.0f.
74710         * tests/test-trunc1.c (zero): New variable.
74711         (main): Avoid literal -0.0.
74712         * tests/test-truncl.c (zero): New variable.
74713         (main): Avoid literal -0.0L.
74714         * tests/test-frexp.c (zero): New variable.
74715         (main): Avoid literal -0.0.
74716         * tests/test-frexpl.c (zero): New variable.
74717         (main): Avoid literal -0.0L.
74718         * tests/test-ldexpl.c (zero): New variable.
74719         (main): Avoid literal -0.0L.
74720         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
74721         (zerod, zerol): New variables.
74722         (test_function): Avoid literals -0.0, -0.0L.
74723         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
74724         (zerod, zerol): New variables.
74725         (test_function): Avoid literals -0.0, -0.0L.
74726         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
74727         (zerod, zerol): New variables.
74728         (test_function): Avoid literals -0.0, -0.0L.
74729         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
74730         (zerod, zerol): New variables.
74731         (test_function): Avoid literals -0.0, -0.0L.
74732         * tests/test-strtod.c (zero): New variable.
74733         (main): Avoid literal -0.0.
74734         Reported by Jonathan C. Patschke <jp@centtech.com>.
74736 2008-07-31  Jim Meyering  <meyering@redhat.com>
74738         sha256.h: correct definition of SHA224_DIGEST_SIZE
74739         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
74740         Reported by Paulie Pena IV <paulie4@gmail.com>.
74741         Define as 224 / 8, rather than as a literal.
74742         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
74743         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
74744         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
74746 2008-07-31  Bruno Haible  <bruno@clisp.org>
74748         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
74749         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
74750         Reported by Jonathan Patschke <jp@centtech.com>.
74752 2008-07-31  Bruno Haible  <bruno@clisp.org>
74754         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
74755         Reported by Paolo Bonzini <bonzini@gnu.org>.
74757 2008-07-30  Eric Blake  <ebb9@byu.net>
74759         test-strtod: allow compilation without -lm
74760         * tests/test-strtod.c (main): Avoid link dependence on fabs.
74761         Reported by Dennis Clarke <blastwave@gmail.com>.
74763 2008-07-28  Jim Meyering  <meyering@redhat.com>
74765         bootstrap: work also when there are no .po files in po/
74766         * build-aux/bootstrap (update_po_files): Complete the change
74767         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
74769 2008-07-27  Jim Meyering  <meyering@redhat.com>
74771         * users.txt: Add zile.
74773 2008-07-26  Ben Pfaff  <blp@gnu.org>
74775         Add missing dependencies on new m4/exponent[fdl].m4 files.
74776         * modules/isnanf-nolibm: Add m4/exponentf.m4.
74777         * modules/isnand-nolibm: Add m4/exponentd.m4.
74778         * modules/isnanl-nolibm: Add m4/exponentl.m4.
74779         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
74780         m4/isnan[fdl].m4, because the macros actually used moved.
74781         Reported by Jim Meyering.
74783 2008-07-14  Ben Pfaff  <blp@gnu.org>
74785         Add isinf module.
74786         * lib/isinf.c: New file.
74787         * lib/math.in.h: Define isinf macro if we have decided to replace
74788         it.
74789         * m4/isinf.m4: New file.
74790         * m4/math_h.m4: Initialize and substitute variables for isinf
74791         module.
74792         * modules/isinf: New file.
74793         * modules/isinf-tests: New file.
74794         * modules/math: Add substitutions for new module.
74795         * tests/test-isinf.c: New file.
74796         * doc/posix-functions/isinf.texi: Mention new module.
74797         * MODULES.html.sh: Mention new module.
74799 2008-07-14  Ben Pfaff  <blp@gnu.org>
74801         Factor out some macros for use by additional modules.
74802         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
74803         exponentf.m4.
74804         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
74805         exponentd.m4.
74806         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
74807         file exponentl.m4.
74808         * m4/exponentf.m4: New file.
74809         * m4/exponentd.m4: New file.
74810         * m4/exponentl.m4: New file.
74811         * modules/isnanf: Use new file m4/exponentf.m4.
74812         * modules/isnand: Use new file m4/exponentd.m4.
74813         * modules/isnanl: Use new file m4/exponentl.m4.
74815 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
74817         mktime.c: normalize tp->tm_isdst value to -1/0/1.
74818         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
74819         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
74820         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
74822         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
74823         readlink on platforms without PATH_MAX.
74825 2008-07-21  Eric Blake  <ebb9@byu.net>
74827         Warn, not fail, on stale version.
74828         * top/GNUmakefile (_curr-ver): Tone down previous patch.
74830         Don't allow installation with stale devel version number.
74831         * top/GNUmakefile (_is-install-target): New macro.
74832         (_curr-ver): Forbid installation with stale version number.
74834 2008-07-20  Bruno Haible  <bruno@clisp.org>
74836         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
74837         TESTS_ENVIRONMENT.
74838         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
74840 2008-07-20  Bruno Haible  <bruno@clisp.org>
74842         * lib/c-stack.h (c_stack_action): Add documentation.
74843         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
74845 2008-07-20  Bruno Haible  <bruno@clisp.org>
74847         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
74848         * modules/readlink (License): Likewise.
74850 2008-07-17  Eric Blake  <ebb9@byu.net>
74852         * modules/c-stack (Link): Fix typo.
74854         Make c-stack use libsigsegv, when available.
74855         * modules/c-stack (Depends-on): Add libsigsegv.
74856         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
74857         needed.
74858         * lib/c-stack.c (SIGSTKSZ): Define fallback.
74859         (segv_handler, overflow_handler, c_stack_action)
74860         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
74861         implementation when libsigsegv is available, but only when using
74862         the library is necessary.
74863         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
74864         comment, explaining why XSI check fails on Linux.
74865         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
74866         * tests/test-c-stack2.sh: Tweak skip message.
74867         * NEWS: Document new link-time requirements.
74869 2008-07-16  Eric Blake  <ebb9@byu.net>
74871         c-stack: Expose false positives when not using libsigsegv.
74872         * modules/c-stack-tests (Files): Expand test.
74873         * tests/test-c-stack.c (main): Add means to conditionally trigger
74874         non-overflow SIGSEGV.
74875         * tests/test-c-stack2.sh: New file.
74877 2008-07-14  Bruno Haible  <bruno@clisp.org>
74879         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
74880         Reported by Eric Blake.
74882 2008-07-14  Sam Steingold  <sds@gnu.org>
74883             Bruno Haible  <bruno@clisp.org>
74885         New module libsigsegv.
74886         * modules/libsigsegv: New file.
74887         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
74888         modifications.
74889         * MODULES.html.sh (Signal handling): New section.
74891 2008-07-14  Bruno Haible  <bruno@clisp.org>
74893         * modules/unictype/ctype-* (Description): Add the word "function".
74894         Improves the resulting doc in MODULES.html.
74896 2008-07-12  Ben Pfaff  <blp@gnu.org>
74898         Add longlong module.
74899         * modules/longlong: New file.
74901 2008-07-12  Bruno Haible  <bruno@clisp.org>
74903         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
74904         to empty.
74906 2008-07-10  Ben Pfaff  <blp@gnu.org>
74908         Add isnan module.
74909         * doc/posix-functions/isnan.texi: Mention new module.
74910         * lib/math.in.h: Define isnan macro if we have decided to replace
74911         it.
74912         * m4/isnan.m4: New file.
74913         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
74914         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
74915         also.
74916         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
74917         redundancy.
74918         * m4/math_h.m4: Initialize and substitute variables for isnan
74919         module.
74920         * modules/isnan: New file.
74921         * modules/isnan-tests: New file.
74922         * modules/math: Add substitutions for new module.
74923         * tests/test-isnan.c: New file.
74924         * MODULES.html.sh: Mention new module.
74926 2008-07-10  Ben Pfaff  <blp@gnu.org>
74928         Add isnanf module.
74929         * lib/isnanf.m4: New file.
74930         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
74931         (gl_HAVE_ISNANF_IN_LIBM): New macro.
74932         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
74933         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
74934         * modules/isnanf: New file.
74935         * modules/isnanf-tests: New file.
74936         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
74937         files.
74938         * tests/test-isnanf-nolibm.c: factored most of its contents into
74939         new file tests/test-isnanf.h.
74940         * tests/test-isnanf.h: New file.
74941         * tests/test-isnanf.c: New file.
74942         * MODULES.html.sh: Mention new module.
74943         * doc/glibc-functions/isnanf.texi: Mention new module.
74945 2008-07-10  Ben Pfaff  <blp@gnu.org>
74947         Add isnand module.
74948         * lib/isnand.h: New file.
74949         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
74950         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
74951         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
74952         functionality also.
74953         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
74954         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
74955         (gl_HAVE_ISNAND_IN_LIBM): New macro.
74956         * modules/isnand: New file.
74957         * modules/isnand-tests: New file.
74958         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
74959         files.
74960         * tests/test-isnand-nolibm.c: factored most of its contents into
74961         new file tests/test-isnand.h.
74962         * tests/test-isnand.h: New file.
74963         * tests/test-isnand.c: New file.
74964         * MODULES.html.sh: Mention new module.
74966 2008-07-10  Ben Pfaff  <blp@gnu.org>
74968         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
74969         * lib/isnand.h: Rename lib/isnand-nolibm.h.
74970         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
74971         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
74972         * modules/isnanf-nolibm: Update references to renamed files.
74973         * modules/isnand-nolibm: Likewise.
74974         * modules/isnanf-nolibm-tests: Likewise.
74975         * modules/isnand-nolibm-tests: Likewise.
74976         * lib/frexp.c: Likewise.
74977         * lib/isfinite.c: Likewise.
74978         * lib/signbitd.c: Likewise.
74979         * lib/signbitf.c: Likewise.
74980         * lib/vasnprintf.c: Likewise.
74981         * tests/test-ceilf1.c: Likewise.
74982         * tests/test-ceilf2.c: Likewise.
74983         * tests/test-floorf1.c: Likewise.
74984         * tests/test-floorf2.c: Likewise.
74985         * tests/test-frexp.c: Likewise.
74986         * tests/test-round1.c: Likewise.
74987         * tests/test-round2.c: Likewise.
74988         * tests/test-roundf1.c: Likewise.
74989         * tests/test-strtod.c: Likewise.
74990         * tests/test-trunc1.c: Likewise.
74991         * tests/test-trunc2.c: Likewise.
74992         * tests/test-truncf1.c: Likewise.
74993         * tests/test-truncf2.c: Likewise.
74994         * NEWS: Mention the renamed header files.
74996 2008-07-11  Jim Meyering  <meyering@redhat.com>
74998         vc-list-files: make the last-resort awk code more portable
74999         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
75000         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
75001         does not support it.
75003 2008-07-10  Eric Blake  <ebb9@byu.net>
75005         Work with tar's bootstrap.
75006         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
75007         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
75008         an m4 comment.
75010 2008-07-09  Jim Meyering  <meyering@redhat.com>
75012         posix-shell.m4: fix typo that made this test malfunction
75013         * m4/posix-shell.m4: Remove capitalization in variable name.
75015 2008-07-08  Bruno Haible  <bruno@clisp.org>
75017         * m4/onceonly.m4: Update comments.
75018         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75020 2008-07-04  Jim Meyering  <meyering@redhat.com>
75022         * users.txt: Add vc-dwim.
75023         (bison, coreutils): Use the gitweb URL.
75025 2008-07-03  Jim Meyering  <meyering@redhat.com>
75027         * users.txt: Add libffcall.  From Sam Steingold.
75029 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
75031         getdate.y: do not ignore TZ with relative day, month or year offset
75032         * lib/getdate.y (get_date): Move the tz-handling block to follow the
75033         relative-date-handling, since otherwise, the latter would clobber the
75034         sole output (an updated Start value) of the tz-handling block.
75035         * tests/test-getdate.c: Tests for the fix
75037 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75039         Recognize 'foo_LIBRARIES += libgnu.a'.
75040         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
75041         makefile snippet has already specified an installation location,
75042         also using '+='.
75044 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
75046         getdate.y: factor out common actions
75047         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
75048         Use them in place of open-coded actions.
75050 2008-07-01  Simon Josefsson  <simon@josefsson.org>
75052         Add self-test for getdate module.
75053         * modules/getdate-tests: New file.
75054         * tests/test-getdate.c: New file.
75056 2008-06-29  Bruno Haible  <bruno@clisp.org>
75058         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
75059         .gitignore.
75060         Reported by Sylvain Beucler <beuc@beuc.net>.
75062 2008-06-29  Bruno Haible  <bruno@clisp.org>
75064         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
75065         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
75067 2008-06-29  Bruno Haible  <bruno@clisp.org>
75069         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
75070         EXTRA_DIST.
75071         Reported by Sylvain Beucler <beuc@beuc.net>.
75073 2008-06-26  Jim Meyering  <meyering@redhat.com>
75075         make several modules depend on the "open" module
75076         This provides slightly increased consistency when opening-for-write
75077         the name of a non-directory spelled with a trailing slash.
75078         * modules/chdir-safer: Likewise.
75079         * modules/chown: Likewise.
75080         * modules/clean-temp: Likewise.
75081         * modules/copy-file: Likewise.
75082         * modules/fchdir: Likewise.
75083         * modules/fcntl-safer: Likewise.
75084         * modules/pipe: Likewise.
75085         * modules/utime: Likewise.
75086         Prompted by Eric Blake and Bruno Haible.
75088 2008-06-24  Andreas Schwab  <schwab@suse.de>
75090         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
75091         literals can be used as initializers for global variables.
75093 2008-06-23  Eric Blake  <ebb9@byu.net>
75095         Make gnulib-cache.m4 easier to diff.
75096         * gnulib-tool (func_import): Allow newlines when reading cached
75097         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
75099 2008-06-23  Bruno Haible  <bruno@clisp.org>
75101         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
75102         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
75103         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
75104         m4/signalblocking.m4.
75105         (gl_PREREQ_SIGACTION): Don't invoke it.
75106         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
75107         gl_PREREQ_SIG_HANDLER_H.
75108         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
75109         Don't check for sigaction here.
75111 2008-06-23  Bruno Haible  <bruno@clisp.org>
75113         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
75114         (install_handlers): Don't set the SA_RESETHAND flag.
75116 2008-06-23  Bruno Haible  <bruno@clisp.org>
75118         * m4/sigaction.m4: Comment fixes.
75119         * lib/signal.in.h: Likewise.
75121 2008-06-23  Eric Blake  <ebb9@byu.net>
75123         Fix typo.
75124         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
75126         Avoid SA_ namespace.
75127         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
75128         Reported by Ralf Wildenhues.
75130         Avoid test failure due to SA_RESTORER.
75131         * tests/test-sigaction.c (SA_MASK): New macro.
75132         (main): Avoid failing due to extension flags being set.
75133         Reported by Jim Meyering.
75135         Revert use of sig-handler.h in sigprocmask.c.
75136         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
75137         it requires the existence of struct sigaction.
75138         * lib/sigprocmask.c (handler_t): Restore typedef.
75139         (rpl_signal, old_handlers): Use local type.
75141 2008-06-22  Bruno Haible  <bruno@clisp.org>
75143         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
75144         conditionally.
75145         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
75147 2008-06-22  Bruno Haible  <bruno@clisp.org>
75149         * doc/posix-functions/siginterrupt.texi: Move note.
75151         * lib/signal.in.h (SA_RESTART): New macro.
75152         * lib/sigaction.c: Update comment.
75154         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
75156         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
75157         (gl_PREREQ_SIGPROCMASK): Invoke it.
75158         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
75160         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
75162         * lib/sigprocmask.c: Update a comment.
75164 2008-06-21  Eric Blake  <ebb9@byu.net>
75166         Use sigaction module rather than signal().
75167         * modules/c-stack (Depends-on): Add sigaction.
75168         * modules/fatal-signal (Depends-on): Likewise.
75169         * modules/nanosleep (Depends-on): Likewise.
75170         * modules/sigprocmask (Files): Add sig-handler.h.
75171         * modules/sigaction (Files): Likewise.
75172         * lib/sig-handler.h (get_handler): New file, suggested by Paul
75173         Eggert.
75174         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
75175         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
75176         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
75177         (init_fatal_signals): Likewise.
75178         * lib/nanosleep.c (rpl_nanosleep): Likewise.
75179         (siginterrupt): Delete fallback.
75180         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
75181         instead.
75182         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
75183         siginterrupt.
75185         New module sigaction, for mingw.
75186         * modules/sigaction: New module...
75187         * modules/sigaction-tests: ...and its test.
75188         * m4/sigaction.m4: New file.
75189         * lib/sigaction.c: Likewise.
75190         * tests/test-sigaction.c: Likewise.
75191         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
75192         * modules/signal (Makefile.am): Likewise.
75193         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
75194         needed.
75195         * doc/posix-headers/signal.texi (signal.h): Mention provided
75196         types.
75197         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
75198         that sigaction is preferable.
75199         * doc/posix-functions/sigaction.texi (sigaction): Mention new
75200         module.
75201         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75202         sigaction.
75204         Improve robustness of sigprocmask by overriding signal.
75205         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
75206         is in use.
75207         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
75208         (SIGKILL, SIGSTOP): Provide fallbacks.
75209         (rpl_signal): Implement.
75210         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
75211         signal can be called inside handlers.
75213         Fix nanosleep module on mingw.
75214         * modules/nanosleep (Depends-on): Add sys_select.
75215         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
75217         Fix licensing of sigprocmask.
75218         * modules/raise (License): Relicense as LGPL.
75220 2008-06-21  Bruno Haible  <bruno@clisp.org>
75222         * lib/propername.c (proper_name_utf8): Don't use the transliterated
75223         result if it contains question marks.
75224         Reported by Michael Geng <linux@michaelgeng.de>.
75226 2008-06-19  Bruno Haible  <bruno@clisp.org>
75228         Fix CVS-ism.
75229         * doc/gnulib.texi: Include updated-stamp.texi.
75230         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
75231         (updated-stamp.texi): New rule.
75232         (gnulib.info): Depend on it.
75233         * doc/.gitignore: Add updated-stamp.texi.
75234         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
75236 2008-06-19  Bruno Haible  <bruno@clisp.org>
75238         * doc/Makefile (gnulib.info): Update and simplify dependencies.
75239         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
75241 2008-06-19  Eric Blake  <ebb9@byu.net>
75243         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
75244         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
75245         Reported by Stepan Kasal.
75247 2008-06-18  Bruno Haible  <bruno@clisp.org>
75249         * lib/fatal-signal.c (init_fatal_signals): Add comment.
75250         Reported by Eric Blake.
75252 2008-06-18  Eric Blake  <ebb9@byu.net>
75254         Work around cygwin 1.5.25 strsignal bug.
75255         * tests/test-strsignal.c: Allow for const char *.
75256         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
75258 2008-06-18  Simon Josefsson  <simon@josefsson.org>
75260         * users.txt: Update URL to article and add author/date
75261         information.
75263 2008-06-17  Bruno Haible  <bruno@clisp.org>
75265         New macro gl_DISABLE_THREADS.
75266         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
75267         if the user did not pass --enable-threads or --disable-threads option.
75268         (gl_DISABLE_THREADS): New macro.
75269         Reported by Eric Blake <ebb9@byu.net>.
75271 2008-06-17  Bruno Haible  <bruno@clisp.org>
75273         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
75274         when the macro ignores it.
75275         Based on a patch by Eric Blake <ebb9@byu.net>.
75277 2008-06-17  Bruno Haible  <bruno@clisp.org>
75279         * modules/tls (License): Change to LGPLv2+.
75280         Reported by Eric Blake.
75282 2008-06-17  Eric Blake  <ebb9@byu.net>
75284         Simplify c-stack prerequisites.
75285         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
75286         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
75287         no longer requires <ucontext.h> to exist.  Optimize setrlimit
75288         check.
75289         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
75290         <sys/resource.h>.
75292         Move c-stack test into testsuite.
75293         * modules/c-stack-tests: New file.
75294         * lib/c-stack.c [DEBUG]: Move test program...
75295         * tests/test-c-stack.c: ...into this new file.  Skip rather than
75296         fail test if sigaltstack is lacking.
75297         * tests/test-c-stack.sh: New driver file.
75299 2008-06-16  Eric Blake  <ebb9@byu.net>
75301         Use raise module consistently.
75302         * modules/fatal-signal (Depends-on): Add raise.
75303         * modules/sigprocmask (Depends-on): Likewise.
75304         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
75305         * lib/sigprocmask.c (sigprocmask): Likewise.
75306         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
75307         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
75309         Fix compliance bug in sigpending.
75310         * lib/sigprocmask.c (sigpending): Return pending array via
75311         parameter, not return value.
75313 2008-06-14  Eric Blake  <ebb9@byu.net>
75315         Improve obstack-printf test code.
75316         * tests/test-obstack-printf.c (test_function): Fix comment, and
75317         simplify usage of obstack_* in macros.  Add a test for coverage.
75318         Reported by Bruno Haible.
75320 2008-06-14  Bruno Haible  <bruno@clisp.org>
75322         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
75323         array size as a constant, not as a const variable.
75324         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
75325         AC_USE_SYSTEM_EXTENSIONS.
75326         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
75327         Test whether the obstack_printf function actually exists.
75328         * modules/obstack-printf (Depends-on): Add extensions.
75329         (Include): Remove obstack.h.
75330         * modules/obstack-printf-posix (Depends-on): Add extensions.
75331         (Include): Remove obstack.h.
75333 2008-06-13  Eric Blake  <ebb9@byu.net>
75335         Add obstack-printf and obstack-printf-posix modules.
75336         * modules/obstack-printf: New file.
75337         * modules/obstack-printf-posix: Likewise.
75338         * MODULES.html.sh (Misc): Mention them.
75339         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
75340         Likewise.
75341         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
75342         Likewise.
75343         * modules/stdio (Makefile.am): Accomodate new modules.
75344         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
75345         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
75346         Declare.
75347         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
75348         functions.
75349         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
75350         (gl_REPLACE_OBSTACK_PRINTF): New macros
75351         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
75352         * tests/test-obstack-printf.c: New file.
75353         * modules/obstack-printf-tests: Likewise.
75354         * modules/obstack-printf-posix-tests: Likewise.
75356 2008-06-11  Bruno Haible  <bruno@clisp.org>
75358         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
75359         * lib/open.c: Include errno.h.
75360         (open): Fail when attempting to write to a file that has a trailing
75361         slash.
75362         * tests/test-open.c (main): Test against trailing slash bug.
75363         * doc/posix-functions/open.texi: Mention the trailing slash bug.
75365 2008-06-10  Bruno Haible  <bruno@clisp.org>
75367         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
75368         for $? to work inside the trap command, with various /bin/sh-s.
75369         * tests/test-vc-list-files-cvs.sh: Likewise.
75371 2008-06-10  Bruno Haible  <bruno@clisp.org>
75373         * lib/acl-internal.h: Don't include gettext.h here.
75374         * lib/set-mode-acl.c: Include gettext.h here.
75375         * lib/copy-acl.c: Likewise.
75377 2008-06-10  Bruno Haible  <bruno@clisp.org>
75379         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
75380         * lib/wait-process.c (wait_subprocess): Likewise.
75381         * lib/execute.h (execute): Add termsigp argument.
75382         * lib/execute.c (execute): Likewise.
75383         * lib/csharpcomp.c (compile_csharp_using_pnet,
75384         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
75385         * lib/csharpexec.c (execute_csharp_using_pnet,
75386         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
75387         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
75388         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
75389         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
75390         is_jikes_present): Update.
75391         * lib/javaexec.c (execute_java_class): Update.
75392         * lib/javaversion.c (execute_and_read_line): Update.
75393         * NEWS: Document the changes.
75394         Reported by Eric Blake.
75396 2008-06-10  Eric Blake  <ebb9@byu.net>
75398         Add missing include.
75399         * tests/test-strstr.c (includes): Add <signal.h>.
75400         * tests/test-strcasestr.c (includes): Likewise.
75401         * tests/test-memmem.c (includes): Likewise.
75403 2008-06-10  Bruno Haible  <bruno@clisp.org>
75405         * lib/wait-process.c (wait_subprocess): Add an assertion.
75407 2008-06-10  Bruno Haible  <bruno@clisp.org>
75409         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
75411 2008-06-10  Bruno Haible  <bruno@clisp.org>
75413         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
75414         using alarm().
75415         * tests/test-strcasestr.c (main): Likewise.
75416         * tests/test-strstr.c (main): Likewise.
75418 2008-06-09  Bruno Haible  <bruno@clisp.org>
75420         Work around the Solaris 10 ACE ACLs ABI change.
75421         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
75422         declare if ACL_NO_TRIVIAL is present.
75423         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
75424         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
75425         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
75426         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
75427         define if ACL_NO_TRIVIAL is present.
75428         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
75429         and use the current ABI.
75430         (file_has_acl): Use same #if condition as elsewhere.
75431         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
75432         in use, and use the current ABI.
75433         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
75434         Reported by Jim Meyering.
75436 2008-06-09  Eric Blake  <ebb9@byu.net>
75438         Work around environments that (stupidly) ignore SIGALRM.
75439         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
75440         before using alarm().
75441         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
75442         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
75443         Reported by Ian Beckwith <ianb@erislabs.net>.
75445         Produce autobuild blurb earlier in log.
75446         * modules/autobuild (configure.ac-early): Move AB_INIT here.
75448 2008-06-09  Jim Meyering  <meyering@redhat.com>
75449         and Ondřej Vašík  <ovasik@redhat.com>
75451         utimens.c: correct kernel bug work-around
75452         Ondřej Vašík found that the invalid return value of 280 indicates
75453         failure, not success, and the kernel bug we're trying to work
75454         around affects not just the utimensat call, but also the fallback
75455         futimens call.
75456         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
75457         not success.
75458         [HAVE_FUTIMENS]: Use the same work-around, here.
75460 2008-06-09  Jim Meyering  <meyering@redhat.com>
75462         add more guards around definition of ACE_-related code
75463         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
75464         ALLOW and ACE_OWNER are also defined.
75466 2008-06-08  Bruno Haible  <bruno@clisp.org>
75468         * lib/acl-internal.h: Add me as co-author.
75469         * lib/file-has-acl.c: Likewise.
75470         * lib/set-mode-acl.c: Likewise.
75471         * lib/copy-acl.c: Likewise.
75473 2008-06-08  Bruno Haible  <bruno@clisp.org>
75475         Add support for AIX ACLs.
75476         * lib/acl-internal.h (acl_nontrivial): New declaration.
75477         * lib/file-has-acl.c (acl_nontrivial): New function.
75478         (file_has_acl): Add implementation using AIX 4 ACL API.
75479         * lib/set-mode-acl.c (qset_acl): Likewise.
75480         * lib/copy-acl.c (qcopy_acl): Likewise.
75482 2008-06-08  Bruno Haible  <bruno@clisp.org>
75484         Add support for HP-UX ACLs.
75485         * lib/acl-internal.h (acl_nontrivial): New declaration.
75486         * lib/file-has-acl.c (acl_nontrivial): New function.
75487         (file_has_acl): Add implementation using HP-UX 11 ACL API.
75488         * lib/set-mode-acl.c (qset_acl): Likewise.
75489         * lib/copy-acl.c (qcopy_acl): Likewise.
75491 2008-06-08  Bruno Haible  <bruno@clisp.org>
75493         Add support for Cygwin ACLs.
75494         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
75495         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
75496         the chmod_or_fchmod call.
75497         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
75499 2008-06-08  Bruno Haible  <bruno@clisp.org>
75501         Fix bug with setuid modes in Solaris 10+ code.
75502         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
75503         succeeded, when the mode contains some special bits.
75505 2008-06-08  Bruno Haible  <bruno@clisp.org>
75507         Add support for Solaris 7..10 ACLs.
75508         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
75509         declarations.
75510         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
75511         functions.
75512         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
75513         * lib/set-mode-acl.c (qset_acl): Likewise.
75514         * lib/copy-acl.c (qcopy_acl): Likewise.
75516 2008-06-08  Bruno Haible  <bruno@clisp.org>
75518         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
75519         declaration.
75520         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
75521         (acl_access_nontrivial): Remove MacOS X case.
75522         (file_has_acl): Use acl_extended_nontrivial.
75523         * lib/copy-acl.c (qcopy_acl): Likewise.
75525 2008-06-08  Bruno Haible  <bruno@clisp.org>
75527         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
75529 2008-06-08  Jim Meyering  <meyering@redhat.com>
75531         * modules/acl (Maintainer): Add Bruno Haible.
75533 2008-06-07  Bruno Haible  <bruno@clisp.org>
75535         Improve support for Tru64 ACLs.
75536         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
75537         ACL on OSF/1.
75539 2008-06-07  Bruno Haible  <bruno@clisp.org>
75541         Add support for MacOS X ACLs.
75542         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
75543         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
75544         * lib/set-mode-acl.c (qset_acl): Likewise.
75545         * lib/copy-acl.c (qcopy_acl): Likewise.
75547 2008-06-07  Bruno Haible  <bruno@clisp.org>
75549         Fix memory leak introduced on 2008-05-22.
75550         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
75551         use.
75553 2008-06-07  Bruno Haible  <bruno@clisp.org>
75555         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
75556         to construct an empty ACL.
75558 2008-06-07  Bruno Haible  <bruno@clisp.org>
75560         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
75561         precisely.
75562         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
75564 2008-06-07  Bruno Haible  <bruno@clisp.org>
75566         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
75567         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
75569 2008-06-07  Bruno Haible  <bruno@clisp.org>
75571         * doc/posix-functions/_setjmp.texi: Explain the use of this function
75572         regardless of POSIX.
75573         * doc/posix-functions/_longjmp.texi: Likewise.
75574         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
75575         SystemV platform in this case.
75577 2008-06-06  Eric Blake  <ebb9@byu.net>
75579         Document abort() bugs.
75580         * doc/posix-functions/abort.texi (abort): Mention anomalies.
75582         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
75583         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
75584         sigsetjmp.
75585         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
75586         siglongjmp, but only as a macro.
75587         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
75588         is obsolete.
75589         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
75591         Tweak documentation to cover cygwin argz bugs.
75592         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
75593         argz bug fix; no code change needed since no cygwin releases
75594         occurred between the last fix and the bug being tested.
75595         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
75596         module and recently fixed cygwin bugs.
75597         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
75598         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
75599         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
75600         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
75601         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
75602         Likewise.
75603         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
75604         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
75605         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
75606         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
75607         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
75608         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
75609         Likewise.
75611         Avoid gcc warning on cygwin.
75612         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
75613         !ACL_NO_TRIVIAL]: Avoid unused variable.
75615 2008-06-05  Eric Blake  <ebb9@byu.net>
75617         Be tolerant of UNKNOWN version in gnulib-tool test dir.
75618         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
75619         git-version-gen fails to come up with a version.
75620         Reported by Simon Josefsson.
75622 2008-06-05  Jim Meyering  <meyering@redhat.com>
75623             Paul Eggert  <eggert@cs.ucla.edu>
75625         utimens.c: work around a probable Linux kernel bug
75626         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
75627         appears to be a kernel bug that causes utimensat to return 280
75628         instead of 0, indicating success.
75630 2008-06-04  Bruno Haible  <bruno@clisp.org>
75632         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
75633         2008-06-01 commit.
75635 2008-06-04  Bruno Haible  <bruno@clisp.org>
75637         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
75638         * lib/file-has-acl.c (acl_access_nontrivial): New function.
75639         (file_has_acl): Use it. Save errno afterwards.
75640         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
75642 2008-06-03  Bruno Haible  <bruno@clisp.org>
75644         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
75645         draft code. Simplify #ifs.
75646         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
75647         Put Solaris code after POSIX-draft code. Fix comments regarding
75648         Solaris 10, HP-UX. Mention Cygwin.
75649         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
75651 2008-06-03  Eric Blake  <ebb9@byu.net>
75653         Provide fallback for older kernels.
75654         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
75655         Provide runtime fallback if kernel lacks support.
75656         Reported by Mike Frysinger.
75658 2008-06-02  Bruno Haible  <bruno@clisp.org>
75660         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
75661         it exists.
75663 2008-06-02  Bruno Haible  <bruno@clisp.org>
75665         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
75666         * lib/copy-acl.c (qcopy_acl): Update comment.
75668 2008-06-02  Bruno Haible  <bruno@clisp.org>
75670         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
75671         like ACL APIs.
75673 2008-06-02  Bruno Haible  <bruno@clisp.org>
75675         * tests/test-file-has-acl.sh: Use different code for Cygwin.
75676         * tests/test-set-mode-acl.sh: Likewise.
75677         * tests/test-copy-acl.sh: Likewise.
75678         * tests/test-copy-file.sh: Likewise.
75680 2008-06-02  Bruno Haible  <bruno@clisp.org>
75682         * tests/test-file-has-acl.sh: Remove unused code.
75684 2008-06-01  Bruno Haible  <bruno@clisp.org>
75686         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
75687         (copy_acl): Just a wrapper around qcopy_acl that emits the error
75688         messages.
75689         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
75691 2008-06-01  Bruno Haible  <bruno@clisp.org>
75693         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
75694         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
75695         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
75696         APIs.
75697         * modules/acl-tests (configure.ac): Remove tests now contained in
75698         m4/acl.m4.
75700 2008-06-02  Jim Meyering  <meyering@redhat.com>
75702         announce-gen: use a better key-server host name
75703         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
75704         it may be more consistently reliable.  Suggested by Werner Koch
75705         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
75707 2008-06-01  Bruno Haible  <bruno@clisp.org>
75709         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
75710         Reported by Voroskoi Andras <voroskoi@gmail.com>.
75712 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
75714         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
75716 2008-06-01  Bruno Haible  <bruno@clisp.org>
75718         New ACL tests.
75719         * tests/test-file-has-acl.sh: New file.
75720         * tests/test-file-has-acl.c: New file.
75721         * tests/test-set-mode-acl.sh: New file.
75722         * tests/test-set-mode-acl.c: New file.
75723         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
75724         * tests/test-copy-acl.c: New file.
75725         * modules/acl-tests: New file, based on modules/copy-file-tests.
75726         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
75727         (Depends-on): Add acl-tests.
75728         (configure.ac): Remove checks.
75729         (Makefile.am): Don't create test-sameacls program here any more.
75731 2008-06-01  Bruno Haible  <bruno@clisp.org>
75733         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
75734         * tests/test-sameacls.c: Include progname.h.
75735         (main): Invoke set_program_name. Portability fixes for MacOS X,
75736         Solaris, HP-UX.
75738 2008-06-01  Bruno Haible  <bruno@clisp.org>
75740         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
75741         function.
75742         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
75744 2008-06-01  Bruno Haible  <bruno@clisp.org>
75746         * modules/rpmatch (Depends-on): Add strdup.
75748 2008-06-01  Bruno Haible  <bruno@clisp.org>
75750         * lib/pipe.c: Include unistd-safer.h.
75751         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
75752         * modules/pipe (Depends-on): Add unistd-safer.
75754 2008-05-30  Simon Josefsson  <simon@josefsson.org>
75756         * modules/autobuild (configure.ac): Call AB_INIT.
75758 2008-05-30  Simon Josefsson  <simon@josefsson.org>
75760         * tests/test-getaddrinfo.c: Don't print debug messages by default.
75761         Suggested by Bruno Haible <bruno@clisp.org>.
75763 2008-05-30  Simon Josefsson  <simon@josefsson.org>
75765         * tests/test-base64.c: Cast size_t to unsigned long when invoking
75766         printf.  Use %lu instead of %d.  Reported by Bruno Haible
75767         <bruno@clisp.org>.
75769 2008-05-29  Eric Blake  <ebb9@byu.net>
75771         Prefer new POSIX 200x interfaces over futimesat.
75772         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
75773         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
75774         when available.
75775         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
75777 2008-05-28  Bruno Haible  <bruno@clisp.org>
75779         * modules/stpcpy (License): Change to LGPLv2+.
75780         Requested by David Lutterkort <dlutter@redhat.com>.
75782 2008-05-27  Bruno Haible  <bruno@clisp.org>
75784         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
75785         current mingw.
75786         Reported by Jose E. Marchesi <jemarch@gnu.org>.
75788 2008-05-27  Bruno Haible  <bruno@clisp.org>
75790         * modules/iconv_open (Link): New section, from module 'iconv'.
75791         * modules/striconv (Link): Likewise.
75792         * modules/striconveh (Link): Likewise.
75793         * modules/xstriconv (Link): Likewise.
75794         * modules/unicodeio (Link): Likewise.
75795         * modules/propername (Link): Likewise.
75796         Reported by Jim Meyering.
75798 2008-05-26  Jim Meyering  <meyering@redhat.com>
75800         sha256: do not artificially restrict buffer length to be < 2^32
75801         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
75802         uint32_t to size_t.
75803         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
75804         to match.
75806         avoid unaligned access errors, e.g., on sparc
75807         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
75808         direct access through a possibly-unaligned uint64* pointer.
75809         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
75810         direct access through a possibly-unaligned uint32* pointer.
75811         Prompted by this patch from Tom "spot" Callaway:
75812         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
75814         sha512.c: fix typo in comment
75815         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
75817 2008-05-25  Bruno Haible  <bruno@clisp.org>
75819         * lib/set-mode-acl.c: Renamed from lib/acl.c.
75820         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
75821         (Makefile.am): Update lib_SOURCES.
75823 2008-05-25  Bruno Haible  <bruno@clisp.org>
75825         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
75827 2008-05-25  Jim Meyering  <meyering@redhat.com>
75829         useless-if-before-free: freed expr may have white-space differences
75830         * build-aux/useless-if-before-free: Recognize cases in which the
75831         freed expression differs from the tested one in embedded white
75832         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
75833         $1 was used, so we can't make any regexp shy.  Improved tests now
75834         detect this.
75836         useless-if-before-free: accept white space in the expression.
75837         * build-aux/useless-if-before-free: For now, any white space
75838         in the expression must be identical in the free argument.
75840         useless-if-before-free: efficiency tweak
75841         * build-aux/useless-if-before-free: Make the expression-matching
75842         regexp "shy".
75843         Make the *outer* regexp shy, not the expr-matching one.
75845         update code-in-comment to accept cast of free arg
75846         * build-aux/useless-if-before-free: Update regexp.
75848 2008-05-25  Bruno Haible  <bruno@clisp.org>
75850         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
75851         * modules/copy-file-tests (Files, Makefile.am): Update.
75852         * tests/test-copy-file.c (func_test_copy): Update.
75854 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
75856         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
75858 2008-05-23  Bruno Haible  <bruno@clisp.org>
75860         Improve support for ACLs on OSF/1.
75861         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
75862         Remove fallback for unknown flavors of ACLs.
75864 2008-05-22  Bruno Haible  <bruno@clisp.org>
75866         Add support for ACLs on OSF/1.
75867         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
75868         replacements.
75869         (acl_free_text): New macro fallback.
75870         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
75871         acl_free.
75872         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
75873         acl_free_text function. Require AC_C_INLINE.
75875 2008-05-22  Bruno Haible  <bruno@clisp.org>
75877         Make copy_acl work on MacOS X 10.5.
75878         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
75879         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
75880         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
75881         If MODE_INSIDE_ACL, don't assume that every system has the same text
75882         representation for ACLs as FreeBSD.
75883         * lib/copy-acl.c (copy_acl): Add support for platforms with
75884         !MODE_INSIDE_ACL.
75885         * lib/file-has-acl.c (file_has_acl): Likewise.
75886         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
75887         FreeBSD, MacOS X, or IRIX, respectively.
75889 2008-05-22  Bruno Haible  <bruno@clisp.org>
75891         * lib/acl.h: Don't include <sys/acl.h>.
75892         (GETACLCNT): Move fallback to lib/acl-internal.h.
75893         * lib/acl-internal.h: Include <sys/acl.h> here.
75894         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
75896 2008-05-22  Bruno Haible  <bruno@clisp.org>
75898         Split off copy_acl function to separate file.
75899         * lib/copy-acl.c: New file, extracted from lib/acl.c.
75900         * lib/acl.c (copy_acl): Moved function to separate file.
75901         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
75902         * modules/acl (Files): Add lib/copy-acl.c.
75903         (Makefiles.am): Augment lib_SOURCES.
75905 2008-05-22  Bruno Haible  <bruno@clisp.org>
75907         * modules/copy-file-tests: New file.
75908         * tests/test-copy-file.sh: New file.
75909         * tests/test-copy-file.c: New file.
75910         * tests/test-copy-file-sameacls.c: New file.
75912 2008-05-22  Eric Blake  <ebb9@byu.net>
75914         Avoid gcc warning.
75915         * tests/test-memcmp.c (main): Pass NULL indirectly.
75917 2008-05-21  Bruno Haible  <bruno@clisp.org>
75919         Add reference doc about ACLs.
75920         * doc/acl-resources.txt: New file.
75921         * doc/acl-cygwin.txt: New file.
75923 2008-05-21  Bruno Haible  <bruno@clisp.org>
75925         Avoid one more warning from gcc.
75926         * lib/vasnprintf.c (IF_LINT): Update comments.
75927         (VASNPRINTF): Use it also for the 'prefix' array initializer.
75929 2008-05-21  Jim Meyering  <meyering@redhat.com>
75931         avoid a warning from gcc
75932         * lib/vasnprintf.c (IF_LINT): Define.
75933         (scale10_round_decimal_long_double):
75934         Use it to avoid a "may be used uninitialized" warning.
75935         (scale10_round_decimal_double): Likewise.
75937 2008-05-21  Simon Josefsson  <simon@josefsson.org>
75939         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
75940         declared.
75942 2008-05-20  Bruno Haible  <bruno@clisp.org>
75944         * tests/test-memcmp.c (main): Test also the sign of the result. Test
75945         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
75947 2008-05-20  Simon Josefsson  <simon@josefsson.org>
75949         * modules/memcmp-tests: New file.
75950         * tests/test-memcmp.c: New file.
75952 2008-05-19  Bruno Haible  <bruno@clisp.org>
75954         * modules/propername (Notice, configure.ac): Put quoted "..." into
75955         --keyword option.
75956         * lib/propername.h: Update comments accordingly.
75957         Reported by Eric Blake.
75959 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
75961         * modules/getpass-gnu (Depends-on): Add fseeko.
75963 2008-05-19  Simon Josefsson  <simon@josefsson.org>
75965         * modules/base64-tests: New file.
75967 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
75969         * lib/base64.c (base64_decode_ctx): If a decode context structure
75970         was passed in use it to ignore newlines.  If a context structure
75971         was _not_ passed in, continue to treat newlines as garbage (this
75972         is the historical behavior).  Formerly base64_decode.
75973         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
75974         takes a decode context structure.
75975         * lib/base64.h (base64_decode): Macro for four-argument calls.
75976         (base64_decode_alloc): Likewise.
75977         * lib/base64.c (base64_decode_ctx): If a decode context structure
75978         was passed in use it to ignore newlines.  If a context structure
75979         was _not_ passed in, continue to treat newlines as garbage (this
75980         is the historical behavior).  Formerly base64_decode.
75981         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
75982         takes a decode context structure.
75983         * lib/base64.h (base64_decode): Macro for four-argument calls.
75984         (base64_decode_alloc): Likewise.
75986 2008-05-19  Jim Meyering  <meyering@redhat.com>
75988         avoid a warning from gcc
75989         * lib/trim.c (IF_LINT): Define.
75990         (trim2): Use it to avoid a "may be used uninitialized" warning.
75992         Fix doc typo.
75993         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
75995 2008-05-19  Bruno Haible  <bruno@clisp.org>
75997         * doc/glibc-functions/getpass.texi: Document limits of other
75998         implementations.
76000 2008-05-19  Simon Josefsson  <simon@josefsson.org>
76001             Bruno Haible <bruno@clisp.org>
76003         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
76005 2008-05-18  Bruno Haible  <bruno@clisp.org>
76007         * modules/propername: New file, from GNU gettext.
76008         * lib/propername.h: New file, from GNU gettext.
76009         * lib/propername.c: New file, from GNU gettext.
76010         * MODULES.html.sh (Internationalization functions): Add propername.
76012 2008-05-16  Jim Meyering  <meyering@redhat.com>
76013             Bruno Haible  <bruno@clisp.org>
76015         Avoid some warnings from "gcc -Wshadow".
76016         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
76018 2008-05-15  Eric Blake  <ebb9@byu.net>
76020         Extend previous patch to cygwin 1.7.0.
76021         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
76022         fast implementation in cygwin >= 1.7.0.
76023         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
76024         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
76026 2008-05-15  Bruno Haible  <bruno@clisp.org>
76028         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
76029         implementation in glibc >= 2.9.
76030         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
76031         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
76033 2008-05-15  Bruno Haible  <bruno@clisp.org>
76035         * MODULES.html.sh (Internationalization functions): Remove linebreak.
76036         (Unicode string functions): Add unilbrk/*.
76037         Reported by Karl Berry.
76039 2008-05-15  Eric Blake  <ebb9@byu.net>
76041         Fix violation of <stdbool.h> replacement in regex.
76042         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
76043         * lib/regexec.c (re_search_internal): Likewise.
76044         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
76046 2008-05-15  Jim Meyering  <meyering@redhat.com>
76048         avoid distracting test output when git or cvs is not found
76049         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
76050         * tests/test-vc-list-files-git.sh: Likewise.
76052 2008-05-15  Eric Blake  <ebb9@byu.net>
76054         Glibc finally accepted the memmem speedup code, bugzilla #5514.
76055         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
76056         glibc version.
76057         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
76058         * doc/posix-functions/strstr.texi (strstr): Likewise.
76059         * lib/str-two-way.h (MAX): Sychronize with glibc.
76061 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
76063         * lib/regcomp.c (optimize_utf8): Add a note on why we test
76064         opr.ctx_type.
76065         (calc_first): Initialize constraint field.
76066         (duplicate_node_closure): Use it instead of special casing ANCHORS.
76067         Fix grammar.
76068         (duplicate_node): Merge constraint field for all node types.
76069         (calc_eclosure_iter): Look at constraint field for all node types.
76070         * lib/regex_internal.c (create_cd_newstate): Don't look at
76071         opr.ctx_type.
76073 2008-05-14  Bruno Haible  <bruno@clisp.org>
76075         Help GCC to do better code generation.
76076         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
76077         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
76078         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
76079         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
76080         Declare with attribute 'malloc' if supported.
76082 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
76084         use "echo STR|wc -c" rather than unportable "expr length STR"
76085         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
76086         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
76088 2008-05-14  Jim Meyering  <meyering@redhat.com>
76090         use dd ibs=$n count=1 ... rather than less-portable head -c$n
76091         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
76092         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
76093         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
76094         via Collin Lasse.
76096 2008-05-14  Eric Blake  <ebb9@byu.net>
76098         Avoid quadratic growth in gl_LIBSOURCES.
76099         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
76100         Suggested by Bruno Haible.
76102         Test xmemdup0.
76103         * modules/xmemdup0-tests: New file.
76104         * tests/test-xmemdup0.c: Likewise.
76106 2008-05-13  Eric Blake  <ebb9@byu.net>
76108         Split xmemdup0 into its own module.
76109         * modules/xmemdup0: New file.
76110         * lib/xmemdup0.h: Likewise.
76111         * lib/xmemdup0.c: Likewise.
76112         * MODULES.html.sh (Memory management functions): Add xmemdup0.
76113         * lib/xalloc.h (xmemdup0): Remove.
76114         * lib/xmalloc.c (xmemdup0): Likewise.
76116 2008-05-13  Eric Blake  <ebb9@byu.net>
76117             Bruno Haible  <bruno@clisp.org>
76119         Reduce number of forks required during autoconf.
76120         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
76121         and gl_LIBSOURCES_DIR.
76122         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
76123         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
76124         m4_syscmd per file.
76125         <m4_foreach_w>: Move...
76126         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
76128 2008-05-13  Eric Blake  <ebb9@byu.net>
76130         * gnulib-tool: Fix various comment typos.
76132 2008-05-12  Bruno Haible  <bruno@clisp.org>
76134         Tailor the linebreaking algorithm.
76135         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
76137 2008-05-12  Bruno Haible  <bruno@clisp.org>
76139         Update to Unicode 5.0.0.
76140         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
76141         LBP_JV, LBP_JT. Redistribute values.
76142         (unilbrk_table): Change size.
76143         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
76144         Unicode TR#14 rev. 22.
76145         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
76146         LBP_JV, LBP_JT. Redistribute values.
76147         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
76148         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
76149         Update.
76150         * lib/unilbrk/lbrkprop1.h: Regenerated.
76151         * lib/unilbrk/lbrkprop2.h: Regenerated.
76152         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
76153         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
76154         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
76155         Likewise.
76156         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
76157         Likewise.
76158         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
76159         result.
76160         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
76161         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
76162         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
76163         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
76164         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
76165         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
76167 2008-05-11  Bruno Haible  <bruno@clisp.org>
76169         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
76171 2008-05-11  Bruno Haible  <bruno@clisp.org>
76173         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
76174         * modules/unilbrk/gen-lbrk: New file.
76176 2008-05-11  Bruno Haible  <bruno@clisp.org>
76178         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
76179         * m4/sha512.m4 (gl_SHA512): Likewise.
76181 2008-05-11  Jim Meyering  <meyering@redhat.com>
76183         New modules: crypto/sha256, crypto/sha512 (from coreutils)
76184         * modules/crypto/sha256: New file.
76185         * modules/crypto/sha512: Likewise.
76186         * lib/sha256.c: Likewise.
76187         * lib/sha256.h: Likewise.
76188         * lib/sha512.c: Likewise.
76189         * lib/sha512.h: Likewise.
76190         * lib/u64.h: Likewise.
76191         * m4/sha256.m4: Likewise.
76192         * m4/sha512.m4: Likewise.
76193         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
76195 2008-05-10  Bruno Haible  <bruno@clisp.org>
76197         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
76198         (Input/Output <stdio.h>): Add xprintf.
76199         (Signal handling <signal.h>): Add strsignal.
76200         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
76201         (Core language properties): Add func.
76202         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
76203         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
76204         strings.
76205         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
76206         (Input/output): New section.
76207         (File system functions): Add openat-die, stat-macros.
76208         (Networking functions): Add sockets.
76209         (Unicode string functions): Add unictype/*.
76210         (Support for building libraries and executables): Add gperf.
76211         (Support for building documentation): Add agpl-3.0.
76212         (Misc): Add nocrash.
76214 2008-05-10  Bruno Haible  <bruno@clisp.org>
76216         * modules/unictype/gen-ctype: New file.
76218 2008-05-10  Jim Meyering  <meyering@redhat.com>
76220         Make chdir-safer.c more efficient on a system with no symlinks.
76221         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
76222         also if ELOOP is zero.  Suggested by Bruno Haible.
76224         Make chdir-safer.c slightly safer.
76225         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
76226         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
76228         Avoid compile failure on systems without ELOOP (like mingw).
76229         * lib/chdir-safer.c (ELOOP): Define if not already defined.
76230         Reported by Bruno Haible.
76232 2008-05-10  Bruno Haible  <bruno@clisp.org>
76234         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
76235         (is_utf8_encoding): Use a case-insensitive comparison.
76236         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
76237         streq.
76239 2008-05-10  Bruno Haible  <bruno@clisp.org>
76241         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
76242         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
76243         * lib/unilbrk/ulc-common.h (iconv_string_length,
76244         iconv_string_keeping_offsets): Remove declarations.
76245         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
76246         Don't include <iconv.h>, streq.h, xsize.h.
76247         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
76248         conversion.
76249         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
76250         <iconv.h>, streq.h, xsize.h.
76251         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
76252         conversion.
76253         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
76254         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
76255         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
76256         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
76258 2008-05-10  Bruno Haible  <bruno@clisp.org>
76260         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
76261         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
76263         * modules/unilbrk/u32-width-linebreaks-tests: New file.
76264         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
76266         * modules/unilbrk/u16-width-linebreaks-tests: New file.
76267         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
76269         * modules/unilbrk/u8-width-linebreaks-tests: New file.
76270         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
76272         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
76273         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
76275         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
76276         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
76278         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
76279         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
76281         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
76282         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
76284 2008-05-10  Bruno Haible  <bruno@clisp.org>
76286         Split up 'linebreak' module.
76287         * lib/unilbrk.h: New file, based on lib/linebreak.h.
76288         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
76289         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
76290         modifications.
76291         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
76292         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
76293         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
76294         lib/linebreak.c.
76295         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
76296         lib/linebreak.c.
76297         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
76298         lib/linebreak.c.
76299         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
76300         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
76301         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
76302         lib/linebreak.c.
76303         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
76304         lib/linebreak.c.
76305         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
76306         lib/linebreak.c.
76307         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
76308         lib/linebreak.c.
76309         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
76310         lib/linebreak.c.
76311         * modules/unilbrk/base: New file.
76312         * modules/unilbrk/tables: New file.
76313         * modules/unilbrk/u8-possible-linebreaks: New file.
76314         * modules/unilbrk/u16-possible-linebreaks: New file.
76315         * modules/unilbrk/u32-possible-linebreaks: New file.
76316         * modules/unilbrk/ulc-common: New file.
76317         * modules/unilbrk/ulc-possible-linebreaks: New file.
76318         * modules/unilbrk/u8-width-linebreaks: New file.
76319         * modules/unilbrk/u16-width-linebreaks: New file.
76320         * modules/unilbrk/u32-width-linebreaks: New file.
76321         * modules/unilbrk/ulc-width-linebreaks: New file.
76322         * lib/linebreak.h: Remove file.
76323         * lib/linebreak.c: Remove file.
76324         * m4/linebreak.m4: Remove file.
76325         * modules/linebreak: Remove file.
76326         * NEWS: Mention the changes.
76328 2008-05-09  Eric Blake  <ebb9@byu.net>
76330         Add xmemdup0.
76331         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
76332         implementation.
76333         * lib/xmalloc.c (xmemdup0): New C implementation.
76335 2008-05-08  Bruno Haible  <bruno@clisp.org>
76337         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
76339 2008-05-07  Eric Blake  <ebb9@byu.net>
76341         Support cross-compilation of <wctype.h>.
76342         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
76343         AC_CACHE_CHECK.
76345 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
76347         * build-aux/vc-list-files: Add support for bzr.
76349 2008-05-03  Jim Meyering  <meyering@redhat.com>
76351         avoid failed assertion with tight malloc
76352         * tests/test-getndelim2.c: Correct an off-by-one assertion.
76354 2008-05-03  Simon Josefsson  <simon@josefsson.org>
76356         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
76357         are needed from arpa/inet.h.
76358         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
76359         Reported by Bruno Haible.
76361 2008-05-02  Jim Meyering  <meyering@redhat.com>
76363         avoid compilation error on FreeBSD 6
76364         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
76366 2008-05-01  Jim Meyering  <meyering@redhat.com>
76368         useless-if-before-free: correct --help's exit status description
76369         * build-aux/useless-if-before-free (usage): Like grep, exit 0
76370         for one or more matches, etc.  Reported by Bruno Haible.
76372         vc-list-files: make the stand-alone gnulib test work
76373         * modules/vc-list-files-tests (configure.ac):
76374         Define and AC_SUBST abs_aux_dir.
76375         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
76376         $(abs_top_srcdir) to each script and having each of them
76377         duplicate the work of setting PATH, set PATH here, using
76378         the new variable, abs_aux_dir instead.
76379         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
76380         * tests/test-vc-list-files-git.sh: Likewise.
76381         Reported by Bruno Haible.
76383 2008-05-01  Bruno Haible  <bruno@clisp.org>
76385         * lib/getndelim2.c (getndelim2): Fix newsize computation during
76386         reallocation. Rename 'done' to 'found_delimiter'.
76388 2008-05-01  Jim Meyering  <meyering@redhat.com>
76390         vc-list-files: accommodate /bin/sh like the one from Solaris 10
76391         * build-aux/vc-list-files: Use `...`, not $(...).
76393 2008-04-30  Jim Meyering  <meyering@redhat.com>
76395         add tests for vc-list-files
76396         * modules/vc-list-files-tests: New module.
76397         * tests/test-vc-list-files-cvs.sh: New file.
76398         * tests/test-vc-list-files-git.sh: New file.
76400         avoid a warning from gcc
76401         * lib/getndelim2.c (IF_LINT): Define.
76402         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
76404         vc-list-files: work properly with build-aux/cvsu, too
76405         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
76406         to all cvs-based clauses.
76408         vc-list-files: work properly in the CVS+awk case, too
76409         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
76411         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
76412         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
76413         take more than one file argument, so .  Add quotes, just in case $dir
76414         ever contains a shell meta-character.  Prompted by Soren Hansen in
76415         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
76417 2008-04-29  Eric Blake  <ebb9@byu.net>
76419         Optimize getndelim2 to use block operations when possible.
76420         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
76421         freadseek, and memchr2.
76422         * lib/getndelim2.c (getndelim2): Use them for block reads.
76424 2008-04-29  Bruno Haible  <bruno@clisp.org>
76426         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
76427         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
76428         * modules/inet_ntop (Depends-on): Add extensions.
76429         * modules/inet_pton (Depends-on): Likewise.
76430         Reported by Simon Josefsson.
76432 2008-04-29  Jim Meyering  <meyering@redhat.com>
76434         When the is more than one match in a block, match all of them.
76435         * build-aux/useless-if-before-free: Iterate through each block
76436         until there are no more matches.
76438         Fix broken useless-if-before-free script.
76439         * build-aux/useless-if-before-free: Fix typo: missing "?" after
76440         the expression to match cast of argument to free-like function.
76442 2008-04-29  Eric Blake  <ebb9@byu.net>
76444         Use new header.
76445         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
76447 2008-04-29  Jim Meyering  <meyering@redhat.com>
76449         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
76450         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
76451         by gnulib to exist and to declare e.g., inet_ntop.
76452         Don't include "inet_ntop.h", now removed.
76454         * m4/arpa_inet_h.m4: Remove trailing blanks.
76456 2008-04-29  Eric Blake  <ebb9@byu.net>
76458         Silence valgrind on safe reads beyond potential array bounds.
76459         * lib/rawmemchr.valgrind: New file.
76460         * lib/strchrnul.valgrind: Likewise.
76461         * modules/rawmemchr (Files): Distribute new file.
76462         * modules/strchrnul (Files): Likewise.
76463         Suggested by Bruno Haible.
76465 2008-04-29  Bruno Haible  <bruno@clisp.org>
76467         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
76468         (inet_ntop, inet_pton): Change portability warning's wording.
76469         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
76470         Invoke gl_CHECK_NEXT_HEADERS.
76471         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
76472         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
76473         set ARPA_INET_H.
76474         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
76475         * modules/arpa_inet (Description): No longer only for systems that
76476         lack it.
76477         (Depends-on): Add include_next.
76478         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
76479         HAVE_ARPA_INET_H.
76481 2008-04-29  Jim Meyering  <meyering@redhat.com>
76483         * modules/mkdir (License): Re-license as LGPLv2+.
76485 2008-04-29  Bruno Haible  <bruno@clisp.org>
76487         * modules/rawmemchr (Maintainer): Set to Eric.
76488         * modules/strchrnul (Maintainer): Likewise.
76490 2008-04-29  Simon Josefsson  <simon@josefsson.org>
76492         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
76493         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
76495         * modules/arpa_inet (arpa/inet.h): Use them.
76497 2008-04-28  Eric Blake  <ebb9@byu.net>
76499         Test getndelim2.
76500         * modules/getndelim2-tests: New file.
76501         * tests/test-getndelim2.c: Likewise.
76502         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
76503         stream.
76504         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
76506         * MODULES.html.sh: Document new module.
76508 2008-04-20  Bruno Haible  <bruno@clisp.org>
76510         * lib/c-stack.c (die): Use raise.
76511         * modules/c-stack (Depends-on): Add raise.
76513 2008-04-28  Bruno Haible  <bruno@clisp.org>
76515         Expect rpmatch to be declared.
76516         * lib/yesno.c (rpmatch): Remove declaration.
76518         Declare rpmatch.
76519         * lib/stdlib.in.h (rpmatch): New declaration.
76520         * lib/rpmatch.c: Include <stdlib.h> first.
76521         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
76522         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
76523         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
76524         HAVE_RPMATCH.
76525         * modules/rpmatch (Depends-on): Add stdlib, extensions.
76526         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
76527         (Include): Set to <stdlib.h>.
76528         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
76529         HAVE_RPMATCH.
76530         * NEWS: Document the change.
76532 2008-04-28  Bruno Haible  <bruno@clisp.org>
76534         Change rpmatch to use nl_langinfo when appropriate.
76535         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
76536         (N_): New macro.
76537         (localized_pattern): New function/macro.
76538         (try): Remove match, nomatch arguments. Copy the pattern into safe
76539         memory before caching it.
76540         (rpmatch): Use localized_pattern. Add translator comments.
76541         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
76542         Suggested by Eric Blake.
76543         * modules/rpmatch (Depends-on): Add stdbool.
76545 2008-04-28  Eric Blake  <ebb9@byu.net>
76547         Add rawmemchr module, matching glibc.
76548         * modules/string (Makefile.am): New indicator.
76549         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
76550         * lib/string.in.h (rawmemchr): Declare when appropriate.
76551         * modules/rawmemchr: New file.
76552         * m4/rawmemchr.m4: Likewise.
76553         * lib/rawmemchr.c: Likewise.
76554         * modules/rawmemchr-tests: Likewise.
76555         * tests/test-rawmemchr.c: Likewise.
76556         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
76557         module.
76558         * modules/strchrnul (Depends-on): Add rawmemchr.
76559         * lib/strchrnul.c (strchrnul): Optimize a corner case.
76561         Whitespace cleanup.
76562         * tests/test-strchrnul.c: Reindent.
76563         * lib/strchrnul.c: Likewise.
76565         Optimize and test strchrnul.
76566         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
76567         * modules/strchrnul-tests: New file.
76568         * tests/test-strchrnul.c: Likewise.
76570         Remove intprops dependency.
76571         * modules/memchr (Depends-on): Remove intprops.
76572         * modules/memrchr (Depends-on): Likewise.
76573         * modules/memchr2 (Depends-on): Likewise.
76574         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
76575         * lib/memrchr.c (__memrchr): Likewise.
76576         * lib/memrchr2.c (memchr2): Likewise.
76577         Reported by Simon Josefsson.
76579 2008-04-28  Simon Josefsson  <simon@josefsson.org>
76581         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
76582         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76584 2008-04-28  Simon Josefsson  <simon@josefsson.org>
76586         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
76588         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
76590         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
76592         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
76593         declarations.
76594         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
76596         * m4/inet_pton.m4: Don't check for header files.
76598         * m4/inet_ntop.m4: Don't check for header files.
76600 2008-04-28  Simon Josefsson  <simon@josefsson.org>
76602         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
76603         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
76604         trigger for cygwin).
76605         Reported by Bruno Haible  <bruno@clisp.org>.
76607 2008-04-28  Bruno Haible  <bruno@clisp.org>
76609         * doc/posix-functions/strdup.texi: Mention mingw problem.
76611 2008-04-27  Bruno Haible  <bruno@clisp.org>
76613         * modules/stat-time-tests (Depends-on): Add sleep.
76614         * tests/test-stat-time.c (force_unlink): New function.
76615         (cleanup): Use it.
76616         (test_mtime): Remove the ctime related tests.
76617         (test_ctime): New function, containing the ctime related tests.
76618         (main): Call test_ctime, except on native Windows platforms.
76620 2008-04-27  Bruno Haible  <bruno@clisp.org>
76622         * lib/rpmatch.c (rpmatch): Add some comments.
76623         Reported by James Youngman <jay@gnu.org>.
76625 2008-04-27  Bruno Haible  <bruno@clisp.org>
76627         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
76628         quiet NaNs.
76630 2008-04-27  Bruno Haible  <bruno@clisp.org>
76632         Make test-yesno.sh work on mingw.
76633         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
76634         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
76635         (main): Set stdin to binary mode.
76636         * modules/yesno-tests (Depends-on): Add binary-io.
76638 2008-04-27  Bruno Haible  <bruno@clisp.org>
76640         Fix 'isfinite' on x86, x86_64, ia64 platforms.
76641         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
76642         argument that lie outside the IEEE 854 domain.
76643         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
76644         (gl_ISFINITE): Use it.
76645         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
76647 2008-04-27  Bruno Haible  <bruno@clisp.org>
76649         Allow local renaming in config.h.
76650         * lib/memrchr.c (memrchr): Don't undefine outside libc.
76652 2008-04-27  Bruno Haible  <bruno@clisp.org>
76654         * lib/memchr.c (__memchr): Change type of 'i'.
76655         * lib/memchr2.c (memchr2): Likewise.
76657 2008-04-26  Eric Blake  <ebb9@byu.net>
76658         and Bruno Haible  <bruno@clisp.org>
76660         Optimize and test memrchr.
76661         * modules/memrchr (Depends-on): Add intprops.
76662         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
76663         * modules/memrchr-tests: New file.
76664         * tests/test-memrchr.c: New file.
76666 2008-04-26  Bruno Haible  <bruno@clisp.org>
76668         Add tentative support for DragonFly BSD.
76669         * lib/stdio-impl.h: Add macros for DragonFly BSD.
76670         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
76671         fp.
76672         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
76673         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
76674         * lib/fpurge.c (fpurge): Likewise.
76675         * lib/freadable.c (freaadable): Likewise.
76676         * lib/freadahead.c (freadahead): Likewise.
76677         * lib/freading.c (freading): Likewise.
76678         * lib/freadptr.c (freadptr): Likewise.
76679         * lib/freadseek.c (freadptrinc): Likewise.
76680         * lib/fseeko.c (fseeko): Likewise.
76681         * lib/fseterr.c (fseterr): Likewise.
76682         * lib/fwritable.c (fwritable): Likewise.
76683         * lib/fwriting.c (fwriting): Likewise.
76685 2008-04-26  Bruno Haible  <bruno@clisp.org>
76687         * lib/stdio-impl.h: New file.
76688         * lib/fbufmode.c: Include stdio-impl.h.
76689         (fbufmode): Use fp_, remove redundant #defines.
76690         * lib/fflush.c: Include stdio-impl.h.
76691         (clear_ungetc_buffer): Remove redundant #defines.
76692         * lib/fpurge.c: Include stdio-impl.h.
76693         (fpurge): Remove redundant #defines.
76694         * lib/freadable.c: Include stdio-impl.h.
76695         (freadable): Remove redundant #defines.
76696         * lib/freadahead.c: Include stdio-impl.h.
76697         (freadahead): Remove redundant #defines.
76698         * lib/freading.c: Include stdio-impl.h.
76699         (freading): Remove redundant #defines.
76700         * lib/freadptr.c: Include stdio-impl.h.
76701         (freadptr): Remove redundant #defines.
76702         * lib/freadseek.c: Include stdio-impl.h.
76703         (freadptrinc): Remove redundant #defines.
76704         * lib/fseeko.c: Include stdio-impl.h.
76705         (rpl_fseeko): Remove redundant #defines.
76706         * lib/fseterr.c: Include stdio-impl.h.
76707         (fseterr): Remove redundant #defines.
76708         * lib/fwritable.c: Include stdio-impl.h.
76709         (fwritable: Remove redundant #defines.
76710         * lib/fwriting.c: Include stdio-impl.h.
76711         (fwriting): Remove redundant #defines.
76712         * modules/fbufmode (Files): Add lib/stdio-impl.h.
76713         * modules/fflush (Files): Likewise.
76714         * modules/fpurge (Files): Likewise.
76715         * modules/freadable (Files): Likewise.
76716         * modules/freadahead (Files): Likewise.
76717         * modules/freading (Files): Likewise.
76718         * modules/freadptr (Files): Likewise.
76719         * modules/freadseek (Files): Likewise.
76720         * modules/fseeko (Files): Likewise.
76721         * modules/fseterr (Files): Likewise.
76722         * modules/fwritable (Files): Likewise.
76723         * modules/fwriting (Files): Likewise.
76725 2008-04-26  Bruno Haible  <bruno@clisp.org>
76727         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
76728         restore_seek_optimization, update_fpos_cache): New functions, extracted
76729         from rpl_fflush.
76730         (rpl_fflush): Use them.
76731         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
76732         (gl_REPLACE_FFLUSH): Use it.
76734 2008-04-26  Bruno Haible  <bruno@clisp.org>
76736         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
76737         on Solaris.
76738         * tests/test-xstrtoimax.sh: Likewise.
76739         * tests/test-xstrtoumax.sh: Likewise.
76740         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76742 2008-04-26  Bruno Haible  <bruno@clisp.org>
76744         * modules/memchr-tests: New file.
76745         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
76747 2008-04-26  Eric Blake  <ebb9@byu.net>
76748             Bruno Haible  <bruno@clisp.org>
76750         * lib/memchr.c: Include intprops.h.
76751         (__memchr): Optimize parallel detection of matching bytes. Rename local
76752         variables. Add explanatory comments.
76754 2008-04-26  Bruno Haible  <bruno@clisp.org>
76756         Fix module 'memchr', broken since 2000-10-28.
76757         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
76759 2008-04-26  Bruno Haible  <bruno@clisp.org>
76761         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
76762         comments.
76764 2008-04-25  Eric Blake  <ebb9@byu.net>
76766         Use native fstatat on cygwin 1.7.0.
76767         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
76768         first.
76770 2008-04-23  Eric Blake  <ebb9@byu.net>
76772         Improve memchr2 performance.
76773         * lib/memchr2.c (memchr2): Further optimize parallel detection of
76774         NUL bytes.
76775         * modules/memchr2 (Depends-on): Use intprops.h.
76777 2008-04-23  Simon Josefsson  <simon@josefsson.org>
76779         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
76780         an inline function instead of a CPP macro.  Patch by Ben Pfaff
76781         <blp@cs.stanford.edu>.
76783 2008-04-23  Simon Josefsson  <simon@josefsson.org>
76785         * lib/arpa_inet.in.h: New file.
76787         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
76788         (Makefile.am): Sed in substitute header file.
76790         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
76791         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
76793         * modules/inet_ntop (configure.ac): Use
76794         gl_ARPA_INET_MODULE_INDICATOR.
76796         * modules/inet_pton (configure.ac): Use
76797         gl_ARPA_INET_MODULE_INDICATOR.
76799 2008-04-22  Jim Meyering  <meyering@redhat.com>
76801         * modules/verify (License): Re-license as LGPLv2+.
76803 2008-04-22  Simon Josefsson  <simon@josefsson.org>
76805         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
76806         parameter to void* as per POSIX standard (MinGW uses char*).
76808 2008-04-21  Bruno Haible  <bruno@clisp.org>
76810         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
76811         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
76812         Define to replacements if REPLACE_ISWCNTRL is 1.
76813         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
76814         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
76815         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
76816         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
76817         what it fixes.
76818         * doc/posix-functions/iswalpha.texi: Likewise.
76819         * doc/posix-functions/iswblank.texi: Likewise.
76820         * doc/posix-functions/iswcntrl.texi: Likewise.
76821         * doc/posix-functions/iswdigit.texi: Likewise.
76822         * doc/posix-functions/iswgraph.texi: Likewise.
76823         * doc/posix-functions/iswlower.texi: Likewise.
76824         * doc/posix-functions/iswprint.texi: Likewise.
76825         * doc/posix-functions/iswpunct.texi: Likewise.
76826         * doc/posix-functions/iswspace.texi: Likewise.
76827         * doc/posix-functions/iswupper.texi: Likewise.
76828         * doc/posix-functions/iswxdigit.texi: Likewise.
76829         Reported by Alain Guibert.
76831 2008-04-21  Bruno Haible  <bruno@clisp.org>
76833         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
76834         Patch by Alain Guibert.
76836 2008-04-21  Bruno Haible  <bruno@clisp.org>
76838         Fix test failures on mingw.
76839         * tests/test-xstrtol.c (print_no_progname): New function.
76840         (main): Install it in error_print_progname hook.
76841         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
76842         * tests/test-xstrtoimax.sh: Likewise.
76843         * tests/test-xstrtoumax.sh: Likewise.
76845 2008-04-21  Bruno Haible  <bruno@clisp.org>
76847         Fix test failure on mingw.
76848         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
76850 2008-04-21  Bruno Haible  <bruno@clisp.org>
76852         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
76853         Actually assign a value.
76855 2008-04-20  Bruno Haible  <bruno@clisp.org>
76857         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
76858         take 2.
76859         * lib/canonicalize.c (canonicalize_file_name): Elide if the
76860         'canonicalize-lgpl' module is also used.
76861         * lib/canonicalize-lgpl.c: Undo last change.
76862         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
76864 2008-04-20  Bruno Haible  <bruno@clisp.org>
76866         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
76867         config.h. Provide _mkdir based fallback for mingw.
76868         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
76869         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
76870         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
76871         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
76872         rather than defining mkdir in config.h.
76873         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
76874         (gl_SYS_STAT_H_DEFAULTS): New macro.
76875         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
76876         HAVE_IO_H any more.
76877         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
76878         HAVE_DECL_MKDIR and HAVE_IO_H.
76880 2008-04-20  Bruno Haible  <bruno@clisp.org>
76882         * lib/isapipe.c: Port to native Windows platforms.
76884 2008-04-20  Bruno Haible  <bruno@clisp.org>
76886         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
76888 2008-04-21  Eric Blake  <ebb9@byu.net>
76890         Work around preprocessors that don't handle UINTMAX_MAX.
76891         * lib/memchr2.c (memchr2): Avoid embedded #if.
76892         Reported by Alain Guibert, fix suggested by Bruno Haible.
76894 2008-04-21  Simon Josefsson  <simon@josefsson.org>
76896         * doc/posix-functions/strftime.texi (strftime): Explain better
76897         Windows incompatibility.  Suggested by Micah Cowan
76898         <micah@cowan.name>.
76900 2008-04-20  Bruno Haible  <bruno@clisp.org>
76902         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
76903         unistr/u8-mblen.
76905 2008-04-20  Bruno Haible  <bruno@clisp.org>
76907         Fix test failure on platforms with non-GNU iconv.
76908         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
76909         (U_TO_U8): Use it, rather than u16_to_u8.
76910         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
76911         units at the end of the input string.
76912         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
76914 2008-04-20  Bruno Haible  <bruno@clisp.org>
76916         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
76917         when the resulting length is 0.
76918         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
76920 2008-04-20  Bruno Haible  <bruno@clisp.org>
76922         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
76923         works.
76924         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
76926 2008-04-20  Bruno Haible  <bruno@clisp.org>
76928         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
76929         * modules/tsearch-tests (configure.ac): Test for initstate function.
76931 2008-04-20  Bruno Haible  <bruno@clisp.org>
76933         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
76934         for nlink_t if missing.
76935         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
76937 2008-04-19  Bruno Haible  <bruno@clisp.org>
76939         Work around snprintf bug on Linux libc5.
76940         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
76941         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
76942         gl_SNPRINTF_SIZE1.
76943         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
76944         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
76945         that test failed.
76946         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
76947         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
76948         * modules/snprintf (Files): Add m4/printf.m4.
76949         * modules/vsnprintf (Files): Likewise.
76950         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
76951         * doc/posix-functions/vsnprintf.texi: Likewise.
76953 2008-04-19  Bruno Haible  <bruno@clisp.org>
76955         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
76956         from 0.0058 to less than 10^-7.
76958 2008-04-19  Bruno Haible  <bruno@clisp.org>
76960         Fix rounding when a precision is given.
76961         * lib/vasnprintf.c (is_borderline): New function.
76962         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
76963         9...9x.
76964         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
76965         %e, %g.
76966         * tests/test-vasprintf-posix.c (test_function): Likewise.
76967         * tests/test-snprintf-posix.h (test_function): Likewise.
76968         * tests/test-sprintf-posix.h (test_function): Likewise.
76969         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
76970         * tests/test-printf-posix.h (test_function): Likewise.
76971         * tests/test-printf-posix.output: Update.
76972         Reported by John Darrington <john@darrington.wattle.id.au> via
76973         Ben Pfaff <blp@cs.stanford.edu>.
76975 2008-04-18  Simon Josefsson  <simon@josefsson.org>
76977         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
76978         Suggested by Bruno Haible <bruno@clisp.org>.
76980 2008-04-17  Bruno Haible  <bruno@clisp.org>
76982         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
76983         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
76984         implementation.
76985         Patch by Bruce Merry <bmerry@gmail.com>.
76987 2008-04-17  Simon Josefsson  <simon@josefsson.org>
76989         * doc/posix-functions/strftime.texi (strftime): Mention that %e
76990         doesn't work under Windows.
76992 2008-04-16  Bruno Haible  <bruno@clisp.org>
76994         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
76995         New macros.
76996         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
76997         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
76998         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
76999         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
77000         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
77001         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
77002         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
77003         macros.
77004         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
77005         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
77006         Northern Sotho, Uighur.
77008 2008-04-16  Bruno Haible  <bruno@clisp.org>
77010         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
77011         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
77012         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
77013         Reported by Daniel Bergström <daniel@octocode.com>.
77015 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
77016             Bruno Haible  <bruno@clisp.org>
77018         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
77019         function.
77020         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
77021         New functions, mostly extracted from gl_locale_name_default.
77022         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
77024 2008-04-16  Eric Blake  <ebb9@byu.net>
77026         Adjust strtod detection to catch glibc 2.7 bug.
77027         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
77028         Reported by John Gatewood Ham.
77030 2008-04-16  Bruno Haible  <bruno@clisp.org>
77032         Add tentative support for Linux libc5.
77033         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
77034         * lib/fpurge.c (fpurge): Likewise.
77035         * lib/freadable.c (freadable): Likewise.
77036         * lib/freadahead.c (freadahead): Likewise.
77037         * lib/freading.c (freading): Likewise.
77038         * lib/freadptr.c (freadptr): Likewise.
77039         * lib/freadseek.c (freadptrinc): Likewise.
77040         * lib/fseeko.c (rpl_fseeko): Likewise.
77041         * lib/fseterr.c (fseterr): Likewise.
77042         * lib/fwritable.c (fwritable): Likewise.
77043         * lib/fwriting.c (fwriting): Likewise.
77044         Reported by Alain Guibert <alguibert+bts@free.fr>.
77046 2008-04-15  Bruno Haible  <bruno@clisp.org>
77048         * modules/mathl (configure.ac): Define module indicator.
77050 2008-04-15  Bruno Haible  <bruno@clisp.org>
77052         * lib/logl.c (logl): Remove unused variables.
77054 2008-04-15  Bruno Haible  <bruno@clisp.org>
77056         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
77057         fails.
77059 2008-04-15  Bruno Haible  <bruno@clisp.org>
77061         * lib/trim.c (trim2): Fix argument of isspace() macro.
77063 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
77065         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
77066         to 0.
77067         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
77069 2008-04-14  Bruno Haible  <bruno@clisp.org>
77071         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
77072         AC_LANG_PROGRAM argument.
77073         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
77074         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
77075         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
77076         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
77077         * m4/math_h.m4 (gl_MATH_H): Likewise.
77078         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
77079         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
77080         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
77081         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
77082         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
77083         * m4/regex.m4 (gl_REGEX): Likewise.
77084         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
77085         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
77086         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77087         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
77088         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
77089         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77090         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
77091         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
77093 2008-04-14  Jim Meyering  <meyering@redhat.com>
77095         test-strtod: fix typos: s/abs/fabs/
77096         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
77098 2008-04-13  Bruno Haible  <bruno@clisp.org>
77100         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
77101         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
77102         module is also used and while not building the reloc-wrapper.
77104 2008-04-13  Bruno Haible  <bruno@clisp.org>
77106         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
77108 2008-04-13  Bruno Haible  <bruno@clisp.org>
77110         Fix AIX compilation failure introduced on 2008-04-02.
77111         * tests/test-frexp.c (exp): Undefine before redefining.
77112         * tests/test-frexpl.c (exp): Likewise.
77114 2008-04-13  Bruno Haible  <bruno@clisp.org>
77116         Work around a HP-UX stdio bug.
77117         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
77118         * tests/test-ftello.c (main): Likewise.
77119         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
77120         * doc/posix-functions/ftello.texi: Likewise.
77122 2008-04-13  Bruno Haible  <bruno@clisp.org>
77124         Make test-signbit pass on HP-UX/hppa.
77125         * tests/test-signbit.c (minus_zerol): New variable.
77126         (test_signbitl): Use it.
77128 2008-04-13  Bruno Haible  <bruno@clisp.org>
77130         Make truncl work on OSF/1 4.0.
77131         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
77132         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
77133         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
77134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
77135         HAVE_DECL_TRUNCL.
77136         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
77137         HAVE_DECL_TRUNCL.
77138         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
77140 2008-04-13  Bruno Haible  <bruno@clisp.org>
77142         * lib/unictype.h: Remove trailing comma from enumeration definitions.
77144 2008-04-13  Bruno Haible  <bruno@clisp.org>
77146         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
77147         expression, so as to avoid HP-UX 11 cc compiler bug.
77149 2008-04-13  Bruno Haible  <bruno@clisp.org>
77151         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
77153 2008-04-13  Bruno Haible  <bruno@clisp.org>
77155         * lib/git-merge-changelog.c: Remove empty declaration outside of
77156         functions.
77158 2008-04-13  Bruno Haible  <bruno@clisp.org>
77160         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
77162 2008-04-13  Bruno Haible  <bruno@clisp.org>
77164         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
77165         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
77166         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
77167         also if it exists but lacks definitions of the SHUT_* macros.
77168         * modules/sys_socket (Description): Update.
77169         Reported by Elbert Pol <e.pol@chello.nl>.
77171 2008-04-13  Bruno Haible  <bruno@clisp.org>
77173         * lib/localcharset.c (OS2): Don't redefine if already defined.
77174         Reported by Elbert Pol <e.pol@chello.nl>.
77176 2008-04-13  Bruno Haible  <bruno@clisp.org>
77178         * lib/binary-io.h [__EMX__]: Include <io.h>.
77179         Reported by Elbert Pol <e.pol@chello.nl>.
77181 2008-04-12  Bruno Haible  <bruno@clisp.org>
77183         * lib/fpucw.h: Enable the definitions also for x86_64.
77184         Needed for NetBSD/x86_64.
77185         Reported by Thomas Klausner <tk@giga.or.at>.
77187 2008-04-12  Bruno Haible  <bruno@clisp.org>
77189         * tests/test-strtod.c: Include isnand.h.
77190         (main): Use isnand instead of isnan.
77191         Reported by Jim Meyering.
77193 2008-04-12  Bruno Haible  <bruno@clisp.org>
77195         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
77196         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
77198 2008-04-12  Jim Meyering  <meyering@redhat.com>
77200         * m4/math_h.m4 (gl_MATH_H): Fix typos.
77202 2008-04-12  Bruno Haible  <bruno@clisp.org>
77204         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
77205         Reported by Elbert Pol <e.pol@chello.nl>.
77207 2008-04-12  Eric Blake  <ebb9@byu.net>
77209         Work around Solaris 10 math.h bug.
77210         * m4/math_h.m4 (gl_MATH_H): Check for bug.
77211         (gl_MATH_H_DEFAULTS): Set up default.
77212         * modules/math (Makefile.am): Replace new indicators.
77213         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
77214         * tests/test-math.c (main): Test this.
77215         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
77216         * doc/posix-headers/math.texi (math.h): Mention bug.
77217         Reported by Nelson H. F. Beebe and Jim Meyering.
77219 2008-04-11  Bruno Haible  <bruno@clisp.org>
77221         Adapt to future versions of Apple GCC.
77222         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
77223         Reported by Peter O'Gorman <peter@pogma.com>.
77225 2008-04-11  Bruno Haible  <bruno@clisp.org>
77227         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
77229 2008-04-11  Bruno Haible  <bruno@clisp.org>
77231         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
77233         * modules/getaddrinfo-tests (Makefile.am): Define
77234         test_getaddrinfo_LDADD.
77236 2008-04-11  Bruno Haible  <bruno@clisp.org>
77238         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
77239         (init): Fix syntax error.
77240         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
77241         is declared.
77243 2008-04-11  Bruno Haible  <bruno@clisp.org>
77245         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
77246         * modules/glob (Depends-on): Add stdbool.
77248 2008-04-11  Bruno Haible  <bruno@clisp.org>
77250         * lib/trim.c: Include <string.h>.
77252 2008-04-11  Eric Blake  <ebb9@byu.net>
77254         Avoid compile failure on OS/2.
77255         * lib/regex_internal.h (internal_function): Disable optimization
77256         on OS/2 (__EMX__), where it caused compiler error.
77257         Reported by Elbert Pol.
77259 2008-04-11  Bruno Haible  <bruno@clisp.org>
77261         Flush the standard error stream before aborting. Needed on mingw.
77262         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
77263         * tests/test-array_list.c (ASSERT): Likewise.
77264         * tests/test-array_oset.c (ASSERT): Likewise.
77265         * tests/test-avltree_list.c (ASSERT): Likewise.
77266         * tests/test-avltree_oset.c (ASSERT): Likewise.
77267         * tests/test-avltreehash_list.c (ASSERT): Likewise.
77268         * tests/test-binary-io.c (ASSERT): Likewise.
77269         * tests/test-byteswap.c (ASSERT): Likewise.
77270         * tests/test-c-ctype.c (ASSERT): Likewise.
77271         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
77272         * tests/test-c-strcasestr.c (ASSERT): Likewise.
77273         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
77274         * tests/test-c-strstr.c (ASSERT): Likewise.
77275         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
77276         * tests/test-canonicalize.c (ASSERT): Likewise.
77277         * tests/test-carray_list.c (ASSERT): Likewise.
77278         * tests/test-ceilf1.c (ASSERT): Likewise.
77279         * tests/test-ceilf2.c (ASSERT): Likewise.
77280         * tests/test-ceill.c (ASSERT): Likewise.
77281         * tests/test-count-one-bits.c (ASSERT): Likewise.
77282         * tests/test-fbufmode.c (ASSERT): Likewise.
77283         * tests/test-fflush2.c (ASSERT): Likewise.
77284         * tests/test-floorf1.c (ASSERT): Likewise.
77285         * tests/test-floorf2.c (ASSERT): Likewise.
77286         * tests/test-floorl.c (ASSERT): Likewise.
77287         * tests/test-fopen.c (ASSERT): Likewise.
77288         * tests/test-fpending.c (ASSERT): Likewise.
77289         * tests/test-fprintf-posix.c (ASSERT): Likewise.
77290         * tests/test-fpurge.c (ASSERT): Likewise.
77291         * tests/test-freadable.c (ASSERT): Likewise.
77292         * tests/test-freadahead.c (ASSERT): Likewise.
77293         * tests/test-freading.c (ASSERT): Likewise.
77294         * tests/test-freadptr.c (ASSERT): Likewise.
77295         * tests/test-freadptr2.c (ASSERT): Likewise.
77296         * tests/test-freadseek.c (ASSERT): Likewise.
77297         * tests/test-freopen.c (ASSERT): Likewise.
77298         * tests/test-frexp.c (ASSERT): Likewise.
77299         * tests/test-frexpl.c (ASSERT): Likewise.
77300         * tests/test-fseek.c (ASSERT): Likewise.
77301         * tests/test-fseeko.c (ASSERT): Likewise.
77302         * tests/test-fstrcmp.c (ASSERT): Likewise.
77303         * tests/test-ftell.c (ASSERT): Likewise.
77304         * tests/test-ftello.c (ASSERT): Likewise.
77305         * tests/test-func.c (ASSERT): Likewise.
77306         * tests/test-fwritable.c (ASSERT): Likewise.
77307         * tests/test-fwriting.c (ASSERT): Likewise.
77308         * tests/test-getdelim.c (ASSERT): Likewise.
77309         * tests/test-getline.c (ASSERT): Likewise.
77310         * tests/test-i-ring.c (ASSERT): Likewise.
77311         * tests/test-iconv-utf.c (ASSERT): Likewise.
77312         * tests/test-iconv.c (ASSERT): Likewise.
77313         * tests/test-isfinite.c (ASSERT): Likewise.
77314         * tests/test-isnand.c (ASSERT): Likewise.
77315         * tests/test-isnanf.c (ASSERT): Likewise.
77316         * tests/test-isnanl.h (ASSERT): Likewise.
77317         * tests/test-ldexpl.c (ASSERT): Likewise.
77318         * tests/test-linked_list.c (ASSERT): Likewise.
77319         * tests/test-linkedhash_list.c (ASSERT): Likewise.
77320         * tests/test-localename.c (ASSERT): Likewise.
77321         * tests/test-lseek.c (ASSERT): Likewise.
77322         * tests/test-mbscasecmp.c (ASSERT): Likewise.
77323         * tests/test-mbscasestr1.c (ASSERT): Likewise.
77324         * tests/test-mbscasestr2.c (ASSERT): Likewise.
77325         * tests/test-mbscasestr3.c (ASSERT): Likewise.
77326         * tests/test-mbscasestr4.c (ASSERT): Likewise.
77327         * tests/test-mbschr.c (ASSERT): Likewise.
77328         * tests/test-mbscspn.c (ASSERT): Likewise.
77329         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
77330         * tests/test-mbspbrk.c (ASSERT): Likewise.
77331         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
77332         * tests/test-mbsrchr.c (ASSERT): Likewise.
77333         * tests/test-mbsspn.c (ASSERT): Likewise.
77334         * tests/test-mbsstr1.c (ASSERT): Likewise.
77335         * tests/test-mbsstr2.c (ASSERT): Likewise.
77336         * tests/test-mbsstr3.c (ASSERT): Likewise.
77337         * tests/test-memchr2.c (ASSERT): Likewise.
77338         * tests/test-memmem.c (ASSERT): Likewise.
77339         * tests/test-open.c (ASSERT): Likewise.
77340         * tests/test-printf-frexp.c (ASSERT): Likewise.
77341         * tests/test-printf-frexpl.c (ASSERT): Likewise.
77342         * tests/test-printf-posix.c (ASSERT): Likewise.
77343         * tests/test-quotearg.c (ASSERT): Likewise.
77344         * tests/test-rbtree_list.c (ASSERT): Likewise.
77345         * tests/test-rbtree_oset.c (ASSERT): Likewise.
77346         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
77347         * tests/test-round1.c (ASSERT): Likewise.
77348         * tests/test-roundf1.c (ASSERT): Likewise.
77349         * tests/test-roundl.c (ASSERT): Likewise.
77350         * tests/test-signbit.c (ASSERT): Likewise.
77351         * tests/test-sleep.c (ASSERT): Likewise.
77352         * tests/test-snprintf-posix.c (ASSERT): Likewise.
77353         * tests/test-snprintf.c (ASSERT): Likewise.
77354         * tests/test-sprintf-posix.c (ASSERT): Likewise.
77355         * tests/test-stat-time.c (ASSERT): Likewise.
77356         * tests/test-strcasestr.c (ASSERT): Likewise.
77357         * tests/test-strerror.c (ASSERT): Likewise.
77358         * tests/test-striconv.c (ASSERT): Likewise.
77359         * tests/test-striconveh.c (ASSERT): Likewise.
77360         * tests/test-striconveha.c (ASSERT): Likewise.
77361         * tests/test-strsignal.c (ASSERT): Likewise.
77362         * tests/test-strstr.c (ASSERT): Likewise.
77363         * tests/test-strtod.c (ASSERT): Likewise.
77364         * tests/test-trunc1.c (ASSERT): Likewise.
77365         * tests/test-trunc2.c (ASSERT): Likewise.
77366         * tests/test-truncf1.c (ASSERT): Likewise.
77367         * tests/test-truncf2.c (ASSERT): Likewise.
77368         * tests/test-truncl.c (ASSERT): Likewise.
77369         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
77370         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
77371         * tests/test-vasnprintf.c (ASSERT): Likewise.
77372         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
77373         * tests/test-vasprintf.c (ASSERT): Likewise.
77374         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
77375         * tests/test-vprintf-posix.c (ASSERT): Likewise.
77376         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
77377         * tests/test-vsnprintf.c (ASSERT): Likewise.
77378         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
77379         * tests/test-wcwidth.c (ASSERT): Likewise.
77380         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
77381         * tests/test-xprintf-posix.c (ASSERT): Likewise.
77382         * tests/test-xvasprintf.c (ASSERT): Likewise.
77383         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
77384         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
77385         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
77386         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
77387         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
77388         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
77389         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
77390         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
77391         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
77392         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
77393         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
77394         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
77395         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
77396         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
77397         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
77398         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
77399         * tests/unictype/test-block_list.c (ASSERT): Likewise.
77400         * tests/unictype/test-block_of.c (ASSERT): Likewise.
77401         * tests/unictype/test-block_test.c (ASSERT): Likewise.
77402         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
77403         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
77404         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
77405         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
77406         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
77407         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
77408         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
77409         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
77410         * tests/unictype/test-combining.c (ASSERT): Likewise.
77411         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
77412         * tests/unictype/test-digit.c (ASSERT): Likewise.
77413         * tests/unictype/test-mirror.c (ASSERT): Likewise.
77414         * tests/unictype/test-numeric.c (ASSERT): Likewise.
77415         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
77416         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
77417         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
77418         * tests/unictype/test-scripts.c (ASSERT): Likewise.
77419         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
77420         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
77421         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
77422         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
77423         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
77424         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
77425         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
77426         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
77427         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
77428         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
77429         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
77430         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
77431         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
77432         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
77433         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
77434         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
77435         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
77436         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
77437         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
77438         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
77439         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
77440         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
77441         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
77442         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
77443         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
77444         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
77445         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
77446         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
77447         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
77448         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
77449         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
77450         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
77451         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
77452         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
77453         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
77454         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
77455         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
77456         Reported by Eric Blake.
77458 2008-04-11  Bruno Haible  <bruno@clisp.org>
77460         * lib/wchar.in.h: Tweak comment.
77462 2008-04-11  Bruno Haible  <bruno@clisp.org>
77464         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
77465         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
77466         gl_COMMON.
77467         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
77469 2008-04-11  Bruno Haible  <bruno@clisp.org>
77471         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
77473 2008-04-11  Simon Josefsson  <simon@josefsson.org>
77475         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
77476         of attempting to use non-existing /dev/*random.  Based on patch
77477         from Adam Strzelecki <ono@java.pl> in
77478         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
77480 2008-04-08  Bruno Haible  <bruno@clisp.org>
77482         Add tentative support for emx+gcc.
77483         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
77484         * lib/fpurge.c (fpurge): Likewise.
77485         * lib/freadable.c (freadable): Likewise.
77486         * lib/freadahead.c (freadahead): Likewise.
77487         * lib/freading.c (freading): Likewise.
77488         * lib/freadptr.c (freadptr): Likewise.
77489         * lib/freadseek.c (freadptrinc): Likewise.
77490         * lib/fseeko.c (rpl_fseeko): Likewise.
77491         * lib/fseterr.c (fseterr): Likewise.
77492         * lib/fwritable.c (fwritable): Likewise.
77493         * lib/fwriting.c (fwriting): Likewise.
77494         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
77496 2008-04-09  Eric Blake  <ebb9@byu.net>
77498         Avoid some autoconf warnings.
77499         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
77500         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
77501         * m4/afs.m4 (gl_AFS): Likewise.
77502         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
77503         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
77504         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
77505         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
77506         (gl_INTEGER_TYPE_SUFFIX): Likewise.
77507         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
77508         (AC_CHECK_DECLS_ONCE): Likewise.
77509         Rename file...
77510         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
77511         gnulib-tool requires autoconf 2.59 or better.
77512         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
77514 2008-04-08  Eric Blake  <ebb9@byu.net>
77516         Use 'git describe --match' if present (added in git 1.5.5).
77517         * build-aux/git-version-gen: Limit result to tags that match 'v*'
77518         if possible.
77520 2008-04-08  Bruno Haible  <bruno@clisp.org>
77522         Add tentative support for OpenServer.
77523         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
77524         _ptr, _cnt.
77525         * lib/fpurge.c (fpurge): Likewise.
77526         * lib/freadable.c (freadable): Likewise.
77527         * lib/freadahead.c (freadahead): Likewise.
77528         * lib/freading.c (freading): Likewise.
77529         * lib/freadptr.c (freadptr): Likewise.
77530         * lib/freadseek.c (freadptrinc): Likewise.
77531         * lib/fseeko.c (rpl_fseeko): Likewise.
77532         * lib/fseterr.c (fseterr): Likewise.
77533         * lib/fwritable.c (fwritable): Likewise.
77534         * lib/fwriting.c (fwriting): Likewise.
77535         Reported by Roger Cornelius <rac@tenzing.org> and
77536         Brian K. White <brian@aljex.com>.
77538 2008-04-06  Jim Meyering  <meyering@redhat.com>
77540         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
77542 2008-04-06  Bruno Haible  <bruno@clisp.org>
77544         Avoid possible error with non-ASCII bytes in UTF-8 locales.
77545         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
77546         * tests/test-printf-posix.sh: Likewise.
77547         * tests/test-vfprintf-posix.sh: Likewise.
77548         * tests/test-vprintf-posix.sh: Likewise.
77549         * tests/test-xprintf-posix.sh: Likewise.
77551 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77553         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
77554         hide error from 'ls', needed on OS/2.
77555         Report by Elbert Pol <elbert.pol@gmail.com>.
77557 2008-04-04  Eric Blake  <ebb9@byu.net>
77559         Make test-fseeko.c failures meaningful.
77560         * tests/test-fseeko.c: Print line number on failure.
77561         * tests/test-fseek.c: Likewise.
77562         Reported by Nelson H. F. Beebe.
77564         Improve strtod bug detection check.
77565         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
77566         required for Solaris 10.
77567         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
77569 2008-04-04  Bruno Haible  <bruno@clisp.org>
77571         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
77572         by m4/setenv.m4.
77574 2008-04-03  Eric Blake  <ebb9@byu.net>
77576         Ensure sane .version contents.
77577         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
77578         version string.
77579         * build-aux/git-version-gen: Improve documentation.
77581         Make GNU make output nicer.
77582         * top/GNUmakefile [!_have-Makefile]: Add dependency on
77583         MAKECMDGOALS to enforce message for all command line targets.  Set
77584         srcdir for use in maint.mk.
77586         Another maintainer tweak.
77587         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
77588         a target that regenerates version.
77590 2008-04-03  Jim Meyering  <meyering@redhat.com>
77592         vc-list-files: don't cause coreutils "make po-check" failure
77593         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
77595 2008-04-03  Eric Blake  <ebb9@byu.net>
77597         Allow VPATH usage of vc-list-files.
77598         * build-aux/vc-list-files (scriptversion): Add timestamp.
77599         (options): Add --help, --version, -C.
77600         (CVS): Support installed cvsu.
77602 2008-04-02  Bruno Haible  <bruno@clisp.org>
77604         Avoid some "statement with no effect" warnings from gcc.
77605         * tests/test-wctype.c (main): Explicitly ignore unused values.
77606         Reported by Jim Meyering.
77608 2008-04-02  Jim Meyering  <meyering@redhat.com>
77610         Avoid some warnings from "gcc -Wshadow".
77611         * tests/test-frexp.c (exp): Define to a different identifier.
77612         * tests/test-frexpl.c (exp): Likewise.
77614 2008-04-03  Jim Meyering  <meyering@redhat.com>
77616         bootstrap: remove dangling *.[ch] symlinks from lib
77617         * build-aux/bootstrap [dangling symlink removal]: Move find's
77618         -depth option to precede all others, to avoid a warning.
77619         Remove *.[ch] files too, and from "$source_base" (usually lib/).
77621 2008-04-02  Bruno Haible  <bruno@clisp.org>
77623         Avoid some warnings from "gcc -Wshadow".
77624         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
77625         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
77626         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
77627         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
77628         Reported by Jim Meyering.
77630 2008-04-01  Bruno Haible  <bruno@clisp.org>
77632         Fix test to work on IRIX 6.5 with cc.
77633         * tests/test-math.c (numeric_equal): New function.
77634         (main): Use it.
77636 2008-04-01  Bruno Haible  <bruno@clisp.org>
77638         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
77640 2008-04-01  Bruno Haible  <bruno@clisp.org>
77642         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
77643         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
77644         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
77645         (Depends-on): Remove math.
77647         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
77648         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
77649         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
77650         (Depends-on): Remove math.
77652         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
77653         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
77654         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
77655         (Depends-on): Remove math.
77656         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
77657         (Depends-on): Remove math.
77659         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
77660         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
77661         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
77662         (Depends-on): Remove math.
77663         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
77664         (Depends-on): Remove math.
77666         * tests/test-round1.c: Include nan.h.
77667         (main): Use NaNd instead of NAN.
77668         * modules/round-tests (Files): Add tests/nan.h.
77670         * tests/test-trunc1.c: Include nan.h.
77671         (main): Use NaNd instead of NAN.
77672         * modules/trunc-tests (Files): Add tests/nan.h.
77674         * tests/test-roundf1.c: Include nan.h.
77675         (main): Use NaNf instead of NAN.
77676         * modules/roundf-tests (Files): Add tests/nan.h.
77678         * tests/test-truncf1.c: Include nan.h.
77679         (main): Use NaNf instead of NAN.
77680         * modules/truncf-tests (Files): Add tests/nan.h.
77682         * tests/test-ceilf1.c: Include nan.h.
77683         (main): Use NaNf instead of NAN.
77684         * modules/ceilf-tests (Files): Add tests/nan.h.
77686         * tests/test-floorf1.c: Include nan.h.
77687         (main): Use NaNf instead of NAN.
77688         * modules/floorf-tests (Files): Add tests/nan.h.
77690         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
77691         (main): Use NaNf instead of NAN.
77692         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
77694         * tests/test-isnand.c: Include nan.h instead of <math.h>.
77695         (main): Use NaNd instead of NAN.
77696         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
77698         * tests/test-frexp.c: Include nan.h.
77699         (main): Use NaNd instead of NAN.
77700         * modules/frexp-tests (Files): Add tests/nan.h.
77702         * lib/isnan.c: Don't include <math.h>.
77703         (FUNC): Don't use NAN macro.
77704         * modules/isnand-nolibm (Depends-on): Remove math.
77705         * modules/isnanf-nolibm (Depends-on): Remove math.
77706         * modules/isnanl (Depends-on): Remove math.
77707         * modules/isnanl-nolibm (Depends-on): Remove math.
77709         * tests/nan.h: New file.
77711 2008-04-01  Eric Blake  <ebb9@byu.net>
77713         Fix typos.
77714         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
77715         values to be the right type.
77717         For now, cater to gnulib strtod inaccuracies.
77718         * tests/test-strtod.c (main): Allow 1-ulp error on expected
77719         fractional results.  While not as nice from a QoI perspective, it
77720         is a quicker patch than correctly implementing decimal to binary
77721         rounding.
77723 2008-03-31  Eric Blake  <ebb9@byu.net>
77725         Guarantee a definition of NAN.
77726         * lib/math.in.h (NAN): Define if missing.
77727         * tests/test-math.c (main): Test it.
77728         * doc/posix-headers/math.texi (math.h): Document this.
77729         * lib/isnan.c (rpl_isnand): Use it.
77730         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
77731         * tests/test-floorf1.c (NaN): Likewise.
77732         * tests/test-frexp.c (NaN): Likewise.
77733         * tests/test-isnand.c (NaN): Likewise.
77734         * tests/test-isnanf.c (NaN): Likewise.
77735         * tests/test-round1.c (NaN): Likewise.
77736         * tests/test-roundf1.c (NaN): Likewise.
77737         * tests/test-snprintf-posix.h (NaN): Likewise.
77738         * tests/test-sprintf-posix.h (NaN): Likewise.
77739         * tests/test-trunc1.c (NaN): Likewise.
77740         * tests/test-truncf1.c (NaN): Likewise.
77741         * tests/test-vasnprintf-posix.c (NaN): Likewise.
77742         * tests/test-vasprintf-posix.c (NaN): Likewise.
77743         * modules/isnand-nolibm (Depends-on): Add math.
77744         * modules/isnanf-nolibm (Depends-on): Likewise.
77745         * modules/isnanl (Depends-on): Likewise.
77746         * modules/isnanl-nolibm (Depends-on): Likewise.
77747         * modules/snprintf-posix-tests (Depends-on): Likewise.
77748         * modules/sprintf-posix-tests (Depends-on): Likewise.
77749         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
77750         * modules/vsprintf-posix-tests (Depends-on): Likewise.
77751         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
77752         * modules/vasprintf-posix-tests (Depends-on): Likewise.
77754 2008-03-31  Bruno Haible  <bruno@clisp.org>
77756         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
77757         * doc/posix-functions/strtod.texi: Likewise.
77759 2008-03-31  Bruno Haible  <bruno@clisp.org>
77761         * tests/test-strtod.c (main): Don't use C99 syntax.
77763 2008-03-31  Bruno Haible  <bruno@clisp.org>
77765         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
77766         Reported by Eric Blake.
77768 2008-03-31  Jim Meyering  <meyering@redhat.com>
77770         Don't compare actual signbit return values.
77771         * tests/test-strtod.c (main): Rather, compare only their
77772         zero/non-zero nature.
77774 2008-03-31  Eric Blake  <ebb9@byu.net>
77776         More strtod documentation.
77777         * doc/posix-functions/strtod.texi (strtod): Interpret more test
77778         failures as distinct bugs.
77780 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
77782         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
77783         Problem reported by Erik Benada in
77784         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
77786 2008-03-30  Bruno Haible  <bruno@clisp.org>
77788         * tests/test-strtod.c: Add comments about which assertion fails on which
77789         platform.
77790         * doc/posix-functions/strtod.texi: Add info about many more platforms.
77792 2008-03-30  Eric Blake  <ebb9@byu.net>
77794         Test signbit behavior on zeros.
77795         * tests/test-signbit.c (test_signbitf): Add tests for zero.
77796         (test_signbitd, test_signbitl): Likewise.
77798         More strtod touchups.
77799         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
77800         sign of negative underflow, for now.  Use .5, not .1.
77801         * doc/posix-functions/strtod.texi (strtod): Mention these
77802         limitations.
77803         Reported by Jim Meyering.
77805 2008-03-30  Bruno Haible  <bruno@clisp.org>
77807         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
77808         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
77810 2008-03-30  Bruno Haible  <bruno@clisp.org>
77812         Avoid failure when attempting to return empty iconv results on some
77813         platforms.
77814         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
77815         allocation, don't report ENOMEM when the resulting string is empty.
77817 2008-03-30  Bruno Haible  <bruno@clisp.org>
77819         Fix buffer overrun.
77820         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
77821         Don't consider the width for tmp_length. Check count against tmp_length
77822         before doing the padding. Ensure enough allocation during padding.
77824 2008-03-30  Eric Blake  <ebb9@byu.net>
77826         strtod touchups.
77827         * lib/strtod.c (strtod): Avoid compiler warnings.
77828         Reported by Jim Meyering.
77830 2008-03-30  Bruno Haible  <bruno@clisp.org>
77832         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
77833         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
77834         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
77835         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
77836         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
77837         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
77838         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
77839         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
77841         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
77842         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
77843         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
77844         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
77845         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
77846         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
77847         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
77848         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
77850         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
77851         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
77852         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
77853         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
77854         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
77855         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
77856         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
77857         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
77859         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
77860         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
77862         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
77863         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
77865         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
77866         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
77868         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
77869         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
77870         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
77872         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
77873         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
77874         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
77876         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
77877         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
77878         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
77880         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
77881         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
77882         * modules/vasprintf (Depends-on): Add EOVERFLOW.
77884         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
77885         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
77886         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
77887         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
77888         (Depends-on): Add EOVERFLOW.
77889         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
77890         (Depends-on): Add EOVERFLOW.
77891         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
77892         (Depends-on): Add EOVERFLOW.
77893         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
77894         (Depends-on): Add EOVERFLOW.
77895         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
77896         (Depends-on): Add EOVERFLOW.
77897         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
77898         (Depends-on): Add EOVERFLOW.
77899         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
77900         (Depends-on): Add EOVERFLOW.
77901         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
77902         (Depends-on): Add EOVERFLOW.
77904         * lib/sprintf.c (EOVERFLOW): Remove fallback.
77905         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
77906         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
77908         * lib/snprintf.c (EOVERFLOW): Remove fallback.
77909         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
77910         * modules/snprintf (Depends-on): Add EOVERFLOW.
77912         * lib/poll.c (EOVERFLOW): Remove fallback.
77913         * modules/poll (Depends-on): Add EOVERFLOW.
77915         * lib/getugroups.c (EOVERFLOW): Remove fallback.
77916         * modules/getugroups (Depends-on): Add EOVERFLOW.
77918         * lib/getdelim.c (EOVERFLOW): Remove fallback.
77919         * modules/getdelim (Depends-on): Add EOVERFLOW.
77921         * lib/ftell.c (EOVERFLOW): Remove fallback.
77922         * modules/ftell (Depends-on): Add EOVERFLOW.
77924         * lib/fprintf.c (EOVERFLOW): Remove fallback.
77925         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
77926         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
77928         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
77930         * modules/EOVERFLOW-tests: New file.
77931         * tests/test-EOVERFLOW.c: New file.
77933         * modules/EOVERFLOW: New file.
77934         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
77936 2008-03-30  Bruno Haible  <bruno@clisp.org>
77938         Fix bug introduced on 2007-06-10.
77939         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
77940         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
77942 2008-03-30  Bruno Haible  <bruno@clisp.org>
77944         Improve freadseek's efficiency after ungetc.
77945         * lib/freadseek.c: Include freadahead.h.
77946         (freadptrinc): New function, extracted from freadseek.
77947         (freadseek): Use it in a loop. Use freadahead to determine the number
77948         of loop iterations.
77949         * modules/freadseek (Depends-on): Add freadahead.
77950         (configure.ac): Require AC_C_INLINE.
77952 2008-03-30  Bruno Haible  <bruno@clisp.org>
77954         * lib/freadseek.c (freadseek): Don't ignore the return value of
77955         freadptr.
77957 2008-03-29  Eric Blake  <ebb9@byu.net>
77959         Add hex float support.
77960         * modules/strtod (Depends-on): Add c-ctype.
77961         (Link): Mention POW_LIB.
77962         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
77963         whitespace between 'e' and exponent.
77964         * tests/test-strtod.c (main): Enable hex float tests.
77965         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
77966         now provides.
77968         Document various strtod bugs, with some fixes.
77969         * doc/posix-functions/strtod.texi (strtod): Document bugs with
77970         "-0x", "inf", "nan", and hex constants.
77971         * doc/posix-functions/atof.texi (atof): Likewise.
77972         * modules/stdlib (Makefile.am): Support strtod.
77973         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
77974         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
77975         detect additional strtod bugs.
77976         * lib/stdlib.in.h (rpl_strtod): Add declarations.
77977         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
77978         bool where appropriate.  Parse 'inf' and 'nan'.
77979         * tests/test-strtod.c: New file.
77980         * modules/strtod (Depends-on): Add stdbool, stdlib.
77981         (configure.ac): Turn on module indicator.
77982         * modules/strtod-tests: New module.
77984 2008-03-29  Eric Blake  <ebb9@byu.net>
77986         Fix ftell on mingw.
77987         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
77988         * modules/ftell-tests (Depends-on): Add binary-io.
77989         * modules/ftello-tests (Depends-on): Likewise.
77990         * tests/test-ftell.c (main): Enhance test to cover behavior after
77991         ungetc.  Enforce binary mode.
77992         * tests/test-ftello.c (main): Likewise.
77994         Pass test-freadseek on cygwin.
77995         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
77996         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
77997         ungetc buffer.
77999         * tests/test-fflush2.c (main): Fix typo.
78001 2008-03-29  Bruno Haible  <bruno@clisp.org>
78003         * tests/test-fflush2.c (main): Temporarily disable the contents of
78004         this test.
78005         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
78006         Reported by Eric Blake.
78008 2008-03-28  Simon Josefsson  <simon@josefsson.org>
78010         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
78011         (GC_SHA224_DIGEST_SIZE): Add.
78013         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
78014         (gc_hash_digest_length): Likewise.
78015         (gc_hash_buffer): Likewise.
78017 2008-03-25  Bruno Haible  <bruno@clisp.org>
78019         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
78020         detail which gettext release to use.
78021         Reported by Simon Josefsson.
78023 2008-03-26  Jim Meyering  <meyering@redhat.com>
78025         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
78026         * modules/gnumakefile (clean-GNUmakefile): Also, use
78027         test ... && ... || : syntax rather than if-then ... fi.
78029         gnumakefile: Don't double-quote-expand $(VPATH) value.
78030         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
78032 2008-03-24  Eric Blake  <ebb9@byu.net>
78034         Alter GNUmakefile to install into top directory.
78035         * modules/maintainer-makefile: Split, and add dependency...
78036         * modules/gnumakefile: to this new module.
78037         * build-aux/GNUmakefile: Move...
78038         * top/GNUmakefile: ...here.
78039         * build-aux/maint.mk: Move...
78040         * top/maint.mk: ...here.
78041         * MODULES.html.sh (Support for maintaining...): Document new
78042         module.
78044 2008-03-23  Bruno Haible  <bruno@clisp.org>
78046         * gnulib-tool: New options --vc-files, --no-vc-files.
78047         (func_usage): Document them.
78048         (vc_files): New variable.
78049         (func_import): Consider vc_files.
78050         (func_create_testdir): Set vc_files to empty.
78051         Suggested by Jim Meyering and Karl Berry.
78053 2008-03-23  Bruno Haible  <bruno@clisp.org>
78055         Fix regex compilation error on HP-UX 11.
78056         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
78057         * modules/regex (Files): Add m4/mbstate_t.m4.
78058         Reported by Ton Voon <ton.voon@altinity.com>.
78060 2008-03-23  Bruno Haible  <bruno@clisp.org>
78062         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
78064 2008-03-23  Eric Blake  <ebb9@byu.net>
78065             Bruno Haible  <bruno@clisp.org>
78067         Install files from top/ in the destination directory.
78068         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
78069         augmentation also for the files from top/.
78070         (func_import, func_create_testdir): Rewrite file names:
78071         top/filename -> filename.
78073 2008-03-23  Bruno Haible  <bruno@clisp.org>
78075         Tweak "gnulib --version" output.
78076         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
78078 2008-03-23  Bruno Haible  <bruno@clisp.org>
78080         Tweak "gnulib --version" output.
78081         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
78082         rather than contents of ChangeLog, when possible.
78084 2008-03-21  Eric Blake  <ebb9@byu.net>
78086         More --version tweaks.
78087         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
78088         date of last ChangeLog entry.
78090 2008-03-21  Jim Meyering  <meyering@redhat.com>
78092         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
78094 2008-03-20  Eric Blake  <ebb9@byu.net>
78096         VPATH fix.
78097         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
78099 2008-03-20  Simon Josefsson  <simon@josefsson.org>
78101         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
78102         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
78104 2008-03-20  Eric Blake  <ebb9@byu.net>
78106         Sync GNUmakefile with coreutils.
78107         * build-aux/GNUmakefile (have-Makefile): Rename...
78108         (_have-Makefile): ...to this, for namespace consideration.
78109         (GNUmakefile.cfg): Include, if present.
78110         (_autoreconf): Define a default.
78111         (_is-dist-target): New rule for rebuilds to pick up intra-release
78112         version.
78113         (maint-cfg.mk): Rename...
78114         (cfg.mk): ...to this.
78116 2008-03-18  Jim Meyering  <meyering@redhat.com>
78118         New script and module: mktempd
78119         * MODULES.html.sh (maint+release support): Add mktempd.
78120         * build-aux/mktempd: New file.
78121         * modules/mktempd: New file.
78123 2008-03-15  Jim Meyering  <meyering@redhat.com>
78125         Undo last change.
78126         * lib/sha1.c, lib/md5.c: 63 != ~63.
78127         Reported by Andreas Schwab.
78129         sha1.c, md5.c: Hoist a redundant expression.
78130         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
78131         "ctx->buflen" only once, before calling *_process_block.
78132         * lib/md5.c (md5_process_bytes): Likewise.
78134 2008-03-14  Eric Blake  <ebb9@byu.net>
78136         Bump copyright year in files generated by gnulib-tool.
78137         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
78138         gnulib-tool, rather than hard-coding it.
78140         Fix 'gnulib-tool --version' output to work with git.
78141         * gnulib-tool (func_gnulib_dir): New function, extracted from...
78142         (startup): ...here.
78143         (func_version): Use it to invoke git-version-gen, rather than
78144         relying on CVS keyword expansion.  Modernize wording.
78145         (cvsdatestamp, last_checkin_date, version): Kill unused
78146         variables.
78148 2008-03-12  Jim Meyering  <meyering@redhat.com>
78150         Recognize optional cast of the argument to free.
78151         * build-aux/useless-if-before-free: Update regexps.
78153         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
78155 2008-03-11  Bruno Haible  <bruno@clisp.org>
78157         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
78158         by a single package.
78159         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
78160         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
78161         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
78162         Reported by Sam Steingold <sds@gnu.org>.
78164 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78166         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
78167         repositories.
78169 2008-03-11  Bruno Haible  <bruno@clisp.org>
78171         Avoid conflicts between local macro definitions.
78172         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
78173         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
78175 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
78176             Bruno Haible  <bruno@clisp.org>
78178         Make va_copy work with some version of xlc on AIX 5.1.
78179         * lib/stdarg.in.h: New file.
78180         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
78181         On AIX, use a <stdarg.h> file substitute.
78182         * modules/stdarg (Files): Add lib/stdarg.in.h.
78183         (Depends-on): Add include_next.
78184         (Makefile.am): Build a stdarg.h substitute if requested.
78185         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
78187 2008-03-10  Bruno Haible  <bruno@clisp.org>
78189         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
78190         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
78191         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
78193 2008-03-10  Bruno Haible  <bruno@clisp.org>
78195         * modules/stdlib (Depends-on): Add include_next, remove
78196         absolute-header.
78198 2008-03-09  Bruno Haible  <bruno@clisp.org>
78200         * lib/freadahead.h (freadahead): Document more precisely.
78201         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
78202         the sum of both buffer sizes.
78203         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
78204         * NEWS: Document the change.
78206 2008-03-09  Bruno Haible  <bruno@clisp.org>
78208         Extend freadptr to return also the buffer size.
78209         * lib/freadptr.h (freadptr): Add sizep argument.
78210         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
78211         (freadptr): Add sizep argument. Determine buffer size like freadahead
78212         does.
78213         * tests/test-freadptr.c: Don't include freadahead.h.
78214         (main): Adapt for new calling convention of freadptr.
78215         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
78216         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
78217         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
78218         tests/test-freadptr2.sh.
78219         (Depends): Remove freadahead.
78220         (TESTS): Add test-freadptr2.sh.
78221         (check_PROGRAMS): Add test-freadptr2.
78223 2008-03-09  Bruno Haible  <bruno@clisp.org>
78225         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
78226         Report and solution by Simon Josefsson.
78228 2008-03-06  Bruno Haible  <bruno@clisp.org>
78230         Make fflush after ungetc work on BSD platforms.
78231         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
78232         * tests/test-fflush2.c: New file.
78233         * tests/test-fflush2.sh: New file.
78234         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
78235         tests/test-fflush2.c.
78236         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
78237         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
78239 2008-03-06  Eric Blake  <ebb9@byu.net>
78241         Likewise for ftello.
78242         * modules/ftello (Dependencies): Add extensions.
78243         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
78245 2008-03-06  Bruno Haible  <bruno@clisp.org>
78247         * modules/fseeko (Dependencies): Add extensions.
78248         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
78249         Needed on glibc systems.
78251 2008-03-06  Bruno Haible  <bruno@clisp.org>
78253         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
78254         email address.
78255         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
78257 2008-03-06  Bruno Haible  <bruno@clisp.org>
78259         * users.txt: Add libgnupdf.
78261 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
78263         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
78264         (Header File Substitutes, Function Substitutes,
78265         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
78266         (Build robot for gnulib): Fix typo.
78268 2008-03-06  Bruno Haible  <bruno@clisp.org>
78270         * doc/gnulib-tool.texi (VCS Issues): Small updates.
78271         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
78273 2008-03-06  Bruno Haible  <bruno@clisp.org>
78275         * doc/func.texi: New file, extracted from doc/gnulib.texi.
78276         * doc/gnulib.texi: Include it.
78278 2008-03-06  Simon Josefsson  <simon@josefsson.org>
78280         * modules/func (License): Change license to unlimited; there was
78281         no LGPL parts in the module anyway.
78283 2008-03-06  Simon Josefsson  <simon@josefsson.org>
78285         * modules/__func__: Renamed to modules/func.
78286         * modules/__func__-tests: Renamed to modules/func-tests.
78287         * tests/test-__func__.c: Renamed to tests/test-func.c.
78288         * m4/__func__.m4: Renamed to m4/func.m4.
78289         * doc/gnulib.texi (__func__): Section renamed to func.
78290         Suggested by Eric Blake <ebb9@byu.net>.
78292 2008-03-06  Simon Josefsson  <simon@josefsson.org>
78294         * doc/gnulib.texi (__func__): Use C99 terminology when talking
78295         about __func__.  Make example self-contained.  Suggested by Eric
78296         Blake <ebb9@byu.net>.
78298         * tests/test-__func__.c (main): Avoid extraneous () around __func.
78299         Suggested by Eric Blake <ebb9@byu.net>.
78301 2008-03-06  Simon Josefsson  <simon@josefsson.org>
78303         * modules/__func__: New file.
78304         * modules/__func__-tests: New file.
78305         * tests/test-__func__.c: New file.
78306         * m4/__func__.m4: New file.
78307         * doc/gnulib.texi (__func__): Document __func__ module.
78309 2008-03-05  Simon Josefsson  <simon@josefsson.org>
78311         * modules/byteswap (License): Re-license as LGPLv2+.
78313 2008-03-05  Simon Josefsson  <simon@josefsson.org>
78315         * doc/Makefile: Add pdf target.
78317 2008-03-05  Simon Josefsson  <simon@josefsson.org>
78319         * modules/inline (License): Use 'unlimited', since there are only
78320         *.m4 files in this module.
78322 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
78323             Bruno Haible  <bruno@clisp.org>
78325         Add support for HP C 7.1 on OpenVMS 8.3.
78326         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
78328 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
78330         Update VMS specifics.
78331         * lib/getopt.c [VMS]: Remove include of unixlib.h.
78333 2008-03-02  Jim Meyering  <meyering@redhat.com>
78335         Remove the last dependency on the "free" module.
78336         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
78337         Reported by Bob Proulx.
78339         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
78341         Remove useless "if" tests before free.  Deprecate "free" module.
78342         * doc/posix-functions/free.texi: Mention that this
78343         module is no longer useful.
78344         * modules/free (Notice): Say this module is obsolete.
78345         * modules/readutmp (Depends-on): Remove free.
78346         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
78347         * lib/putenv.c (putenv): Likewise.
78348         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
78349         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
78350         * tests/test-c-strcasestr.c (main): Likewise.
78351         * tests/test-c-strstr.c (main): Likewise.
78352         * tests/test-mbscasestr1.c (main): Likewise.
78353         * tests/test-mbscasestr2.c (main): Likewise.
78354         * tests/test-mbsstr1.c (main): Likewise.
78355         * tests/test-mbsstr2.c (main): Likewise.
78356         * tests/test-memmem.c (main): Likewise.
78357         * tests/test-strcasestr.c (main): Likewise.
78358         * tests/test-striconv.c (main): Likewise.
78359         * tests/test-striconveh.c (main): Likewise.
78360         * tests/test-striconveha.c (main): Likewise.
78361         * tests/test-strstr.c (main): Likewise.
78363         * build-aux/git-version-gen: Adjust a comment and the Usage string.
78365         bootstrap: sync from coreutils again
78366         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
78368 2008-03-01  Jim Meyering  <meyering@redhat.com>
78370         bootstrap: sync from coreutils
78371         * build-aux/bootstrap (update_po_files): Copy a .po file into place
78372         also when the target doesn't exist.
78374 2008-03-01  Eric Blake  <ebb9@byu.net>
78376         Fix bugs in last patch.
78377         * lib/memchr2.c (memchr2): Fix typo.
78378         * tests/test-memchr2.c: Test previous bug, and don't use GNU
78379         extension.
78380         Reported by Bruce Korb.
78382         New module 'memchr2'.
78383         * modules/memchr2: New file.
78384         * modules/memchr2-tests: Likewise.
78385         * lib/memchr2.h: Likewise.
78386         * lib/memchr2.c: Likewise, based on memchr.c.
78387         * tests/test-memchr2.c: New test.
78388         * MODULES.html.sh (String handling): Add memchr2.
78390 2008-02-29  Bruno Haible  <bruno@clisp.org>
78392         * modules/freadseek-tests: New file.
78393         * tests/test-freadseek.sh: New file.
78394         * tests/test-freadseek.c: New file.
78396         New module 'freadseek'.
78397         * modules/freadseek: New file.
78398         * lib/freadseek.h: New file.
78399         * lib/freadseek.c: New file.
78400         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
78402 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
78404         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
78405         wydawca.
78407         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
78408         program_invocation_name and program_invocation_short_name are
78409         present.
78411 2008-02-28  Bruno Haible  <bruno@clisp.org>
78413         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
78414         * tests/test-freadptr.sh: Also test non-seekable stdin.
78416 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
78418         * build-aux/bootstrap (source_base, m4_base)
78419         (doc_base, tests_base): New variables.
78420         (gnulib_tool_options): Do not hardcode base directories, use
78421         the above variables instead.
78423 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
78425         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
78427 2008-02-28  Bruno Haible  <bruno@clisp.org>
78429         * modules/freadptr-tests: New file.
78430         * tests/test-freadptr.sh: New file.
78431         * tests/test-freadptr.c: New file.
78433         New module 'freadptr'.
78434         * modules/freadptr: New file.
78435         * lib/freadptr.h: New file.
78436         * lib/freadptr.c: New file.
78437         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
78439 2008-02-26  Karl Berry  <karl@freefriends.org>
78441         Sync from Libtool:
78442         * libltdl/argz.c (argz_add, argz_count): New functions.
78443         * libltdl/argz.in.h: Declare them.
78444         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
78446 2008-02-22  Bruno Haible  <bruno@clisp.org>
78448         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
78449         is a pointer type.  Needed for HP-UX 10.
78450         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
78451         * doc/posix-functions/gmtime_r.texi: Likewise.
78452         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
78454 2008-02-24  Bruno Haible  <bruno@clisp.org>
78456         * modules/environ-tests: New file.
78457         * tests/test-environ.c: New file.
78459         New module 'environ'.
78460         * modules/environ: New file.
78461         * lib/unistd.in.h (environ): New declaration.
78462         * m4/environ.m4: New file.
78463         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
78464         after use.
78465         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
78466         HAVE_DECL_ENVIRON.
78467         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
78468         HAVE_DECL_ENVIRON.
78469         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
78470         wrong claim that 'environ' is missing on some systems.
78471         * modules/execute (Depends-on): Add environ.
78472         * lib/execute.c (environ): Remove fallback declaration.
78473         * modules/pipe (Depends-on): Add environ.
78474         * lib/pipe.c (environ): Remove fallback declaration.
78475         * modules/setenv (Depends-on): Add environ.
78476         * lib/setenv.c (environ): Remove fallback declaration.
78477         * modules/unsetenv (Depends-on): Add environ.
78478         * lib/unsetenv.c (environ): Remove fallback declaration.
78479         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
78480         m4/environ.m4.
78481         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
78482         (gl_PREREQ_UNSETENV): Likewise.
78484 2008-02-24  Bruno Haible  <bruno@clisp.org>
78486         * doc/posix-functions/environ.texi: Document the MacOS X problem.
78488 2008-02-20  Bob Proulx  <bob@proulx.com>
78490         Enable use of older two part flavor 'git describe'.
78491         * build-aux/git-version-gen: If using the older two part flavor of
78492         git version then recreate the third part now present in the
78493         newer three part flavor of git describe.
78495 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
78497         * lib/fts.c (fts_build): Typo correction to comment.
78499 2008-02-17  Bruno Haible  <bruno@clisp.org>
78501         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
78502         generating no-op conflicts.
78504 2008-02-17  Bruno Haible  <bruno@clisp.org>
78506         Speed up by 10%.
78507         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
78508         result_entries, rather than an index-based loop.
78510 2008-02-17  Bruno Haible  <bruno@clisp.org>
78512         Speed up by 25%.
78513         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
78514         'hashcode_cached'.
78515         (entry_create): New function.
78516         (entry_hashcode): Use the cached hashcode if possible.
78517         (read_changelog_file, try_split_merged_entry): Use entry_create.
78519 2008-02-17  Bruno Haible  <bruno@clisp.org>
78521         Speed up from O(n^2) to O(n) for long ChangeLog files.
78522         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
78523         (read_changelog_file): Change implementation of entries_reversed list
78524         to rbtreehash.
78525         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
78527 2008-02-17  Bruno Haible  <bruno@clisp.org>
78529         New option --split-merged-entry.
78530         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
78531         (find_paragraph_end, try_split_merged_entry): New functions.
78532         (long_options): Add option --split-merged-entry.
78533         (usage): Document option --split-merged-entry.
78534         (main): Implement option --split-merged-entry.
78535         Reported by Eric Blake.
78537 2008-02-17  Bruno Haible  <bruno@clisp.org>
78539         * lib/git-merge-changelog.c: Include c-strstr.h.
78540         (main): Support the "git pull --rebase" situation.
78541         * modules/git-merge-changelog (Depends-on): Add c-strstr.
78542         Reported by Eric Blake.
78544 2008-02-16  Eric Blake  <ebb9@byu.net>
78546         Avoid doubling \ in common case of "c-maybe" quoting style.
78547         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
78548         eliding outer quotes.
78549         * lib/quotearg.h: Document this.
78550         * tests/test-quotearg.c (result_strings, inputs, results_g)
78551         (flag_results, locale_results): Test it by adding a new string to
78552         each test group.
78553         (compare_strings): Test new string.
78555 2008-02-13  Eric Blake  <ebb9@byu.net>
78557         Avoid trigraph quoting in default output.
78558         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
78559         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
78560         unless explicitly requested.
78561         * tests/test-quotearg.c (flag_results, main): Add additional tests.
78563 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
78565         Don't rely on signed integer overflowing to negative value.
78566         * lib/getugroups.c (getugroups): Include <limits.h>.
78567         Instead, compare against INT_MAX, and increment only if the test passes.
78569 2008-02-13  Jim Meyering  <meyering@redhat.com>
78570         and Eric Blake  <ebb9@byu.net>
78572         Avoid shadowing warning and compile errors on Linux.
78573         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
78574         forwarding macros on Linux.
78575         (dcgettext): Define a stub, for Linux.
78576         (results_g, main): Avoid warnings.
78578 2008-02-12  Eric Blake  <ebb9@byu.net>
78580         Silence warning in last patch.
78581         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
78583         Quotearg part 4: add tests, fix c-maybe colon quoting.
78584         * lib/quotearg.h: Improve documentation.
78585         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
78586         escapes when adding outer quotes.  When quoting trigraphs, use
78587         valid C notation.  When quoting NUL, omit extra characters if next
78588         character is not digit.  Alter prototype.
78589         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
78590         callers.
78591         * modules/quotearg-tests: New module.
78592         * tests/test-quotearg.c: New test.
78594 2008-02-07  Eric Blake  <ebb9@byu.net>
78596         Quotearg part 3: add flag to control outer quote elision.
78597         * lib/quotearg.h (c_maybe_quoting_style): New style.
78598         (enum quoting_flags): Better documentation of flags.
78599         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
78600         c-maybe style.
78601         (quotearg_buffer_restyled): Handle new flag to elide outer
78602         quotes.
78604         Quotearg part 2: add flag that can control NUL elision.
78605         * lib/quotearg.h (set_quoting_flags): New prototype.
78606         * lib/quotearg.c (struct quoting_options): Add flag field.
78607         (set_quoting_flags): New function.
78608         (quotearg_buffer_restyled): Add flags parameter.
78609         (quotearg_alloc_mem): Set the flag if length cannot be returned.
78610         (quotearg_n_options): Set the flag, since length cannot be
78611         returned.
78612         (quoting_options_from_style): Default flags correctly.
78614         Quotearg part 1: more wrappers, restore quotearg_char state.
78615         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
78616         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
78617         (quotearg_colon_mem): New wrappers.
78618         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
78619         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
78620         functions.
78621         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
78622         (quotearg_colon_mem): New functions.
78624 2008-02-11  Bruno Haible  <bruno@clisp.org>
78626         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
78627         library in the current directory: it does not work with parallel make.
78628         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78630 2008-02-11  Bruno Haible  <bruno@clisp.org>
78632         * .gitattributes: New file.
78634 2008-02-11  Jim Meyering  <meyering@redhat.com>
78636         useless-if-before-free: Fix reversed exit values.
78637         * build-aux/useless-if-before-free: Use correct values
78638         for EXIT_MATCH and EXIT_NO_MATCH.
78640         * build-aux/useless-if-before-free: Close stdout carefully.
78642 2008-02-10  Bruno Haible  <bruno@clisp.org>
78644         New module 'git-merge-changelog'.
78645         * modules/git-merge-changelog: New file.
78646         * lib/git-merge-changelog.c: New file.
78648 2008-02-10  Jim Meyering  <meyering@redhat.com>
78650         useless-if-before-free: New option: --list (-l).
78652         useless-if-before-free: Don't exit immediately upon open failure.
78653         * build-aux/useless-if-before-free: Exit 2 for errors.
78654         Upon failure to open a file, don't exit immediately.
78655         Rather, just warn and continue with any remaining files.
78657 2008-02-10  Bruno Haible  <bruno@clisp.org>
78659         New abstract list operation 'node_set_value'.
78660         * lib/gl_list.h (gl_list_node_set_value): New function.
78661         (struct gl_list_implementation): New field node_set_value.
78662         * lib/gl_list.c (gl_list_node_set_value): New function.
78663         * lib/gl_array_list.c (gl_array_node_set_value): New function.
78664         (gl_array_list_implementation): Update.
78665         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
78666         (gl_carray_list_implementation): Update.
78667         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
78668         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
78669         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
78670         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
78671         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
78672         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
78673         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
78674         Update.
78675         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
78676         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
78677         (gl_sublist_list_implementation): Update.
78679 2008-02-10  Bruno Haible  <bruno@clisp.org>
78681         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
78682         Needed when ELEMENT is #defined to 'some_type *'.
78684 2008-02-10  Jim Meyering  <meyering@redhat.com>
78686         New script and module: useless-if-before-free
78687         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
78688         * build-aux/useless-if-before-free: New file.
78689         * modules/useless-if-before-free: New file.
78691         * build-aux/gitlog-to-changelog: Use committer date, not author date.
78693         xstrtol_error: Fix typo.
78694         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
78695         s/exit_failure/exit_status/.
78697 2008-02-09  Jim Meyering  <meyering@redhat.com>
78699         New script and module: gitlog-to-changelog
78700         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
78701         * modules/gitlog-to-changelog: New file.
78702         * build-aux/gitlog-to-changelog: New file.
78704 2008-02-08  Jim Meyering  <meyering@redhat.com>
78706         Avoid two "parameter unused" warnings.
78707         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
78708         Mark "st" as used.
78710         Use "git COMMAND", not "git-COMMAND".
78711         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
78712         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
78713         * build-aux/git-version-gen: Use "git status", not "git-status".
78715 2008-02-07  Bruno Haible  <bruno@clisp.org>
78717         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
78718         Avoids a crash on Windows Vista.
78719         Reported by Adam Strzelecki <ono@java.pl> via
78720         Simon Josefsson <simon@josefsson.org>.
78722 2008-02-06  Bruno Haible  <bruno@clisp.org>
78724         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
78725         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
78726         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
78727         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
78728         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
78729         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
78730         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
78731         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
78732         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
78733         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
78734         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
78735         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
78736         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
78737         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
78738         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
78739         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
78740         left-adjust flag.
78741         * tests/test-snprintf-posix.h (test_function): Likewise.
78742         * tests/test-sprintf-posix.h (test_function): Likewise.
78743         * tests/test-vasprintf-posix.c (test_function): Likewise.
78744         * doc/posix-functions/fprintf.texi: Update.
78745         * doc/posix-functions/printf.texi: Update.
78746         * doc/posix-functions/snprintf.texi: Update.
78747         * doc/posix-functions/sprintf.texi: Update.
78748         * doc/posix-functions/vfprintf.texi: Update.
78749         * doc/posix-functions/vprintf.texi: Update.
78750         * doc/posix-functions/vsnprintf.texi: Update.
78751         * doc/posix-functions/vsprintf.texi: Update.
78752         Reported by Peter Fales <psfales@alcatel-lucent.com>.
78754 2008-02-06  Bruno Haible  <bruno@clisp.org>
78756         Fix bug introduced on 2008-01-26.
78757         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
78759 2008-02-06  Bruno Haible  <bruno@clisp.org>
78761         Fix bug introduced on 2007-06-10.
78762         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
78763         !NEED_PRINTF_FLAG_ZERO.
78765 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
78767         getloadavg: use libperfstat on AIX5
78768         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
78770 2008-02-03  Bruno Haible  <bruno@clisp.org>
78772         * lib/diffseq.h: Add comments about required #includes.
78773         Reported by Michael Biggs <gnulib@doubleplum.net>.
78775 2008-02-01  Bruno Haible  <bruno@clisp.org>
78777         * users.txt: Add gnuit.
78779 2008-01-31  Bruno Haible  <bruno@clisp.org>
78781         * lib/md4.c (set_uint32): Mark as inline.
78782         * lib/md5.c (set_uint32): Likewise.
78783         * lib/sha1.c (set_uint32): Likewise.
78784         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
78785         * m4/md5.m4 (gl_MD5): Likewise.
78786         * m4/sha1.m4 (gl_SHA1): Likewise.
78788 2008-01-31  Jim Meyering  <meyering@redhat.com>
78790         Use "sizeof VAR", rather than a literal "4".
78791         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
78792         * lib/md4.c (md4_read_ctx): Likewise.
78793         * lib/sha1.c (sha1_read_ctx): Likewise.
78795 2008-01-31  Simon Josefsson  <simon@josefsson.org>
78797         * tests/test-sha1.c: New file, based on test-md5.c.
78799         * modules/crypto/sha1-tests: New file.
78801 2008-01-31  Simon Josefsson  <simon@josefsson.org>
78803         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
78805 2008-01-31  Jim Meyering  <meyering@redhat.com>
78807         Prefer "sizeof v" over the equivalent "4".
78808         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
78809         * lib/md5.c (set_uint32): Likewise.
78810         * lib/sha1.c (set_uint32): Likewise.
78812 2008-01-31  Simon Josefsson  <simon@josefsson.org>
78814         * lib/sha1.c (set_uint32): Mark function as static.
78816 2008-01-31  Simon Josefsson  <simon@josefsson.org>
78818         md2: clarify comments to say that alignment is not required.
78819         * lib/md2.h: Remove warning about alignment in comment.
78820         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
78821         never been required.
78823 2008-01-31  Simon Josefsson  <simon@josefsson.org>
78825         md4: adapt alignment constraint fix from sha1.
78826         * lib/md4.c (set_uint32): New function, from sha1.c
78827         (md4_read_ctx): Use it.
78828         (md4_finish_ctx): Doc fix.
78829         * lib/md4.h: Doc fix.
78831 2008-01-31  Simon Josefsson  <simon@josefsson.org>
78833         md5: adapt alignment constraint fix from sha1.
78834         * lib/md5.c (set_uint32): New function, from sha1.c
78835         (md5_read_ctx): Use it.
78836         (md5_finish_ctx): Doc fix.
78837         * lib/md5.h: Doc fix.
78839 2008-01-30  Peter Palfrader  <weasel@debian.org>
78841         sha1: remove the result buffer alignment constraint
78842         * lib/sha1.c (set_uint32): New function.
78843         (sha1_read_ctx): Rewrite to remove the result buffer alignment
78844         constraint.
78845         (sha1_finish_ctx): Remove comment warning about alignment constraint.
78846         * lib/sha1.h: Likewise.
78848 2008-01-30  Andreas Schwab  <schwab@suse.de>
78849             Bruno Haible  <bruno@clisp.org>
78851         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
78852         correct definition of LDBL_MIN_EXP.
78854 2008-01-30  Karl Berry  <karl@gnu.org>
78856         * config/srclist-update: try to preserve x bit on updates.
78857         * config/srclistvars.sh: update for karl.
78859 2008-01-29  Jim Meyering  <meyering@redhat.com>
78861         vasnprintf.c: Avoid warning about unused label
78862         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
78863         "overflow" label definition and associated code with the
78864         same cpp condition that guards the sole use of that label.
78866 2008-01-26  Bruno Haible  <bruno@clisp.org>
78868         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
78869         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
78870         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
78871         * lib/isnanl-nolibm.h (isnanl): Likewise.
78872         Reported by Paul Eggert <eggert@cs.ucla.edu>.
78874 2008-01-26  Bruno Haible  <bruno@clisp.org>
78876         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
78877         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
78879 2008-01-26  Bruno Haible  <bruno@clisp.org>
78881         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
78882         GCC >= 4.0 built-in.
78883         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
78885 2008-01-26  Bruno Haible  <bruno@clisp.org>
78887         Rename isnan, applicable to 'double' only, to isnand.
78888         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
78889         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
78890         (configure.ac): Update.
78891         (Include): Replace "isnan.h" with "isnand.h".
78892         * m4/isnand.m4: Renamed from m4/isnan.m4.
78893         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
78894         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
78895         instead of isnan.c.
78896         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
78897         instead of HAVE_ISNAN_IN_LIBC.
78898         (isnand): Renamed from isnan.
78899         * lib/isnand.c: New file.
78900         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
78901         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
78902         (Makefile.am): Update.
78903         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
78904         Include isnand.h instead of isnan.h.
78905         (main): Test isnand instead of isnan.
78906         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
78907         isnan-nolibm.
78908         * modules/frexp (Depends-on): Likewise.
78909         * modules/frexp-tests (Depends-on): Likewise.
78910         * modules/frexp-nolibm (Depends-on): Likewise.
78911         * modules/frexp-nolibm-tests (Depends-on): Likewise.
78912         * modules/isfinite (Depends-on): Likewise.
78913         * modules/round-tests (Depends-on): Likewise.
78914         * modules/signbit (Depends-on): Likewise.
78915         * modules/signbit-tests (Depends-on): Likewise.
78916         * modules/snprintf-posix (Depends-on): Likewise.
78917         * modules/sprintf-posix (Depends-on): Likewise.
78918         * modules/trunc-tests (Depends-on): Likewise.
78919         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
78920         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
78921         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
78922         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
78923         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
78924         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
78925         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
78926         * modules/vasnprintf-posix (Depends-on): Likewise.
78927         * modules/vasprintf-posix (Depends-on): Likewise.
78928         * modules/vfprintf-posix (Depends-on): Likewise.
78929         * modules/vsnprintf-posix (Depends-on): Likewise.
78930         * modules/vsprintf-posix (Depends-on): Likewise.
78931         * lib/frexp.c: Include isnand.h instead of isnan.h.
78932         (ISNAN): Set to isnand instead of isnan.
78933         * lib/isfinite.c: Include isnand.h instead of isnan.h.
78934         (gl_isfinited): Use isnand instead of isnan.
78935         * lib/signbitd.c: Include isnand.h instead of isnan.h.
78936         (gl_signbitd): Use isnand instead of isnan.
78937         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
78938         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
78939         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
78940         (main): Use isnand instead of isnan.
78941         * tests/test-round1.c: Include isnand.h.
78942         (main): Use isnand instead of isnan.
78943         * tests/test-round2.c: Include isnand.h instead of isnan.h.
78944         (ISNAN): Set to isnand instead of isnan.
78945         * tests/test-trunc1.c: Include isnand.h.
78946         (main): Use isnand instead of isnan.
78947         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
78948         (equal): Use isnand instead of isnan.
78949         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
78950         isnand-nolibm.
78951         * NEWS: Mention the change.
78953 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
78954             Bruno Haible  <bruno@clisp.org>
78956         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
78957         the GCC builtins for signbits are present and set
78958         REPLACE_SIGNBIT_USING_GCC if so.
78959         * lib/math.in.h (signbit): Define using GCC builtins if
78960         REPLACE_SIGNBIT_USING_GCC is set.
78961         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
78962         REPLACE_SIGNBIT_USING_GCC.
78963         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
78965 2008-01-25  Jim Meyering  <meyering@redhat.com>
78967         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
78968         * lib/poll.c: Include <config.h>, not "config.h".
78969         * tests/test-getaddrinfo.c: Likewise.
78971 2008-01-25  Simon Josefsson  <simon@josefsson.org>
78973         * modules/sockets-tests: New file.
78975 2008-01-24  Simon Josefsson  <simon@josefsson.org>
78977         * modules/sockets: New module, can be used to call WSA_Startup and
78978         WSA_Cleanup when needed.
78980         * lib/sockets.h, lib/sockets.c: New files.
78982         * m4/sockets.m4: New file.
78984         * tests/test-sockets.c: New file.
78986 2008-01-19  Bruno Haible  <bruno@clisp.org>
78988         * doc/posix-headers: Renamed from doc/headers.
78989         * doc/posix-functions: Renamed from doc/functions.
78990         * doc/gnulib.texi: Update.
78992 2008-01-19  Bruno Haible  <bruno@clisp.org>
78994         * doc/glibc-functions/strcasestr.texi: Include contents of
78995         doc/functions/strcasestr.texi, fixing the list of platforms.
78996         * doc/functions/strcasestr.texi: Remove file.
78998 2008-01-19  Bruno Haible  <bruno@clisp.org>
79000         * doc/glibc-functions/memmem.texi: Include contents of
79001         doc/functions/memmem.texi.
79002         * doc/functions/memmem.texi: Remove file.
79004 2008-01-18  Bruno Haible  <bruno@clisp.org>
79006         * doc/glibc-functions/*.texi: New files.
79007         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
79008         to use the new files.
79010 2008-01-17  Bruno Haible  <bruno@clisp.org>
79012         * tests/test-gethostname.c (main): Fix printf statement.
79014 2008-01-17  Simon Josefsson  <simon@josefsson.org>
79016         * modules/gethostname-tests: New file.
79018         * tests/test-gethostname.c: New file.
79020 2008-01-17  Simon Josefsson  <simon@josefsson.org>
79022         * lib/gethostname.c: Include string.h unconditionally, strncpy is
79023         used by the UNAME case.  Reported by Bruno Haible
79024         <bruno@clisp.org>.
79026 2008-01-17  Eric Blake  <ebb9@byu.net>
79028         Convert c-strcasestr to be more efficient.
79029         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
79030         (Depends-on): Add c-strcase, remove malloca, strnlen.
79031         * tests/test-c-strcasestr.c (main): Enhance test.
79032         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
79034 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
79036         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
79037         Use it in creating po/Makevars.
79039 2008-01-15  Simon Josefsson  <simon@josefsson.org>
79041         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
79042         Applications that requires it should initialize libgcrypt
79043         manually.
79045 2008-01-16  Simon Josefsson  <simon@josefsson.org>
79047         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
79049 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
79051         Fix problem with getdate on mingw32 reported by Simon Josefsson
79052         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
79053         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
79054         tzname", when deciding whether to declare tzname.
79055         * lib/strftime.c (tzname): Likewise.
79057 2008-01-15  Bruno Haible  <bruno@clisp.org>
79059         Work around a MacOS X 10.5 bug in frexpl().
79060         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
79061         * doc/functions/frexpl.texi: Document the bug.
79062         Reported by Elias Pipping <pipping@gentoo.org>.
79064 2008-01-14  Eric Blake  <ebb9@byu.net>
79066         Touch up previous patch.
79067         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
79068         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
79070         Convert strcasestr module to use Two-Way algorithm.
79071         * modules/strcasestr-simple: New module, based on the old
79072         strcasestr, but with Two-Way rather than KMP.
79073         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
79074         * lib/string.in.h (rpl_strcasestr): Declare.
79075         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
79076         performance.
79077         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
79078         * modules/string (Makefile.am): Support strcasestr.
79079         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
79080         * modules/strcasestr-tests (Depends-on): Check for alarm.
79081         * tests/test-strcasestr.c: Augment test.
79082         * lib/str-two-way.h: Clean up stray macro.
79083         * NEWS: Document new module.
79084         * MODULES.html.sh (string handling): Likewise.
79085         * doc/functions/strcasestr.texi: New file.
79086         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
79087         here, since it is not a POSIX function.
79089 2008-01-14  Colin Watson  <cjwatson@debian.org>
79090             Bruno Haible  <bruno@clisp.org>
79092         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
79093         works fine; if not, set REPLACE_STRSIGNAL.
79094         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
79095         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
79096         REPLACE_STRSIGNAL.
79097         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
79098         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
79099         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
79101 2008-01-14  Bruno Haible  <bruno@clisp.org>
79103         * modules/strsignal (Include): Change to <string.h>.
79105 2008-01-14  Colin Watson  <cjwatson@debian.org>
79107         * modules/argp (Notice): Add a notice recommending to change
79108         XGETTEXT_OPTIONS.
79109         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
79111 2008-01-13  Colin Watson  <cjwatson@debian.org>
79113         * modules/strsignal-tests: New file.
79114         * tests/test-strsignal.c: New file.
79116         * lib/strsignal.c: New file, from glibc with modifications.
79117         * lib/siglist.h: New file, from glibc with modifications.
79118         * lib/string.in.h (strsignal): New declaration.
79119         * m4/strsignal.m4: New file.
79120         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
79121         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
79122         * modules/strsignal: New file.
79123         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
79124         HAVE_DECL_STRSIGNAL.
79126 2008-01-13  Bruno Haible  <bruno@clisp.org>
79128         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
79129         locale encoding is not ASCII. Needed for OpenBSD 4.0.
79130         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
79131         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
79133 2008-01-13  Bruno Haible  <bruno@clisp.org>
79135         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
79136         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
79137         * lib/argp.h (__attribute__): Likewise.
79138         * lib/c-stack.c (__attribute__): Likewise.
79139         * lib/error.h (__attribute__): Likewise.
79140         * lib/fts.c (__attribute__): Likewise.
79141         * lib/openat.h (__attribute__): Likewise.
79142         * lib/stdio.in.h (__attribute__): Likewise.
79143         * lib/string.in.h (__attribute__): Likewise.
79144         * lib/utimens.c (__attribute__): Likewise.
79145         * lib/vasnprintf.h (__attribute__): Likewise.
79146         * lib/xalloc.h (__attribute__): Likewise.
79147         * lib/xprintf.h (__attribute__): Likewise.
79148         * lib/xstrtol.h (__attribute__): Likewise.
79149         * lib/xvasprintf.h (__attribute__): Likewise.
79151 2008-01-12  Bruno Haible  <bruno@clisp.org>
79153         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
79154         * doc/glibc-headers/a.out.texi: New file.
79155         * doc/glibc-headers/aliases.texi: New file.
79156         * doc/glibc-headers/alloca.texi: New file.
79157         * doc/glibc-headers/ar.texi: New file.
79158         * doc/glibc-headers/argp.texi: New file.
79159         * doc/glibc-headers/argz.texi: New file.
79160         * doc/glibc-headers/byteswap.texi: New file.
79161         * doc/glibc-headers/crypt.texi: New file.
79162         * doc/glibc-headers/endian.texi: New file.
79163         * doc/glibc-headers/envz.texi: New file.
79164         * doc/glibc-headers/err.texi: New file.
79165         * doc/glibc-headers/error.texi: New file.
79166         * doc/glibc-headers/execinfo.texi: New file.
79167         * doc/glibc-headers/fpu_control.texi: New file.
79168         * doc/glibc-headers/fstab.texi: New file.
79169         * doc/glibc-headers/fts.texi: New file.
79170         * doc/glibc-headers/getopt.texi: New file.
79171         * doc/glibc-headers/ieee754.texi: New file.
79172         * doc/glibc-headers/ifaddrs.texi: New file.
79173         * doc/glibc-headers/libintl.texi: New file.
79174         * doc/glibc-headers/mcheck.texi: New file.
79175         * doc/glibc-headers/mntent.texi: New file.
79176         * doc/glibc-headers/obstack.texi: New file.
79177         * doc/glibc-headers/paths.texi: New file.
79178         * doc/glibc-headers/printf.texi: New file.
79179         * doc/glibc-headers/pty.texi: New file.
79180         * doc/glibc-headers/resolv.texi: New file.
79181         * doc/glibc-headers/shadow.texi: New file.
79182         * doc/glibc-headers/sysexits.texi: New file.
79183         * doc/glibc-headers/ttyent.texi: New file.
79185 2008-01-12  Jim Meyering  <meyering@redhat.com>
79187         announce-gen: emit Gnulib's git-based version string.
79188         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
79189         New option --gnulib-version=V, where V is expected to be
79190         the output of running git describe in the gnulib directory.
79191         (get_tool_versions): Request feedback on xdelta.  I suspect it's
79192         not useful, and plan to stop publishing an xdelta file with each
79193         coreutils release.
79195         * build-aux/announce-gen: Also check for lzma-compressed files.
79197 2008-01-11  Bruno Haible  <bruno@clisp.org>
79199         * tests/test-memmem.c (main): Increase maximum allowed time.
79200         * tests/test-strstr.c (main): Likewise.
79202 2008-01-11  Bruno Haible  <bruno@clisp.org>
79204         * doc/functions/memmem.texi: Add more precisions about platforms.
79205         * doc/functions/strstr.texi: Likewise.
79207 2008-01-10  Eric Blake  <ebb9@byu.net>
79209         * m4/strstr.m4: Delete cruft from copy-n-paste.
79210         Reported by Bruno Haible.
79212 2008-01-10  Bruno Haible  <bruno@clisp.org>
79214         Make c-strstr rely on strstr.
79215         * lib/c-strstr.c: Don't include str-kmp.h.
79216         (c_strstr): Define in terms of strstr.
79217         * modules/c-strstr (Files): Remove lib/str-kmp.h.
79218         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
79220 2008-01-10  Bruno Haible  <bruno@clisp.org>
79222         * doc/gnulib.texi (String Functions in C Locale): New section.
79223         * doc/c-ctype.texi: New file.
79224         * doc/c-strcase.texi: New file.
79225         * doc/c-strcaseeq.texi: New file.
79226         * doc/c-strcasestr.texi: New file.
79227         * doc/c-strstr.texi: New file.
79228         * doc/c-strtod.texi: New file.
79229         * doc/c-strtold.texi: New file.
79231 2008-01-10  Eric Blake  <ebb9@byu.net>
79233         * lib/relocatable.h: Fix a comment.
79235 2008-01-10  Eric Blake  <ebb9@byu.net>
79237         Share two-way algorithm.
79238         * lib/str-two-way.h: New file, merged from...
79239         * lib/memmem.c: ...here...
79240         * lib/strstr.c: ...and here.
79241         * modules/memmem (Files): Use it.
79242         * modules/strstr (Files): Likewise.
79244         Avoid quadratic strstr implementations.
79245         * lib/strstr.c: New file.
79246         * m4/strstr.m4: Likewise.
79247         * modules/strstr: Likewise.
79248         * modules/strstr-tests: Likewise.
79249         * tests/test-strstr.c: Likewise.
79250         * lib/string.in.h (rpl_strstr): Declare.
79251         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
79252         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
79253         * modules/string (Makefile.am): Likewise.
79254         * MODULES.html.sh (string handling): Mention new module.
79255         * doc/functions/strstr.texi (strstr): Document the bug.
79257 2008-01-10  Bruno Haible  <bruno@clisp.org>
79259         * lib/relocatable.h (relocate): State whether result is freshly
79260         allocated or not.
79261         * lib/relocatable.c (relocate): Return a freshly allocated string
79262         instead of a pointer to a privately held string.
79263         Reported by Sylvain Beucler <beuc@gnu.org>.
79265 2008-01-10  Colin Watson  <cjwatson@debian.org>
79267         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
79268         s/S_ISNLK/S_ISLNK/.
79270 2008-01-09  Bruno Haible  <bruno@clisp.org>
79272         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
79273         and other files.
79274         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
79275         if it's only a guess.
79276         * modules/memmem: Simplify by depending on memmem-simple.
79278 2008-01-09  Bruno Haible  <bruno@clisp.org>
79280         Work around OpenBSD 4.0 tdelete() bug.
79281         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
79282         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
79283         macros and don't redefine the enum values.
79284         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
79285         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
79286         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
79288 2008-01-09  Bruno Haible  <bruno@clisp.org>
79290         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
79291         (main): Don't perform the tests if setlocale did not install a UTF-8
79292         locale. Needed on OpenBSD 4.0.
79293         * modules/wcwidth-tests (Depends-on): Add localcharset.
79295 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79297         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
79298         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
79299         * NEWS: announce this.
79300         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
79302 2008-01-09  Simon Josefsson  <simon@josefsson.org>
79303         and Eric Blake  <ebb9@byu.net>
79305         Add memmem-simple module.
79306         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
79307         (gl_FUNC_MEMMEM): Separate performance from presence checks.
79308         * modules/memmem-simple: New file.
79309         * modules/memmem (Description): Tweak.
79310         * MODULES.html.sh (string handling): Mention new module.
79311         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
79312         addressed by memmem-simple.
79313         * NEWS: Document the difference.
79315 2008-01-09  Eric Blake  <ebb9@byu.net>
79317         Give gcc some memmem optimization hints.
79318         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
79319         (strcasestr): Declare as pure.
79320         * modules/memmem (Maintainer): Claim my implementation.
79322 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79324         Support AIX 6.1 and higher.
79325         * build-aux/config.libpath: Likewise.
79326         * build-aux/config.rpath: Likewise.
79328 2008-01-08  Jim Meyering  <meyering@redhat.com>
79329             Bruno Haible  <bruno@clisp.org>
79331         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
79332         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
79333         Reported by Peter Fales in
79334         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
79336 2008-01-08  Bruno Haible  <bruno@clisp.org>
79338         * modules/unictype/category-of (Depends-on): Add
79339         unictype/category-none.
79340         * modules/unictype/category-and-tests (Depends-on): Add
79341         unictype/category-{L,N,Lu,Nd}.
79342         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
79343         * modules/unictype/category-or-tests (Depends-on): Add
79344         unictype/category-{L,N}.
79345         * modules/unictype/category-name-tests (Depends-on): Add
79346         unictype/category-{Z,Nl}.
79347         Reported by Simon Josefsson.
79349 2008-01-08  Bruno Haible  <bruno@clisp.org>
79351         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
79352         convention better.
79353         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
79354         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
79355         Reported by Peter Miller <millerp@canb.auug.org.au>.
79357 2008-01-08  Eric Blake  <ebb9@byu.net>
79359         Rewrite memmem to guarantee linear complexity without malloc.
79360         * lib/memmem.c (memmem): Use Two-Way rather than
79361         Knuth-Morris-Pratt, to allow O(1) space usage.
79362         (critical_factorization, two_way_short_needle)
79363         (two_way_long_needle): New functions.
79364         (knuth_morris_pratt): Delete.
79365         * modules/memmem (Depends-on): No longer need malloca or stdbool.
79366         Add stdint.
79367         * tests/test-memmem.c (main): Add tests for periodic needle and
79368         sublinear performance.
79369         * doc/functions/memmem.texi (memmem): Document other deficiencies
79370         in cygwin and older glibc.
79372 2008-01-08  Bruno Haible  <bruno@clisp.org>
79374         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
79375         augmentation.
79377 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
79379         Add a configure time option: --disable-acl.
79380         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
79381         AC_ARG_ENABLE(acl).
79383 2008-01-06  Simon Josefsson  <simon@josefsson.org>
79385         * tests/test-localename.c: Don't include obsolete "setenv.h".
79387         * modules/localename-tests (Depends-on): Need unsetenv.
79389 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79391         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
79393 2008-01-06  Colin Watson  <cjwatson@debian.org>
79395         * users.txt: Add man-db.
79397 2008-01-07  Bruno Haible  <bruno@clisp.org>
79399         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
79400         previous section name.
79402 2008-01-07  Bruno Haible  <bruno@clisp.org>
79404         * lib/progname.c (set_program_name): Don't strip off a leading
79405         "lt-" prefix outside a .libs directory.
79406         Suggested by Paul Eggert.
79408 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
79409             Bruno Haible  <bruno@clisp.org>
79411         Improve memory cleanup in 'relocatable' module.
79412         * lib/relocatable.h (compute_curr_prefix): Change return type to
79413         'char *'.
79414         * lib/relocatable.c (compute_curr_prefix): Change return type to
79415         'char *'. Free curr_installdir after use.
79416         (relocate): Free curr_prefix_better after use.
79417         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
79419 2008-01-01  Bruno Haible  <bruno@clisp.org>
79421         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
79422         failure on older glibc systems.
79423         Reported by Peter Fales <psfales@alcatel-lucent.com>.
79425 2008-01-05  Eric Blake  <ebb9@byu.net>
79427         Avoid quadratic system memmem.
79428         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
79429         Reported by Ralf Wildenhues.
79431         Fix memmem test for mingw.
79432         * modules/memmem-tests (configure.ac): Check for alarm.
79433         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
79434         it.
79435         * doc/functions/memmem.texi: New file.
79436         * doc/gnulib.texi (Function Substitutes): Add memmem.
79437         Reported by Bruno Haible.
79439 2008-01-04  Bruno Haible  <bruno@clisp.org>
79441         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
79442         Require gl_HEADER_STRINGS_H_DEFAULTS, not
79443         gl_HEADER_STRING_H_DEFAULTS.
79445 2008-01-04  Eric Blake  <ebb9@byu.net>
79447         Shorten duration of memmem test.
79448         * tests/test-memmem.c (main): Use alarm to declare failure if test
79449         is taking too long.
79450         Reported by Ralf Wildenhues.
79452 2007-12-21  Simon Josefsson  <simon@josefsson.org>
79454         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
79455         string, needed by strerror.
79457 2008-01-03  Colin Watson  <cjwatson@debian.org>
79458             Bruno Haible  <bruno@clisp.org>
79460         * doc/gnulib-tool.texi (Localization): New section.
79462 2008-01-02  Bruno Haible  <bruno@clisp.org>
79464         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
79465         variables to 'unsigned char *' type.
79466         Reported by Paul Eggert.
79468 2008-01-02  Jim Meyering  <jim@meyering.net>
79470         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
79472 2007-12-31  Jim Meyering  <jim@meyering.net>
79474         Avoid use of private FTS type name.
79475         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
79477 2007-12-30  Karl Berry  <karl@gnu.org>
79479         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
79480         work around defect in Texinfo and/or the standalone Info browser.
79482 2007-12-30  Bruno Haible  <bruno@clisp.org>
79484         Unify 5 copies of the KMP code.
79485         * lib/str-kmp.h: New file.
79486         * lib/c-strcasestr.c: Include str-kmp.h.
79487         (knuth_morris_pratt): Remove function.
79488         (c_strcasestr): Update.
79489         * lib/c-strstr.c: Include str-kmp.h.
79490         (knuth_morris_pratt): Remove function.
79491         (c_strcasestr): Update.
79492         * lib/mbscasestr.c: Include str-kmp.h.
79493         (knuth_morris_pratt_unibyte): Remove function.
79494         * lib/mbsstr.c: Include str-kmp.h.
79495         (knuth_morris_pratt_unibyte): Remove function.
79496         * lib/strcasestr.c: Include str-kmp.h.
79497         (knuth_morris_pratt): Remove function.
79498         (strcasestr): Update.
79499         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
79500         * modules/c-strstr (Files): Likewise.
79501         * modules/mbscasestr (Files): Likewise.
79502         * modules/mbsstr (Files): Likewise.
79503         * modules/strcasestr (Files): Likewise.
79504         Suggested by Paul Eggert.
79506 2007-12-30  Bruno Haible  <bruno@clisp.org>
79508         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
79509         defined.
79511 2007-12-30  Bruno Haible  <bruno@clisp.org>
79513         * lib/xmalloca.h: Include xalloc.h.
79514         (xnmalloca): New macro.
79516 2007-12-30  Bruno Haible  <bruno@clisp.org>
79518         * lib/malloca.h (nmalloca): New macro.
79519         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
79520         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
79521         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
79522         knuth_morris_pratt_multibyte): Likewise.
79523         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
79524         knuth_morris_pratt_multibyte): Likewise.
79525         * lib/memmem.c (knuth_morris_pratt): Likewise.
79526         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
79528 2007-12-25  Bruno Haible  <bruno@clisp.org>
79530         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
79531         * lib/glob.c: Don't include openat.h.
79532         (link_exists2_p): Add back the code that deals with the
79533         !GLOB_ALTDIRFUNC case.
79534         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
79535         let it do the filename concatenation.
79536         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
79537         * modules/glob (Depends-on): Remove openat.
79539 2007-12-31  Bruno Haible  <bruno@clisp.org>
79541         * modules/dirfd (License): Change to LGPLv2+.
79542         Approved by Jim Meyering.
79544 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
79546         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
79547         when multiplying M by sizeof (size_t).
79549 2007-12-10  Martin Lambers  <marlam@marlam.de>
79551         Override getpagesize on mingw.
79552         * lib/getpagesize.c: New file.
79553         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
79554         * modules/getpagesize (Files): Add lib/getpagesize.c.
79555         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
79556         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
79557         REPLACE_GETPAGESIZE.
79558         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
79560 2007-12-25  Bruno Haible  <bruno@clisp.org>
79562         * modules/localcharset (Notice): New field.
79563         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
79564         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
79566 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
79567             Bruno Haible  <bruno@clisp.org>
79569         Avoid using the syntax symbol() in formatted documentation.
79570         * MODULES.html.sh (func_module): When replacing symbol() with a
79571         hyperlink, remove the parentheses. Show an error if some remain.
79572         Recognize and render the '...' syntax.
79573         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
79574         Rework. Add paragraph about GCC's inlining.
79575         * doc/alloca.texi: Likewise.
79576         * doc/error.texi: Remove parentheses from symbol reference.
79577         * doc/gnulib-intro.texi: Likewise.
79578         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
79579         * modules/fnmatch (Description): Reword to say "the ... function".
79580         * modules/full-read (Description): Likewise.
79581         * modules/full-write (Description): Likewise.
79582         * modules/safe-read (Description): Likewise.
79583         * modules/safe-write (Description): Likewise.
79584         * modules/strchrnul (Description): Likewise.
79585         * modules/trim (Description): Likewise.
79586         * modules/error (Description): Remove parentheses from symbol
79587         references.
79588         * modules/verror (Description): Likewise.
79589         Reported by Karl Berry.
79591 2007-12-25  Bruno Haible  <bruno@clisp.org>
79593         Fixup after 2007-10-16 commit.
79594         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
79596 2007-12-24  Bruno Haible  <bruno@clisp.org>
79598         Make --enable-relocatable work with DESTDIR.
79599         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
79600         to compute installdir from destprog.
79601         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
79602         also set the RELOC_DESTDIR variable.
79603         Reported by Левашев Иван <octagram@bluebottle.com>.
79605 2007-12-24  Bruno Haible  <bruno@clisp.org>
79607         Fix link error due to xalloc_die().
79608         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
79609         of xreadlink.
79610         * lib/relocwrapper.c: Update comments.
79611         * build-aux/install-reloc: Remove xreadlink.c from file list.
79612         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
79613         xreadlink.c.
79614         Reported by Левашев Иван <octagram@bluebottle.com>.
79616 2007-12-24  Bruno Haible  <bruno@clisp.org>
79618         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
79619         * lib/setenv.h: Remove file.
79620         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
79621         lib/setenv.h.
79622         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
79623         (Depends-on): Add stdlib.
79624         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
79625         gl_FUNC_UNSETENV.
79626         (Include): Replace setenv.h with <stdlib.h>.
79627         * modules/unsetenv: New file.
79628         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
79629         * lib/unsetenv.c: Include <stdlib.h> first.
79630         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
79631         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
79632         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
79633         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
79634         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
79635         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
79636         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
79637         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
79638         * doc/functions/unsetenv.texi: Update.
79639         * modules/xsetenv (Depends-on): Add unsetenv.
79640         * modules/getdate (Depends-on): Likewise.
79641         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
79642         * lib/xsetenv.c: Don't include setenv.h.
79643         * lib/getdate.y: Likewise.
79644         * lib/relocwrapper.c: Likewise.
79645         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
79646         (Depends-on): Add stdlib.
79647         * NEWS: Mention the changes.
79648         Reported by Левашев Иван <octagram@bluebottle.com>.
79650 2007-12-23  Bruno Haible  <bruno@clisp.org>
79652         * lib/memmem.c (memmem): Use lowercase variable names. Tab
79653         indentation.
79655 2007-12-23  Bruno Haible  <bruno@clisp.org>
79657         * lib/c-strcasestr.c: Add more comments.
79658         * lib/c-strstr.c: Likewise.
79659         * lib/mbscasestr.c: Likewise.
79660         * lib/mbsstr.c: Likewise.
79661         * lib/strcasestr.c: Likewise.
79662         * lib/memmem.c: Likewise.
79664 2007-12-23  Bruno Haible  <bruno@clisp.org>
79666         * tests/test-memmem.c: Include <string.h> first.
79668 2007-12-22  Bruno Haible  <bruno@clisp.org>
79670         * gnulib-tool (func_create_testdir): Change $auxdir while generating
79671         the contents of $testsbase.
79672         Reported by Ralf Wildenhues.
79674 2007-12-22  Bruno Haible  <bruno@clisp.org>
79676         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
79677         two variables local_ldadd_before, local_ldadd_last.
79679 2007-12-20  Eric Blake  <ebb9@byu.net>
79681         Work around circular library issue when cross-compiling.
79682         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
79683         that progname.o does not need to pull in rpl_memcmp.
79685 2007-12-19  Eric Blake  <ebb9@byu.net>
79687         Fix memmem to avoid O(n^2) worst-case complexity.
79688         * lib/memmem.c (knuth_morris_pratt): New function.
79689         (memmem): Use it if first few naive iterations fail.
79690         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
79691         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
79692         * modules/memchr (License): Likewise.
79693         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
79694         malloca.
79695         * tests/test-memmem.c: Rewrite, borrowing ideas from
79696         test-mbsstr1.c; the old version wouldn't even compile!
79697         * modules/memmem-tests: New file.
79698         * lib/string.in.h (rpl_memmem): Add declaration.
79699         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
79700         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
79701         REPLACE_MEMMEM.
79703 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
79705         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
79706         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
79707         before any system include files, and undef after them all.  This
79708         should fix a problem on VMS reported by John E. Malmberg in
79709         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
79711 2007-12-17  Eric Blake  <ebb9@byu.net>
79713         Revert addition of verify, for BSD/OS.
79714         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
79715         can't handle large files, for the sake of obsolete platforms.
79716         * modules/fseeko (Depends-on): Remove verify.
79717         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
79718         * doc/functions/ftello.texi (ftello): Likewise.
79719         * doc/functions/fgetpos.texi (fgetpos): Likewise.
79720         Reported by Larry Jones.
79722 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
79724         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
79725         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
79727 2007-12-17  Jim Meyering  <meyering@redhat.com>
79729         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
79730         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
79731         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
79732         * modules/getcwd (Depends-on): Add openat.
79733         Reported by Petr Salinger.
79735 2007-12-17  Bruno Haible  <bruno@clisp.org>
79737         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
79738         avoid a segmentation fault of the configure test on x86_64 systems.
79740 2007-12-15  Jim Meyering  <meyering@redhat.com>
79742         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
79744 2007-12-13  Eric Blake  <ebb9@byu.net>
79746         Another fseek test.
79747         * tests/test-fseek.c (main): Also test ungetc handling.
79748         * tests/test-fseeko.c (main): Likewise.
79749         * modules/fseeko (Depends-on): Add verify.
79750         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
79751         large.
79752         Reported by Larry Jones.
79754         Fix fseeko on mingw.
79755         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
79756         seek.
79758         Beef up fseek tests.
79759         * tests/test-fseek.c (main): Also test eof handling.
79760         * tests/test-fseeko.c (main): Likewise.
79761         Reported by Larry Jones.
79763 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
79765         Fix fseeko on BSD-based platforms.
79766         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
79767         successful seek.
79769 2007-12-12  Eric Blake  <ebb9@byu.net>
79771         Allow circular dependency of separate libtests.a
79772         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
79773         when use_libtests.
79775 2007-12-11  Eric Blake  <ebb9@byu.net>
79777         Fix bug with -0.0L in previous patch.
79778         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
79779         * tests/test-isnan.c (main): Also test on zeroes.
79780         * tests/test-isnanf.c (main): Likewise.
79781         * tests/test-isnanl.h (main): Likewise.
79783         Detect pseudo-denormals on x86 even when cross-compiling.
79784         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
79785         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
79786         invalid bit patterns that happen to satisfy ==.
79788         Avoid link failures with separate libtests.a.
79789         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
79790         last, to satisfy circular dependencies.
79792 2007-12-11  Eric Blake  <ebb9@byu.net>
79793         and Bruno Haible  <bruno@clisp.org>
79795         Fix OpenBSD 4.0 <float.h> handling of long double.
79796         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
79797         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
79798         * doc/headers/float.texi (float.h): Document OpenBSD bug.
79800 2007-12-11  Jim Meyering  <meyering@redhat.com>
79802         * users.txt: Add libvirt.
79804         Support versions of autoconf prior to 2.59c.
79805         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
79806         if it is not already defined.
79808 2007-12-09  Bruno Haible  <bruno@clisp.org>
79810         Let 'gnulib-tool --import' collect sources needed for the tests in
79811         tests/ rather than in lib/.
79812         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
79813         argument. If true, add rules to generate libtests.a, and put libtests.a
79814         into $(LDADD). Consider source files in subdirectories and set
79815         uses_subdirs.
79816         (func_emit_initmacro_start, func_emit_initmacro_end,
79817         func_emit_initmacro_done): Pass all arguments explicitly.
79818         (func_import): Determine two module lists main_modules,
79819         testsrelated_modules. Determine use_libtests. Determine two variables
79820         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
79821         instead of just sed_transform_lib_file. Determine two variables
79822         main_files and testsrelated_files. Compute 'files' as the union of
79823         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
79824         func_add_or_update. In the generated gnulib-comp.m4, collect the
79825         object files for tests/ in different variables than those for lib/.
79826         Substitute LIBTESTS_LIBDEPS.
79827         (func_create_testdir): Combine the uses_subdirs results from
79828         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
79830 2007-12-09  Bruno Haible  <bruno@clisp.org>
79832         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
79833         the build-aux directory.
79835 2007-12-09  Bruno Haible  <bruno@clisp.org>
79837         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
79838         introduced on 2006-09-09.
79840 2007-12-07  Jim Meyering  <meyering@redhat.com>
79842         Let these macros work also with autoconf-2.59.
79843         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
79844         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
79845         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
79847 2007-12-06  Jim Meyering  <meyering@redhat.com>
79849         Avoid a configure-time syntax error in gl_FUNC_ACL.
79850         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
79851         function in each branch, before testing the cache variable.
79853 2007-12-04  Eric Blake  <ebb9@byu.net>
79855         Make scripts executable.
79856         * build-aux/config.guess: Add execute permissions.
79857         * build-aux/config.sub: Likewise.
79858         * build-aux/gendocs.sh: Likewise.
79860         Fix frexp on mingw.
79861         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
79862         cross-compiling.
79863         * doc/functions/frexp.texi (frexp): Document the bug.
79865         Make cygwin fseeko check more reliable.
79866         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
79867         version numbers, rather than unrelated feature check.
79868         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
79869         * doc/functions/ftello.texi (ftello): Likewise.
79870         Reported by Bruno Haible.
79872         * m4/strerror.m4: Bump version number.
79874 2007-12-03  Bruno Haible  <bruno@clisp.org>
79876         * doc/functions/mprotect.texi: Mention the mingw problem.
79878 2007-12-03  Eric Blake  <ebb9@byu.net>
79880         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
79881         REPLACE_STRERROR is initialized before this macro.
79883 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
79885         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
79886         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
79887         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
79888         put -lsec in even for programs other than 'ls'.  This fixes a problem
79889         for gettext reported by Bruno Haible in
79890         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
79891         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
79892         Add support for Solaris 10.  This isn't efficient, but should get the
79893         job done for now.
79895 2007-12-03  James Youngman  <jay@gnu.org>
79897         * doc/regexprops-generic.texi: change "an close-group" to "a
79898         close-group" and "illegal" to "not allowed".
79900 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79902         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
79903         pr_byname.h. Needed for the rare case when the maintainer has done
79904         "make maintainer-clean" in the source directory and then attempts a
79905         build outside the source directory.
79906         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
79907         scripts_byname.h.
79909 2007-12-02  Martin Lambers  <marlam@marlam.de>
79910             Bruno Haible  <bruno@clisp.org>
79912         * lib/getpagesize.h: Remove file.
79913         * lib/unistd.in.h: Include declaration of getpagesize here.
79914         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
79915         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
79916         HAVE_SYS_PARAM_H.
79917         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
79918         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
79919         * modules/getpagesize (Files): Remove lib/getpagesize.h.
79920         (Depends-on): Add unistd.
79921         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
79922         (Include): Use <unistd.h> instead of getpagesize.h.
79923         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
79924         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
79925         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
79926         gl_GETPAGESIZE invocation, already handled by module dependency.
79927         * lib/pagealign_alloc.c: Don't include getpagesize.h.
79929 2007-12-02  Bruno Haible  <bruno@clisp.org>
79931         * modules/strings-tests: New file.
79932         * tests/test-strings.c: New file.
79934         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
79935         * lib/strings.in.h: New file.
79936         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
79937         * m4/strings_h.m4: New file.
79938         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
79939         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
79940         * modules/strings: New file.
79941         * modules/string (Makefile.am): Update.
79942         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
79943         Reported by Karl Berry.
79945 2007-12-01  Eric Blake  <ebb9@byu.net>
79947         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
79948         accommodate fix in cygwin 1.5.25.
79950 2007-12-01  Jim Meyering  <meyering@redhat.com>
79952         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
79953         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
79954         that would inhibit utf8-optimization of a regexp containing line-
79955         or buffer-anchors, e.g., `^', `$'.
79957 2007-11-30  Bruno Haible  <bruno@clisp.org>
79959         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
79960         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
79961         glthread_recursive_lock_init.
79962         * lib/lock.c (glthread_recursive_lock_init)
79963         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
79964         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79966 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
79968         New function qset_acl, like set_acl but with syscall semantics.
79969         * lib/acl.h (qset_acl): New decl.
79970         * lib/acl.c (qset_acl): New function.
79971         (set_acl): Use new function.  Use more-consistent diagnostics.
79973 2007-11-28  Jim Meyering  <meyering@redhat.com>
79975         * modules/physmem (License): Change from GPL to LGPLv2+.
79977 2007-11-26  Bruno Haible  <bruno@clisp.org>
79979         * lib/vasnprintf.c (decode_long_double): Don't abort if the
79980         'long double' type has excess precision.
79981         Reported by Jim Meyering in
79982         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
79984 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79986         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
79987         Sync from <http://gnu.org/licenses>.
79988         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
79989         with license text from same location.
79990         * doc/maintain.texi, doc/standards.texi:  Sync from
79991         <http://savannah.gnu.org/projects/gnustandards>.
79993 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
79994         and Jim Meyering  <meyering@redhat.com>
79996         Adjust getdate' grammar to accept a slightly more regular language.
79997         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
79998         Before, the former was rejected.
79999         * lib/getdate.y (digits_to_date_time): New function, factored
80000         out of ...
80001         (number): ...here.  Just call digits_to_date_time.
80002         (hybrid): New non-terminal to handle an <unsigned number,
80003         signed relative offset> sequence consistently.
80005 2007-11-18  Jim Meyering  <meyering@redhat.com>
80007         Pull my changes from coreutils:
80008         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
80009         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
80010         use of $gnulib_tool_option_extras, so that it's separated from the
80011         preceding argument.
80013         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
80014         * build-aux/bootstrap (cp_mark_as_generated): Create any required
80015         parent destination directories before copying a file into place.
80017 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
80019         bootstrap: work also with 4-argument variant of AC_INIT
80020         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
80022 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80024         Port test-getaddrinfo to Solaris.
80025         Problem reported by Bruno Haible in
80026         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
80027         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
80028         explanation of setting 'hints'.
80029         Don't reject an implementation merely because it returns EAI_SERVICE.
80030         (EAI_SERVICE): Define to 0 if not defined.
80032 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
80034         The license of gnu-make and posix-shell is now "GPLed build tool".
80035         * modules/gnu-make (License): Likewise.
80036         * modules/posix-shell (License): Likewise.
80038         New module posix-shell, for determining a POSIX shell
80039         or perhaps something that is close enough to a POSIX shell.
80040         * m4/posix-shell.m4: New file.
80041         * modules/posix-shell: New file.
80043         * MODULES.html.sh: Mention new module.
80045         New module gnu-make, for determining whether we're using GNU Make.
80046         * m4/gnu-make.m4: New file.
80047         * modules/gnu-make: New file.
80048         * MODULES.html.sh: Mention new module.
80050 2007-11-14  Jim Meyering  <meyering@redhat.com>
80052         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
80053         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
80054         use this macro to create a function _definition_.
80055         Remove useless "#undef ARGMATCH_DIE".
80057 2007-11-14  Bruno Haible  <bruno@clisp.org>
80059         * lib/config.charset: Update for OpenBSD 4.1.
80060         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
80062 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
80064         Document 64-bit #if problems in stdint.texi.
80065         * doc/headers/stdint.texi (stdint.h): Mention problems with
80066         64-bit-#if, and how to work around them.
80068         Don't insist on 'long long int' support in the preprocessor.  It
80069         breaks too many things.  For example, PRIdMAX still uses a 'long
80070         long int' format with the latest Sun compiler, even though
80071         HAVE_LONG_LONG_INT isn't defined due to that compiler's
80072         preprocessor problem.  This causes the latest coreutils to dump
80073         core on Solaris 10 sparc with the Sun C compiler.
80074         Instead, fix the 2007-10-16 problem in a different way, by evaluating
80075         the troublesome expressions at configure-time, not at #if-time.
80076         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
80077         preprocessor.
80078         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
80079         compile-time C checks, done at 'configure'-time.
80080         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
80081         * modules/inttypes (Makefile): Substitute the new symbols that
80082         gl_INTTYPES_H now generates.
80083         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
80085 2007-11-12  Bruno Haible  <bruno@clisp.org>
80087         Tests for Unicode character classification functions.
80089         * modules/unictype/bidicategory-byname-tests: New file.
80090         * modules/unictype/bidicategory-name-tests: New file.
80091         * modules/unictype/bidicategory-of-tests: New file.
80092         * modules/unictype/bidicategory-test-tests: New file.
80093         * modules/unictype/block-list-tests: New file.
80094         * modules/unictype/block-of-tests: New file.
80095         * modules/unictype/block-test-tests: New file.
80096         * modules/unictype/category-C-tests: New file.
80097         * modules/unictype/category-Cc-tests: New file.
80098         * modules/unictype/category-Cf-tests: New file.
80099         * modules/unictype/category-Cn-tests: New file.
80100         * modules/unictype/category-Co-tests: New file.
80101         * modules/unictype/category-Cs-tests: New file.
80102         * modules/unictype/category-L-tests: New file.
80103         * modules/unictype/category-Ll-tests: New file.
80104         * modules/unictype/category-Lm-tests: New file.
80105         * modules/unictype/category-Lo-tests: New file.
80106         * modules/unictype/category-Lt-tests: New file.
80107         * modules/unictype/category-Lu-tests: New file.
80108         * modules/unictype/category-M-tests: New file.
80109         * modules/unictype/category-Mc-tests: New file.
80110         * modules/unictype/category-Me-tests: New file.
80111         * modules/unictype/category-Mn-tests: New file.
80112         * modules/unictype/category-N-tests: New file.
80113         * modules/unictype/category-Nd-tests: New file.
80114         * modules/unictype/category-Nl-tests: New file.
80115         * modules/unictype/category-No-tests: New file.
80116         * modules/unictype/category-P-tests: New file.
80117         * modules/unictype/category-Pc-tests: New file.
80118         * modules/unictype/category-Pd-tests: New file.
80119         * modules/unictype/category-Pe-tests: New file.
80120         * modules/unictype/category-Pf-tests: New file.
80121         * modules/unictype/category-Pi-tests: New file.
80122         * modules/unictype/category-Po-tests: New file.
80123         * modules/unictype/category-Ps-tests: New file.
80124         * modules/unictype/category-S-tests: New file.
80125         * modules/unictype/category-Sc-tests: New file.
80126         * modules/unictype/category-Sk-tests: New file.
80127         * modules/unictype/category-Sm-tests: New file.
80128         * modules/unictype/category-So-tests: New file.
80129         * modules/unictype/category-Z-tests: New file.
80130         * modules/unictype/category-Zl-tests: New file.
80131         * modules/unictype/category-Zp-tests: New file.
80132         * modules/unictype/category-Zs-tests: New file.
80133         * modules/unictype/category-and-not-tests: New file.
80134         * modules/unictype/category-and-tests: New file.
80135         * modules/unictype/category-byname-tests: New file.
80136         * modules/unictype/category-name-tests: New file.
80137         * modules/unictype/category-none-tests: New file.
80138         * modules/unictype/category-of-tests: New file.
80139         * modules/unictype/category-or-tests: New file.
80140         * modules/unictype/category-test-withtable-tests: New file.
80141         * modules/unictype/combining-class-tests: New file.
80142         * modules/unictype/ctype-alnum-tests: New file.
80143         * modules/unictype/ctype-alpha-tests: New file.
80144         * modules/unictype/ctype-blank-tests: New file.
80145         * modules/unictype/ctype-cntrl-tests: New file.
80146         * modules/unictype/ctype-digit-tests: New file.
80147         * modules/unictype/ctype-graph-tests: New file.
80148         * modules/unictype/ctype-lower-tests: New file.
80149         * modules/unictype/ctype-print-tests: New file.
80150         * modules/unictype/ctype-punct-tests: New file.
80151         * modules/unictype/ctype-space-tests: New file.
80152         * modules/unictype/ctype-upper-tests: New file.
80153         * modules/unictype/ctype-xdigit-tests: New file.
80154         * modules/unictype/decimal-digit-tests: New file.
80155         * modules/unictype/digit-tests: New file.
80156         * modules/unictype/mirror-tests: New file.
80157         * modules/unictype/numeric-tests: New file.
80158         * modules/unictype/property-alphabetic-tests: New file.
80159         * modules/unictype/property-ascii-hex-digit-tests: New file.
80160         * modules/unictype/property-bidi-arabic-digit-tests: New file.
80161         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
80162         * modules/unictype/property-bidi-block-separator-tests: New file.
80163         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
80164         * modules/unictype/property-bidi-common-separator-tests: New file.
80165         * modules/unictype/property-bidi-control-tests: New file.
80166         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
80167         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
80168         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
80169         * modules/unictype/property-bidi-european-digit-tests: New file.
80170         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
80171         * modules/unictype/property-bidi-left-to-right-tests: New file.
80172         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
80173         * modules/unictype/property-bidi-other-neutral-tests: New file.
80174         * modules/unictype/property-bidi-pdf-tests: New file.
80175         * modules/unictype/property-bidi-segment-separator-tests: New file.
80176         * modules/unictype/property-bidi-whitespace-tests: New file.
80177         * modules/unictype/property-byname-tests: New file.
80178         * modules/unictype/property-combining-tests: New file.
80179         * modules/unictype/property-composite-tests: New file.
80180         * modules/unictype/property-currency-symbol-tests: New file.
80181         * modules/unictype/property-dash-tests: New file.
80182         * modules/unictype/property-decimal-digit-tests: New file.
80183         * modules/unictype/property-default-ignorable-code-point-tests: New file.
80184         * modules/unictype/property-deprecated-tests: New file.
80185         * modules/unictype/property-diacritic-tests: New file.
80186         * modules/unictype/property-extender-tests: New file.
80187         * modules/unictype/property-format-control-tests: New file.
80188         * modules/unictype/property-grapheme-base-tests: New file.
80189         * modules/unictype/property-grapheme-extend-tests: New file.
80190         * modules/unictype/property-grapheme-link-tests: New file.
80191         * modules/unictype/property-hex-digit-tests: New file.
80192         * modules/unictype/property-hyphen-tests: New file.
80193         * modules/unictype/property-id-continue-tests: New file.
80194         * modules/unictype/property-id-start-tests: New file.
80195         * modules/unictype/property-ideographic-tests: New file.
80196         * modules/unictype/property-ids-binary-operator-tests: New file.
80197         * modules/unictype/property-ids-trinary-operator-tests: New file.
80198         * modules/unictype/property-ignorable-control-tests: New file.
80199         * modules/unictype/property-iso-control-tests: New file.
80200         * modules/unictype/property-join-control-tests: New file.
80201         * modules/unictype/property-left-of-pair-tests: New file.
80202         * modules/unictype/property-line-separator-tests: New file.
80203         * modules/unictype/property-logical-order-exception-tests: New file.
80204         * modules/unictype/property-lowercase-tests: New file.
80205         * modules/unictype/property-math-tests: New file.
80206         * modules/unictype/property-non-break-tests: New file.
80207         * modules/unictype/property-not-a-character-tests: New file.
80208         * modules/unictype/property-numeric-tests: New file.
80209         * modules/unictype/property-other-alphabetic-tests: New file.
80210         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
80211         * modules/unictype/property-other-grapheme-extend-tests: New file.
80212         * modules/unictype/property-other-id-continue-tests: New file.
80213         * modules/unictype/property-other-id-start-tests: New file.
80214         * modules/unictype/property-other-lowercase-tests: New file.
80215         * modules/unictype/property-other-math-tests: New file.
80216         * modules/unictype/property-other-uppercase-tests: New file.
80217         * modules/unictype/property-paired-punctuation-tests: New file.
80218         * modules/unictype/property-paragraph-separator-tests: New file.
80219         * modules/unictype/property-pattern-syntax-tests: New file.
80220         * modules/unictype/property-pattern-white-space-tests: New file.
80221         * modules/unictype/property-private-use-tests: New file.
80222         * modules/unictype/property-punctuation-tests: New file.
80223         * modules/unictype/property-quotation-mark-tests: New file.
80224         * modules/unictype/property-radical-tests: New file.
80225         * modules/unictype/property-sentence-terminal-tests: New file.
80226         * modules/unictype/property-soft-dotted-tests: New file.
80227         * modules/unictype/property-space-tests: New file.
80228         * modules/unictype/property-terminal-punctuation-tests: New file.
80229         * modules/unictype/property-test-tests: New file.
80230         * modules/unictype/property-titlecase-tests: New file.
80231         * modules/unictype/property-unassigned-code-value-tests: New file.
80232         * modules/unictype/property-unified-ideograph-tests: New file.
80233         * modules/unictype/property-uppercase-tests: New file.
80234         * modules/unictype/property-variation-selector-tests: New file.
80235         * modules/unictype/property-white-space-tests: New file.
80236         * modules/unictype/property-xid-continue-tests: New file.
80237         * modules/unictype/property-xid-start-tests: New file.
80238         * modules/unictype/property-zero-width-tests: New file.
80239         * modules/unictype/scripts-tests: New file.
80240         * modules/unictype/syntax-c-ident-tests: New file.
80241         * modules/unictype/syntax-c-whitespace-tests: New file.
80242         * modules/unictype/syntax-java-ident-tests: New file.
80243         * modules/unictype/syntax-java-whitespace-tests: New file.
80244         * tests/unictype/test-bidi_byname.c: New file.
80245         * tests/unictype/test-bidi_name.c: New file.
80246         * tests/unictype/test-bidi_of.c: New file.
80247         * tests/unictype/test-bidi_test.c: New file.
80248         * tests/unictype/test-block_list.c: New file.
80249         * tests/unictype/test-block_of.c: New file.
80250         * tests/unictype/test-block_test.c: New file.
80251         * tests/unictype/test-categ_and.c: New file.
80252         * tests/unictype/test-categ_and_not.c: New file.
80253         * tests/unictype/test-categ_byname.c: New file.
80254         * tests/unictype/test-categ_name.c: New file.
80255         * tests/unictype/test-categ_none.c: New file.
80256         * tests/unictype/test-categ_of.c: New file.
80257         * tests/unictype/test-categ_or.c: New file.
80258         * tests/unictype/test-categ_test_withtable.c: New file.
80259         * tests/unictype/test-combining.c: New file.
80260         * tests/unictype/test-decdigit.c: New file.
80261         * tests/unictype/test-digit.c: New file.
80262         * tests/unictype/test-mirror.c: New file.
80263         * tests/unictype/test-numeric.c: New file.
80264         * tests/unictype/test-pr_byname.c: New file.
80265         * tests/unictype/test-pr_test.c: New file.
80266         * tests/unictype/test-predicate-part1.h: New file.
80267         * tests/unictype/test-predicate-part2.h: New file.
80268         * tests/unictype/test-scripts.c: New file.
80269         * tests/unictype/test-sy_c_ident.c: New file.
80270         * tests/unictype/test-sy_java_ident.c: New file.
80272         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
80273         for Unicode 5.0.0.
80274         * tests/unictype/test-categ_Cc.c: Likewise.
80275         * tests/unictype/test-categ_Cf.c: Likewise.
80276         * tests/unictype/test-categ_Cn.c: Likewise.
80277         * tests/unictype/test-categ_Co.c: Likewise.
80278         * tests/unictype/test-categ_Cs.c: Likewise.
80279         * tests/unictype/test-categ_L.c: Likewise.
80280         * tests/unictype/test-categ_Ll.c: Likewise.
80281         * tests/unictype/test-categ_Lm.c: Likewise.
80282         * tests/unictype/test-categ_Lo.c: Likewise.
80283         * tests/unictype/test-categ_Lt.c: Likewise.
80284         * tests/unictype/test-categ_Lu.c: Likewise.
80285         * tests/unictype/test-categ_M.c: Likewise.
80286         * tests/unictype/test-categ_Mc.c: Likewise.
80287         * tests/unictype/test-categ_Me.c: Likewise.
80288         * tests/unictype/test-categ_Mn.c: Likewise.
80289         * tests/unictype/test-categ_N.c: Likewise.
80290         * tests/unictype/test-categ_Nd.c: Likewise.
80291         * tests/unictype/test-categ_Nl.c: Likewise.
80292         * tests/unictype/test-categ_No.c: Likewise.
80293         * tests/unictype/test-categ_P.c: Likewise.
80294         * tests/unictype/test-categ_Pc.c: Likewise.
80295         * tests/unictype/test-categ_Pd.c: Likewise.
80296         * tests/unictype/test-categ_Pe.c: Likewise.
80297         * tests/unictype/test-categ_Pf.c: Likewise.
80298         * tests/unictype/test-categ_Pi.c: Likewise.
80299         * tests/unictype/test-categ_Po.c: Likewise.
80300         * tests/unictype/test-categ_Ps.c: Likewise.
80301         * tests/unictype/test-categ_S.c: Likewise.
80302         * tests/unictype/test-categ_Sc.c: Likewise.
80303         * tests/unictype/test-categ_Sk.c: Likewise.
80304         * tests/unictype/test-categ_Sm.c: Likewise.
80305         * tests/unictype/test-categ_So.c: Likewise.
80306         * tests/unictype/test-categ_Z.c: Likewise.
80307         * tests/unictype/test-categ_Zl.c: Likewise.
80308         * tests/unictype/test-categ_Zp.c: Likewise.
80309         * tests/unictype/test-categ_Zs.c: Likewise.
80310         * tests/unictype/test-ctype_alnum.c: Likewise.
80311         * tests/unictype/test-ctype_alpha.c: Likewise.
80312         * tests/unictype/test-ctype_blank.c: Likewise.
80313         * tests/unictype/test-ctype_cntrl.c: Likewise.
80314         * tests/unictype/test-ctype_digit.c: Likewise.
80315         * tests/unictype/test-ctype_graph.c: Likewise.
80316         * tests/unictype/test-ctype_lower.c: Likewise.
80317         * tests/unictype/test-ctype_print.c: Likewise.
80318         * tests/unictype/test-ctype_punct.c: Likewise.
80319         * tests/unictype/test-ctype_space.c: Likewise.
80320         * tests/unictype/test-ctype_upper.c: Likewise.
80321         * tests/unictype/test-ctype_xdigit.c: Likewise.
80322         * tests/unictype/test-decdigit.h: Likewise.
80323         * tests/unictype/test-digit.h: Likewise.
80324         * tests/unictype/test-numeric.h: Likewise.
80325         * tests/unictype/test-pr_alphabetic.c: Likewise.
80326         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
80327         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
80328         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
80329         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
80330         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
80331         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
80332         * tests/unictype/test-pr_bidi_control.c: Likewise.
80333         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
80334         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
80335         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
80336         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
80337         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
80338         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
80339         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
80340         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
80341         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
80342         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
80343         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
80344         * tests/unictype/test-pr_combining.c: Likewise.
80345         * tests/unictype/test-pr_composite.c: Likewise.
80346         * tests/unictype/test-pr_currency_symbol.c: Likewise.
80347         * tests/unictype/test-pr_dash.c: Likewise.
80348         * tests/unictype/test-pr_decimal_digit.c: Likewise.
80349         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
80350         * tests/unictype/test-pr_deprecated.c: Likewise.
80351         * tests/unictype/test-pr_diacritic.c: Likewise.
80352         * tests/unictype/test-pr_extender.c: Likewise.
80353         * tests/unictype/test-pr_format_control.c: Likewise.
80354         * tests/unictype/test-pr_grapheme_base.c: Likewise.
80355         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
80356         * tests/unictype/test-pr_grapheme_link.c: Likewise.
80357         * tests/unictype/test-pr_hex_digit.c: Likewise.
80358         * tests/unictype/test-pr_hyphen.c: Likewise.
80359         * tests/unictype/test-pr_id_continue.c: Likewise.
80360         * tests/unictype/test-pr_id_start.c: Likewise.
80361         * tests/unictype/test-pr_ideographic.c: Likewise.
80362         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
80363         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
80364         * tests/unictype/test-pr_ignorable_control.c: Likewise.
80365         * tests/unictype/test-pr_iso_control.c: Likewise.
80366         * tests/unictype/test-pr_join_control.c: Likewise.
80367         * tests/unictype/test-pr_left_of_pair.c: Likewise.
80368         * tests/unictype/test-pr_line_separator.c: Likewise.
80369         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
80370         * tests/unictype/test-pr_lowercase.c: Likewise.
80371         * tests/unictype/test-pr_math.c: Likewise.
80372         * tests/unictype/test-pr_non_break.c: Likewise.
80373         * tests/unictype/test-pr_not_a_character.c: Likewise.
80374         * tests/unictype/test-pr_numeric.c: Likewise.
80375         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
80376         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
80377         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
80378         * tests/unictype/test-pr_other_id_continue.c: Likewise.
80379         * tests/unictype/test-pr_other_id_start.c: Likewise.
80380         * tests/unictype/test-pr_other_lowercase.c: Likewise.
80381         * tests/unictype/test-pr_other_math.c: Likewise.
80382         * tests/unictype/test-pr_other_uppercase.c: Likewise.
80383         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
80384         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
80385         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
80386         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
80387         * tests/unictype/test-pr_private_use.c: Likewise.
80388         * tests/unictype/test-pr_punctuation.c: Likewise.
80389         * tests/unictype/test-pr_quotation_mark.c: Likewise.
80390         * tests/unictype/test-pr_radical.c: Likewise.
80391         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
80392         * tests/unictype/test-pr_soft_dotted.c: Likewise.
80393         * tests/unictype/test-pr_space.c: Likewise.
80394         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
80395         * tests/unictype/test-pr_titlecase.c: Likewise.
80396         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
80397         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
80398         * tests/unictype/test-pr_uppercase.c: Likewise.
80399         * tests/unictype/test-pr_variation_selector.c: Likewise.
80400         * tests/unictype/test-pr_white_space.c: Likewise.
80401         * tests/unictype/test-pr_xid_continue.c: Likewise.
80402         * tests/unictype/test-pr_xid_start.c: Likewise.
80403         * tests/unictype/test-pr_zero_width.c: Likewise.
80404         * tests/unictype/test-sy_c_whitespace.c: Likewise.
80405         * tests/unictype/test-sy_java_whitespace.c: Likewise.
80407 2007-11-12  Bruno Haible  <bruno@clisp.org>
80409         Unicode character classification functions.
80410         * lib/unictype.h: New file.
80411         * modules/unictype/base: New file.
80412         * modules/unictype/category-L: New file.
80413         * modules/unictype/category-Lu: New file.
80414         * modules/unictype/category-Ll: New file.
80415         * modules/unictype/category-Lt: New file.
80416         * modules/unictype/category-Lm: New file.
80417         * modules/unictype/category-Lo: New file.
80418         * modules/unictype/category-M: New file.
80419         * modules/unictype/category-Mn: New file.
80420         * modules/unictype/category-Mc: New file.
80421         * modules/unictype/category-Me: New file.
80422         * modules/unictype/category-N: New file.
80423         * modules/unictype/category-Nd: New file.
80424         * modules/unictype/category-Nl: New file.
80425         * modules/unictype/category-No: New file.
80426         * modules/unictype/category-P: New file.
80427         * modules/unictype/category-Pc: New file.
80428         * modules/unictype/category-Pd: New file.
80429         * modules/unictype/category-Ps: New file.
80430         * modules/unictype/category-Pe: New file.
80431         * modules/unictype/category-Pi: New file.
80432         * modules/unictype/category-Pf: New file.
80433         * modules/unictype/category-Po: New file.
80434         * modules/unictype/category-S: New file.
80435         * modules/unictype/category-Sm: New file.
80436         * modules/unictype/category-Sc: New file.
80437         * modules/unictype/category-Sk: New file.
80438         * modules/unictype/category-So: New file.
80439         * modules/unictype/category-Z: New file.
80440         * modules/unictype/category-Zs: New file.
80441         * modules/unictype/category-Zl: New file.
80442         * modules/unictype/category-Zp: New file.
80443         * modules/unictype/category-C: New file.
80444         * modules/unictype/category-Cc: New file.
80445         * modules/unictype/category-Cf: New file.
80446         * modules/unictype/category-Cs: New file.
80447         * modules/unictype/category-Co: New file.
80448         * modules/unictype/category-Cn: New file.
80449         * modules/unictype/category-or: New file.
80450         * modules/unictype/category-of: New file.
80451         * modules/unictype/category-test: New file.
80452         * modules/unictype/category-test-withtable: New file.
80453         * modules/unictype/category-byname: New file.
80454         * modules/unictype/category-none: New file.
80455         * modules/unictype/category-and: New file.
80456         * modules/unictype/category-and-not: New file.
80457         * modules/unictype/category-name: New file.
80458         * modules/unictype/combining-class: New file.
80459         * modules/unictype/category-all: New file.
80460         * modules/unictype/bidicategory-all: New file.
80461         * modules/unictype/bidicategory-byname: New file.
80462         * modules/unictype/bidicategory-name: New file.
80463         * modules/unictype/bidicategory-of: New file.
80464         * modules/unictype/bidicategory-test: New file.
80465         * modules/unictype/decimal-digit: New file.
80466         * modules/unictype/digit: New file.
80467         * modules/unictype/numeric: New file.
80468         * modules/unictype/mirror: New file.
80469         * modules/unictype/property-white-space: New file.
80470         * modules/unictype/property-alphabetic: New file.
80471         * modules/unictype/property-other-alphabetic: New file.
80472         * modules/unictype/property-not-a-character: New file.
80473         * modules/unictype/property-default-ignorable-code-point: New file.
80474         * modules/unictype/property-other-default-ignorable-code-point: New
80475         file.
80476         * modules/unictype/property-deprecated: New file.
80477         * modules/unictype/property-logical-order-exception: New file.
80478         * modules/unictype/property-variation-selector: New file.
80479         * modules/unictype/property-private-use: New file.
80480         * modules/unictype/property-unassigned-code-value: New file.
80481         * modules/unictype/property-uppercase: New file.
80482         * modules/unictype/property-other-uppercase: New file.
80483         * modules/unictype/property-lowercase: New file.
80484         * modules/unictype/property-other-lowercase: New file.
80485         * modules/unictype/property-titlecase: New file.
80486         * modules/unictype/property-soft-dotted: New file.
80487         * modules/unictype/property-id-start: New file.
80488         * modules/unictype/property-other-id-start: New file.
80489         * modules/unictype/property-id-continue: New file.
80490         * modules/unictype/property-other-id-continue: New file.
80491         * modules/unictype/property-xid-start: New file.
80492         * modules/unictype/property-xid-continue: New file.
80493         * modules/unictype/property-pattern-white-space: New file.
80494         * modules/unictype/property-pattern-syntax: New file.
80495         * modules/unictype/property-join-control: New file.
80496         * modules/unictype/property-grapheme-base: New file.
80497         * modules/unictype/property-grapheme-extend: New file.
80498         * modules/unictype/property-other-grapheme-extend: New file.
80499         * modules/unictype/property-grapheme-link: New file.
80500         * modules/unictype/property-bidi-control: New file.
80501         * modules/unictype/property-bidi-left-to-right: New file.
80502         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
80503         * modules/unictype/property-bidi-arabic-right-to-left: New file.
80504         * modules/unictype/property-bidi-european-digit: New file.
80505         * modules/unictype/property-bidi-eur-num-separator: New file.
80506         * modules/unictype/property-bidi-eur-num-terminator: New file.
80507         * modules/unictype/property-bidi-arabic-digit: New file.
80508         * modules/unictype/property-bidi-common-separator: New file.
80509         * modules/unictype/property-bidi-block-separator: New file.
80510         * modules/unictype/property-bidi-segment-separator: New file.
80511         * modules/unictype/property-bidi-whitespace: New file.
80512         * modules/unictype/property-bidi-non-spacing-mark: New file.
80513         * modules/unictype/property-bidi-boundary-neutral: New file.
80514         * modules/unictype/property-bidi-pdf: New file.
80515         * modules/unictype/property-bidi-embedding-or-override: New file.
80516         * modules/unictype/property-bidi-other-neutral: New file.
80517         * modules/unictype/property-hex-digit: New file.
80518         * modules/unictype/property-ascii-hex-digit: New file.
80519         * modules/unictype/property-ideographic: New file.
80520         * modules/unictype/property-unified-ideograph: New file.
80521         * modules/unictype/property-radical: New file.
80522         * modules/unictype/property-ids-binary-operator: New file.
80523         * modules/unictype/property-ids-trinary-operator: New file.
80524         * modules/unictype/property-zero-width: New file.
80525         * modules/unictype/property-space: New file.
80526         * modules/unictype/property-non-break: New file.
80527         * modules/unictype/property-iso-control: New file.
80528         * modules/unictype/property-format-control: New file.
80529         * modules/unictype/property-dash: New file.
80530         * modules/unictype/property-hyphen: New file.
80531         * modules/unictype/property-punctuation: New file.
80532         * modules/unictype/property-line-separator: New file.
80533         * modules/unictype/property-paragraph-separator: New file.
80534         * modules/unictype/property-quotation-mark: New file.
80535         * modules/unictype/property-sentence-terminal: New file.
80536         * modules/unictype/property-terminal-punctuation: New file.
80537         * modules/unictype/property-currency-symbol: New file.
80538         * modules/unictype/property-math: New file.
80539         * modules/unictype/property-other-math: New file.
80540         * modules/unictype/property-paired-punctuation: New file.
80541         * modules/unictype/property-left-of-pair: New file.
80542         * modules/unictype/property-combining: New file.
80543         * modules/unictype/property-composite: New file.
80544         * modules/unictype/property-decimal-digit: New file.
80545         * modules/unictype/property-numeric: New file.
80546         * modules/unictype/property-diacritic: New file.
80547         * modules/unictype/property-extender: New file.
80548         * modules/unictype/property-ignorable-control: New file.
80549         * modules/unictype/property-test: New file.
80550         * modules/unictype/property-byname: New file.
80551         * modules/unictype/property-all: New file.
80552         * modules/unictype/scripts: New file.
80553         * modules/unictype/scripts-all: New file.
80554         * modules/unictype/block-of: New file.
80555         * modules/unictype/block-test: New file.
80556         * modules/unictype/block-list: New file.
80557         * modules/unictype/block-all: New file.
80558         * modules/unictype/syntax-c-whitespace: New file.
80559         * modules/unictype/syntax-java-whitespace: New file.
80560         * modules/unictype/syntax-c-ident: New file.
80561         * modules/unictype/syntax-java-ident: New file.
80562         * modules/unictype/ctype-alnum: New file.
80563         * modules/unictype/ctype-alpha: New file.
80564         * modules/unictype/ctype-cntrl: New file.
80565         * modules/unictype/ctype-digit: New file.
80566         * modules/unictype/ctype-graph: New file.
80567         * modules/unictype/ctype-lower: New file.
80568         * modules/unictype/ctype-print: New file.
80569         * modules/unictype/ctype-punct: New file.
80570         * modules/unictype/ctype-space: New file.
80571         * modules/unictype/ctype-upper: New file.
80572         * modules/unictype/ctype-xdigit: New file.
80573         * modules/unictype/ctype-blank: New file.
80574         * lib/unictype/bidi_byname.c: New file.
80575         * lib/unictype/bidi_name.c: New file.
80576         * lib/unictype/bidi_of.c: New file.
80577         * lib/unictype/bidi_test.c: New file.
80578         * lib/unictype/bitmap.h: New file.
80579         * lib/unictype/block_test.c: New file.
80580         * lib/unictype/blocks.c: New file.
80581         * lib/unictype/categ_C.c: New file.
80582         * lib/unictype/categ_Cc.c: New file.
80583         * lib/unictype/categ_Cf.c: New file.
80584         * lib/unictype/categ_Cn.c: New file.
80585         * lib/unictype/categ_Co.c: New file.
80586         * lib/unictype/categ_Cs.c: New file.
80587         * lib/unictype/categ_L.c: New file.
80588         * lib/unictype/categ_Ll.c: New file.
80589         * lib/unictype/categ_Lm.c: New file.
80590         * lib/unictype/categ_Lo.c: New file.
80591         * lib/unictype/categ_Lt.c: New file.
80592         * lib/unictype/categ_Lu.c: New file.
80593         * lib/unictype/categ_M.c: New file.
80594         * lib/unictype/categ_Mc.c: New file.
80595         * lib/unictype/categ_Me.c: New file.
80596         * lib/unictype/categ_Mn.c: New file.
80597         * lib/unictype/categ_N.c: New file.
80598         * lib/unictype/categ_Nd.c: New file.
80599         * lib/unictype/categ_Nl.c: New file.
80600         * lib/unictype/categ_No.c: New file.
80601         * lib/unictype/categ_P.c: New file.
80602         * lib/unictype/categ_Pc.c: New file.
80603         * lib/unictype/categ_Pd.c: New file.
80604         * lib/unictype/categ_Pe.c: New file.
80605         * lib/unictype/categ_Pf.c: New file.
80606         * lib/unictype/categ_Pi.c: New file.
80607         * lib/unictype/categ_Po.c: New file.
80608         * lib/unictype/categ_Ps.c: New file.
80609         * lib/unictype/categ_S.c: New file.
80610         * lib/unictype/categ_Sc.c: New file.
80611         * lib/unictype/categ_Sk.c: New file.
80612         * lib/unictype/categ_Sm.c: New file.
80613         * lib/unictype/categ_So.c: New file.
80614         * lib/unictype/categ_Z.c: New file.
80615         * lib/unictype/categ_Zl.c: New file.
80616         * lib/unictype/categ_Zp.c: New file.
80617         * lib/unictype/categ_Zs.c: New file.
80618         * lib/unictype/categ_and.c: New file.
80619         * lib/unictype/categ_and_not.c: New file.
80620         * lib/unictype/categ_byname.c: New file.
80621         * lib/unictype/categ_name.c: New file.
80622         * lib/unictype/categ_none.c: New file.
80623         * lib/unictype/categ_of.c: New file.
80624         * lib/unictype/categ_or.c: New file.
80625         * lib/unictype/categ_test.c: New file.
80626         * lib/unictype/combining.c: New file.
80627         * lib/unictype/ctype_alnum.c: New file.
80628         * lib/unictype/ctype_alpha.c: New file.
80629         * lib/unictype/ctype_blank.c: New file.
80630         * lib/unictype/ctype_cntrl.c: New file.
80631         * lib/unictype/ctype_digit.c: New file.
80632         * lib/unictype/ctype_graph.c: New file.
80633         * lib/unictype/ctype_lower.c: New file.
80634         * lib/unictype/ctype_print.c: New file.
80635         * lib/unictype/ctype_punct.c: New file.
80636         * lib/unictype/ctype_space.c: New file.
80637         * lib/unictype/ctype_upper.c: New file.
80638         * lib/unictype/ctype_xdigit.c: New file.
80639         * lib/unictype/decdigit.c: New file.
80640         * lib/unictype/digit.c: New file.
80641         * lib/unictype/identsyntaxmap.h: New file.
80642         * lib/unictype/mirror.c: New file.
80643         * lib/unictype/numeric.c: New file.
80644         * lib/unictype/pr_alphabetic.c: New file.
80645         * lib/unictype/pr_ascii_hex_digit.c: New file.
80646         * lib/unictype/pr_bidi_arabic_digit.c: New file.
80647         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
80648         * lib/unictype/pr_bidi_block_separator.c: New file.
80649         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
80650         * lib/unictype/pr_bidi_common_separator.c: New file.
80651         * lib/unictype/pr_bidi_control.c: New file.
80652         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
80653         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
80654         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
80655         * lib/unictype/pr_bidi_european_digit.c: New file.
80656         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
80657         * lib/unictype/pr_bidi_left_to_right.c: New file.
80658         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
80659         * lib/unictype/pr_bidi_other_neutral.c: New file.
80660         * lib/unictype/pr_bidi_pdf.c: New file.
80661         * lib/unictype/pr_bidi_segment_separator.c: New file.
80662         * lib/unictype/pr_bidi_whitespace.c: New file.
80663         * lib/unictype/pr_byname.c: New file.
80664         * lib/unictype/pr_byname.gperf: New file.
80665         * lib/unictype/pr_combining.c: New file.
80666         * lib/unictype/pr_composite.c: New file.
80667         * lib/unictype/pr_currency_symbol.c: New file.
80668         * lib/unictype/pr_dash.c: New file.
80669         * lib/unictype/pr_decimal_digit.c: New file.
80670         * lib/unictype/pr_default_ignorable_code_point.c: New file.
80671         * lib/unictype/pr_deprecated.c: New file.
80672         * lib/unictype/pr_diacritic.c: New file.
80673         * lib/unictype/pr_extender.c: New file.
80674         * lib/unictype/pr_format_control.c: New file.
80675         * lib/unictype/pr_grapheme_base.c: New file.
80676         * lib/unictype/pr_grapheme_extend.c: New file.
80677         * lib/unictype/pr_grapheme_link.c: New file.
80678         * lib/unictype/pr_hex_digit.c: New file.
80679         * lib/unictype/pr_hyphen.c: New file.
80680         * lib/unictype/pr_id_continue.c: New file.
80681         * lib/unictype/pr_id_start.c: New file.
80682         * lib/unictype/pr_ideographic.c: New file.
80683         * lib/unictype/pr_ids_binary_operator.c: New file.
80684         * lib/unictype/pr_ids_trinary_operator.c: New file.
80685         * lib/unictype/pr_ignorable_control.c: New file.
80686         * lib/unictype/pr_iso_control.c: New file.
80687         * lib/unictype/pr_join_control.c: New file.
80688         * lib/unictype/pr_left_of_pair.c: New file.
80689         * lib/unictype/pr_line_separator.c: New file.
80690         * lib/unictype/pr_logical_order_exception.c: New file.
80691         * lib/unictype/pr_lowercase.c: New file.
80692         * lib/unictype/pr_math.c: New file.
80693         * lib/unictype/pr_non_break.c: New file.
80694         * lib/unictype/pr_not_a_character.c: New file.
80695         * lib/unictype/pr_numeric.c: New file.
80696         * lib/unictype/pr_other_alphabetic.c: New file.
80697         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
80698         * lib/unictype/pr_other_grapheme_extend.c: New file.
80699         * lib/unictype/pr_other_id_continue.c: New file.
80700         * lib/unictype/pr_other_id_start.c: New file.
80701         * lib/unictype/pr_other_lowercase.c: New file.
80702         * lib/unictype/pr_other_math.c: New file.
80703         * lib/unictype/pr_other_uppercase.c: New file.
80704         * lib/unictype/pr_paired_punctuation.c: New file.
80705         * lib/unictype/pr_paragraph_separator.c: New file.
80706         * lib/unictype/pr_pattern_syntax.c: New file.
80707         * lib/unictype/pr_pattern_white_space.c: New file.
80708         * lib/unictype/pr_private_use.c: New file.
80709         * lib/unictype/pr_punctuation.c: New file.
80710         * lib/unictype/pr_quotation_mark.c: New file.
80711         * lib/unictype/pr_radical.c: New file.
80712         * lib/unictype/pr_sentence_terminal.c: New file.
80713         * lib/unictype/pr_soft_dotted.c: New file.
80714         * lib/unictype/pr_space.c: New file.
80715         * lib/unictype/pr_terminal_punctuation.c: New file.
80716         * lib/unictype/pr_test.c: New file.
80717         * lib/unictype/pr_titlecase.c: New file.
80718         * lib/unictype/pr_unassigned_code_value.c: New file.
80719         * lib/unictype/pr_unified_ideograph.c: New file.
80720         * lib/unictype/pr_uppercase.c: New file.
80721         * lib/unictype/pr_variation_selector.c: New file.
80722         * lib/unictype/pr_white_space.c: New file.
80723         * lib/unictype/pr_xid_continue.c: New file.
80724         * lib/unictype/pr_xid_start.c: New file.
80725         * lib/unictype/pr_zero_width.c: New file.
80726         * lib/unictype/scripts.c: New file.
80727         * lib/unictype/sy_c_ident.c: New file.
80728         * lib/unictype/sy_c_whitespace.c: New file.
80729         * lib/unictype/sy_java_ident.c: New file.
80730         * lib/unictype/sy_java_whitespace.c: New file.
80732         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
80733         Unicode 5.0.0.
80734         * lib/unictype/blocks.h: Likewise.
80735         * lib/unictype/categ_C.h: Likewise.
80736         * lib/unictype/categ_Cc.h: Likewise.
80737         * lib/unictype/categ_Cf.h: Likewise.
80738         * lib/unictype/categ_Cn.h: Likewise.
80739         * lib/unictype/categ_Co.h: Likewise.
80740         * lib/unictype/categ_Cs.h: Likewise.
80741         * lib/unictype/categ_L.h: Likewise.
80742         * lib/unictype/categ_Ll.h: Likewise.
80743         * lib/unictype/categ_Lm.h: Likewise.
80744         * lib/unictype/categ_Lo.h: Likewise.
80745         * lib/unictype/categ_Lt.h: Likewise.
80746         * lib/unictype/categ_Lu.h: Likewise.
80747         * lib/unictype/categ_M.h: Likewise.
80748         * lib/unictype/categ_Mc.h: Likewise.
80749         * lib/unictype/categ_Me.h: Likewise.
80750         * lib/unictype/categ_Mn.h: Likewise.
80751         * lib/unictype/categ_N.h: Likewise.
80752         * lib/unictype/categ_Nd.h: Likewise.
80753         * lib/unictype/categ_Nl.h: Likewise.
80754         * lib/unictype/categ_No.h: Likewise.
80755         * lib/unictype/categ_P.h: Likewise.
80756         * lib/unictype/categ_Pc.h: Likewise.
80757         * lib/unictype/categ_Pd.h: Likewise.
80758         * lib/unictype/categ_Pe.h: Likewise.
80759         * lib/unictype/categ_Pf.h: Likewise.
80760         * lib/unictype/categ_Pi.h: Likewise.
80761         * lib/unictype/categ_Po.h: Likewise.
80762         * lib/unictype/categ_Ps.h: Likewise.
80763         * lib/unictype/categ_S.h: Likewise.
80764         * lib/unictype/categ_Sc.h: Likewise.
80765         * lib/unictype/categ_Sk.h: Likewise.
80766         * lib/unictype/categ_Sm.h: Likewise.
80767         * lib/unictype/categ_So.h: Likewise.
80768         * lib/unictype/categ_Z.h: Likewise.
80769         * lib/unictype/categ_Zl.h: Likewise.
80770         * lib/unictype/categ_Zp.h: Likewise.
80771         * lib/unictype/categ_Zs.h: Likewise.
80772         * lib/unictype/categ_of.h: Likewise.
80773         * lib/unictype/combining.h: Likewise.
80774         * lib/unictype/ctype_alnum.h: Likewise.
80775         * lib/unictype/ctype_alpha.h: Likewise.
80776         * lib/unictype/ctype_blank.h: Likewise.
80777         * lib/unictype/ctype_cntrl.h: Likewise.
80778         * lib/unictype/ctype_digit.h: Likewise.
80779         * lib/unictype/ctype_graph.h: Likewise.
80780         * lib/unictype/ctype_lower.h: Likewise.
80781         * lib/unictype/ctype_print.h: Likewise.
80782         * lib/unictype/ctype_punct.h: Likewise.
80783         * lib/unictype/ctype_space.h: Likewise.
80784         * lib/unictype/ctype_upper.h: Likewise.
80785         * lib/unictype/ctype_xdigit.h: Likewise.
80786         * lib/unictype/decdigit.h: Likewise.
80787         * lib/unictype/digit.h: Likewise.
80788         * lib/unictype/mirror.h: Likewise.
80789         * lib/unictype/numeric.h: Likewise.
80790         * lib/unictype/pr_alphabetic.h: Likewise.
80791         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
80792         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
80793         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
80794         * lib/unictype/pr_bidi_block_separator.h: Likewise.
80795         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
80796         * lib/unictype/pr_bidi_common_separator.h: Likewise.
80797         * lib/unictype/pr_bidi_control.h: Likewise.
80798         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
80799         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
80800         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
80801         * lib/unictype/pr_bidi_european_digit.h: Likewise.
80802         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
80803         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
80804         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
80805         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
80806         * lib/unictype/pr_bidi_pdf.h: Likewise.
80807         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
80808         * lib/unictype/pr_bidi_whitespace.h: Likewise.
80809         * lib/unictype/pr_combining.h: Likewise.
80810         * lib/unictype/pr_composite.h: Likewise.
80811         * lib/unictype/pr_currency_symbol.h: Likewise.
80812         * lib/unictype/pr_dash.h: Likewise.
80813         * lib/unictype/pr_decimal_digit.h: Likewise.
80814         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
80815         * lib/unictype/pr_deprecated.h: Likewise.
80816         * lib/unictype/pr_diacritic.h: Likewise.
80817         * lib/unictype/pr_extender.h: Likewise.
80818         * lib/unictype/pr_format_control.h: Likewise.
80819         * lib/unictype/pr_grapheme_base.h: Likewise.
80820         * lib/unictype/pr_grapheme_extend.h: Likewise.
80821         * lib/unictype/pr_grapheme_link.h: Likewise.
80822         * lib/unictype/pr_hex_digit.h: Likewise.
80823         * lib/unictype/pr_hyphen.h: Likewise.
80824         * lib/unictype/pr_id_continue.h: Likewise.
80825         * lib/unictype/pr_id_start.h: Likewise.
80826         * lib/unictype/pr_ideographic.h: Likewise.
80827         * lib/unictype/pr_ids_binary_operator.h: Likewise.
80828         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
80829         * lib/unictype/pr_ignorable_control.h: Likewise.
80830         * lib/unictype/pr_iso_control.h: Likewise.
80831         * lib/unictype/pr_join_control.h: Likewise.
80832         * lib/unictype/pr_left_of_pair.h: Likewise.
80833         * lib/unictype/pr_line_separator.h: Likewise.
80834         * lib/unictype/pr_logical_order_exception.h: Likewise.
80835         * lib/unictype/pr_lowercase.h: Likewise.
80836         * lib/unictype/pr_math.h: Likewise.
80837         * lib/unictype/pr_non_break.h: Likewise.
80838         * lib/unictype/pr_not_a_character.h: Likewise.
80839         * lib/unictype/pr_numeric.h: Likewise.
80840         * lib/unictype/pr_other_alphabetic.h: Likewise.
80841         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
80842         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
80843         * lib/unictype/pr_other_id_continue.h: Likewise.
80844         * lib/unictype/pr_other_id_start.h: Likewise.
80845         * lib/unictype/pr_other_lowercase.h: Likewise.
80846         * lib/unictype/pr_other_math.h: Likewise.
80847         * lib/unictype/pr_other_uppercase.h: Likewise.
80848         * lib/unictype/pr_paired_punctuation.h: Likewise.
80849         * lib/unictype/pr_paragraph_separator.h: Likewise.
80850         * lib/unictype/pr_pattern_syntax.h: Likewise.
80851         * lib/unictype/pr_pattern_white_space.h: Likewise.
80852         * lib/unictype/pr_private_use.h: Likewise.
80853         * lib/unictype/pr_punctuation.h: Likewise.
80854         * lib/unictype/pr_quotation_mark.h: Likewise.
80855         * lib/unictype/pr_radical.h: Likewise.
80856         * lib/unictype/pr_sentence_terminal.h: Likewise.
80857         * lib/unictype/pr_soft_dotted.h: Likewise.
80858         * lib/unictype/pr_space.h: Likewise.
80859         * lib/unictype/pr_terminal_punctuation.h: Likewise.
80860         * lib/unictype/pr_titlecase.h: Likewise.
80861         * lib/unictype/pr_unassigned_code_value.h: Likewise.
80862         * lib/unictype/pr_unified_ideograph.h: Likewise.
80863         * lib/unictype/pr_uppercase.h: Likewise.
80864         * lib/unictype/pr_variation_selector.h: Likewise.
80865         * lib/unictype/pr_white_space.h: Likewise.
80866         * lib/unictype/pr_xid_continue.h: Likewise.
80867         * lib/unictype/pr_xid_start.h: Likewise.
80868         * lib/unictype/pr_zero_width.h: Likewise.
80869         * lib/unictype/scripts.h: Likewise.
80870         * lib/unictype/scripts_byname.gperf: Likewise.
80871         * lib/unictype/sy_c_ident.h: Likewise.
80872         * lib/unictype/sy_c_whitespace.h: Likewise.
80873         * lib/unictype/sy_java_ident.h: Likewise.
80874         * lib/unictype/sy_java_whitespace.h: Likewise.
80876         * lib/unictype/Makefile: New file.
80877         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
80878         glibc.
80879         * lib/unictype/3level.h: New file, copied from glibc.
80880         * lib/unictype/3levelbit.h: New file.
80882 2007-11-11  Bruno Haible  <bruno@clisp.org>
80884         * modules/gperf: New file.
80885         * modules/iconv_open (Depends-on): Add it.
80886         (Makefile.am): Remove the GPERF definition.
80888 2007-11-11  Bruno Haible  <bruno@clisp.org>
80890         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
80891         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
80893 2007-11-11  Bruno Haible  <bruno@clisp.org>
80895         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
80896         (usage): Remove function.
80898 2007-11-11  Bruno Haible  <bruno@clisp.org>
80900         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
80901         gl_FUNC_CEILF_LIBS.
80902         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
80903         gl_FUNC_CEIL_LIBS.
80904         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
80905         gl_FUNC_CEILL_LIBS.
80906         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
80907         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
80908         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
80910 2007-11-11  Bruno Haible  <bruno@clisp.org>
80912         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
80913         roundf were declared but do not exist on functions.
80914         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
80915         roundl were declared but do not exist on functions.
80916         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
80917         HAVE_FLOORL_AND_CEILL, respectively.
80918         Needed for Sun C on Solaris 10.
80920 2007-11-11  Bruno Haible  <bruno@clisp.org>
80922         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
80923         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
80924         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
80925         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
80926         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
80927         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
80928         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
80929         HAVE_DECL_ROUNDF.
80930         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
80931         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
80932         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
80933         of HAVE_DECL_ROUND*.
80934         * modules/math (Makefile.am): Update.
80936 2007-11-10  Bruno Haible  <bruno@clisp.org>
80938         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
80939         ptrdiff_t as m4/intl.m4.
80941 2007-11-10  Jim Meyering  <meyering@redhat.com>
80943         Avoid link failure for the argmatch test.
80944         * tests/test-argmatch.c (usage): Define function to avoid a link
80945         failure: argmatch_die requires a usage function.
80947 2007-11-09  Bruno Haible  <bruno@clisp.org>
80949         * doc/functions/snprintf.texi: Mention BeOS deficiency.
80950         * doc/functions/vsnprintf.texi: Likewise.
80951         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
80952         with a size argument < 2.
80954 2007-11-09  Bruno Haible  <bruno@clisp.org>
80956         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
80957         buffer. Fixes an inefficiency introduced on 2007-11-03.
80959 2007-11-09  Bruno Haible  <bruno@clisp.org>
80961         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
80962         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
80964 2007-11-08  Jim Meyering  <meyering@redhat.com>
80966         Change cache variable name prefix "jm_" to "gl_" everywhere.
80967         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
80968         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
80969         * m4/uptime.m4: s/gl_/jm_/
80971 2007-11-07  Bruno Haible  <bruno@clisp.org>
80973         Update to GNU gettext 0.17.
80974         * m4/intl.m4: Update to GNU gettext 0.17.
80975         * m4/po.m4: Likewise.
80976         * modules/gettext (Files): Remove m4/ulonglong.m4.
80977         (configure.ac): Require gettext infrastructure from version 0.17.
80979 2007-11-06  Bruno Haible  <bruno@clisp.org>
80981         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
80982         symbolic values are not defined in a public header.
80983         * lib/freadable.c (freadable) [QNX]: Likewise.
80984         * lib/freadahead.c (freadahead) [QNX]: Likewise.
80985         * lib/freading.c (freading) [QNX]: Likewise.
80986         * lib/fseterr.c (fseterr) [QNX]: Likewise.
80987         * lib/fwritable.c (fwritable) [QNX]: Likewise.
80988         * lib/fwriting.c (fwriting) [QNX]: Likewise.
80989         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
80990         Reported by Alain Magloire.
80992         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
80994 2007-11-05  Bruno Haible  <bruno@clisp.org>
80996         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
80997         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
80998         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
80999         Reported by Eric Blake.
81001 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81002             Bruno Haible  <bruno@clisp.org>
81004         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
81005         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
81006         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
81007         (malloc): Undefine also before including <stdlib.h>.
81008         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
81009         Needed on OSF/1 4.0.
81011 2007-11-05  Jim Meyering  <meyering@redhat.com>
81013         git-version-gen: sync from coreutils.
81014         * build-aux/git-version-gen: Add comments.
81015         Change the first '-' to '.' in the snapshot version string,
81016         e.g., 6.9-377-08144 -> 6.9.377-08144
81017         Remove first parameter.
81018         Don't declare a version "-dirty" merely because a time
81019         stamp has changed.
81021 2007-11-04  Bruno Haible  <bruno@clisp.org>
81023         * lib/lock.h: Protect all macro definitions containing an 'if'
81024         statement through a "do { ... } while (0)".
81025         * lib/tls.h: Likewise.
81027 2007-11-04  Bruno Haible  <bruno@clisp.org>
81029         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
81031 2007-11-04  Bruno Haible  <bruno@clisp.org>
81033         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
81034         * modules/fprintf-posix (Depends-on): Add nocrash.
81035         * modules/snprintf-posix (Depends-on): Likewise.
81036         * modules/sprintf-posix (Depends-on): Likewise.
81037         * modules/vasnprintf-posix (Depends-on): Likewise.
81038         * modules/vasprintf-posix (Depends-on): Likewise.
81039         * modules/vfprintf-posix (Depends-on): Likewise.
81040         * modules/vsnprintf-posix (Depends-on): Likewise.
81041         * modules/vsprintf-posix (Depends-on): Likewise.
81042         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
81043         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
81044         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
81045         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
81046         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
81047         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
81048         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
81050 2007-11-04  Bruno Haible  <bruno@clisp.org>
81052         * modules/nocrash: New file.
81053         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
81054         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
81056 2007-11-04  Bruno Haible  <bruno@clisp.org>
81058         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
81059         precision handling.
81060         * tests/test-vasprintf-posix.c (test_function): Likewise.
81061         * tests/test-snprintf-posix.h (test_function): Likewise.
81062         * tests/test-sprintf-posix.h (test_function): Likewise.
81064         Fix *printf behaviour for large precisions on mingw and BeOS.
81065         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
81066         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
81067         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
81068         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
81069         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
81070         gl_PRINTF_PRECISION and test its result. Invoke
81071         gl_PREREQ_VASNPRINTF_PRECISION.
81072         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
81073         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
81074         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
81075         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
81076         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
81077         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
81078         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
81079         * doc/functions/fprintf.texi: Update.
81080         * doc/functions/printf.texi: Update.
81081         * doc/functions/snprintf.texi: Update.
81082         * doc/functions/sprintf.texi: Update.
81083         * doc/functions/vfprintf.texi: Update.
81084         * doc/functions/vprintf.texi: Update.
81085         * doc/functions/vsnprintf.texi: Update.
81086         * doc/functions/vsprintf.texi: Update.
81088 2007-11-04  Bruno Haible  <bruno@clisp.org>
81090         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
81092 2007-11-04  Bruno Haible  <bruno@clisp.org>
81094         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
81095         Reported by Sylvain Beucler <beuc@gnu.org>.
81097 2007-11-03  Bruno Haible  <bruno@clisp.org>
81099         * tests/test-fprintf-posix2.sh: New file.
81100         * tests/test-fprintf-posix2.c: New file.
81101         * modules/fprintf-posix-tests (Files): Add them.
81102         (TESTS): Add test-fprintf-posix2.sh.
81103         (configure.ac): Check for getrlimit and setrlimit.
81104         (check_PROGRAMS): Add test-fprintf-posix2.
81106         * tests/test-printf-posix2.sh: New file.
81107         * tests/test-printf-posix2.c: New file.
81108         * modules/printf-posix-tests (Files): Add them.
81109         (TESTS): Add test-printf-posix2.sh.
81110         (configure.ac): Check for getrlimit and setrlimit.
81111         (check_PROGRAMS): Add test-printf-posix2.
81113         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
81114         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
81115         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
81116         (decode_double): New function, copied from decode_long_double.
81117         (scale10_round_decimal_decoded): New function, extracted from
81118         scale10_round_decimal_long_double.
81119         (scale10_round_decimal_long_double): Use it.
81120         (scale10_round_decimal_double): New function.
81121         (floorlog10): New function.
81122         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
81123         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
81124         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
81125         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
81126         gl_PRINTF_ENOMEM and test its result. Invoke
81127         gl_PREREQ_VASNPRINTF_ENOMEM.
81128         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
81129         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
81130         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
81131         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
81132         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
81133         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
81134         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
81135         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
81136         * modules/snprintf-posix (Depends-on): Likewise.
81137         * modules/sprintf-posix (Depends-on): Likewise.
81138         * modules/vasnprintf-posix (Depends-on): Likewise.
81139         * modules/vasprintf-posix (Depends-on): Likewise.
81140         * modules/vfprintf-posix (Depends-on): Likewise.
81141         * modules/vsnprintf-posix (Depends-on): Likewise.
81142         * modules/vsprintf-posix (Depends-on): Likewise.
81143         * doc/functions/fprintf.texi: Update.
81144         * doc/functions/printf.texi: Update.
81145         * doc/functions/snprintf.texi: Update.
81146         * doc/functions/sprintf.texi: Update.
81147         * doc/functions/vfprintf.texi: Update.
81148         * doc/functions/vprintf.texi: Update.
81149         * doc/functions/vsnprintf.texi: Update.
81150         * doc/functions/vsprintf.texi: Update.
81152 2007-11-03  Bruno Haible  <bruno@clisp.org>
81154         * modules/frexp-nolibm-tests: New file.
81156         * modules/frexp-nolibm: New file.
81157         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
81159 2007-11-03  Bruno Haible  <bruno@clisp.org>
81161         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
81162         value is C99 compliant.
81163         Needed for OSF/1 5.1.
81165 2007-11-03  Bruno Haible  <bruno@clisp.org>
81167         Fix out-of-memory handling of vasnprintf.
81168         * lib/printf-parse.c: Include <errno.h>.
81169         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
81170         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
81171         is already set.
81173 2007-11-02  Eric Blake  <ebb9@byu.net>
81175         Fix tests on cygwin.
81176         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
81178 2007-11-01  Bruno Haible  <bruno@clisp.org>
81180         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
81181         warning.
81182         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
81183         needed for POSIX compatibility.
81185 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
81187         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
81188         for compatibility with GNU.
81190 2007-11-01  Bruno Haible  <bruno@clisp.org>
81192         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
81193         (putenv): Renamed from rpl_putenv. Change argument type from
81194         'const char *' to 'char *'.
81195         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
81196         of defining putenv in config.h, just set REPLACE_PUTENV.
81197         * modules/putenv (Depends-on): Add stdlib.
81198         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
81199         (Include): Use <stdlib.h>.
81200         * lib/stdlib.in.h (putenv): New declaration.
81201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
81202         REPLACE_PUTENV.
81203         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
81204         REPLACE_PUTENV.
81205         Needed for MacOS X 10.5.0.
81206         Reported by Peter O'Gorman <peter@pogma.com>.
81208 2007-11-01  Jim Meyering  <meyering@redhat.com>
81210         Treat an empty date string exactly like "0".
81211         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
81212         if the remaining date string (to be parsed) is empty, use "0".
81213         Reported by Mischa Molhoek and discussed in this thread:
81214         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
81216 2007-10-31  Bruno Haible  <bruno@clisp.org>
81218         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
81219         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
81220         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
81221         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
81222         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
81223         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
81225 2007-10-31  Bruno Haible  <bruno@clisp.org>
81227         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
81228         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
81229         (AC_TYPE_LONG_LONG_INT): Use it.
81230         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
81231         it as well.
81232         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
81233         to m4/longlong.m4.
81234         * modules/stdint (Files): Remove m4/ulonglong.m4.
81235         * modules/strtoull (Files): Use m4/longlong.m4 instead of
81236         m4/ulonglong.m4.
81237         * modules/strtoumax (Files): Likewise.
81239 2007-10-30  Bruno Haible  <bruno@clisp.org>
81241         * modules/xvasprintf-posix: New file.
81242         Suggested by Eric Blake.
81244 2007-10-30  Bruno Haible  <bruno@clisp.org>
81246         * modules/xprintf-posix-tests: New file.
81247         * tests/test-xprintf-posix.sh: New file.
81248         * tests/test-xprintf-posix.c: New file.
81249         * tests/test-xfprintf-posix.c: New file.
81251         * modules/xprintf-posix: New file.
81253 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81255         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
81256         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
81257         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
81259 2007-10-29  Bruno Haible  <bruno@clisp.org>
81261         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
81262         contain the special marker '_cv_'.
81263         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
81264         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
81265         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
81266         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
81267         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
81268         Reported by Ralf Wildenhues.
81270 2007-10-29  Bruno Haible  <bruno@clisp.org>
81272         * gnulib-tool (func_import): When --lgpl is not specified, set
81273         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
81274         GPLv3.
81275         Reported by Simon Josefsson.
81277 2007-10-28  Bruno Haible  <bruno@clisp.org>
81279         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
81280         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
81281         HAVE_DECL_ISFINITE.
81282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
81283         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
81284         HAVE_DECL_ISFINITE.
81286 2007-10-28  Bruno Haible  <bruno@clisp.org>
81288         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
81289         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
81291 2007-10-28  Bruno Haible  <bruno@clisp.org>
81293         Fix link errors with Sun C 5.0 on Solaris 10.
81294         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
81295         function is declared but not present in the compiler's libm.
81296         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
81297         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
81298         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
81299         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
81300         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
81301         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
81302         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
81303         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
81304         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
81305         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
81306         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
81307         HAVE_DECL_FLOORL.
81309 2007-10-28  Bruno Haible  <bruno@clisp.org>
81311         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
81312         gl_FUNC_FLOORL. Cache the result.
81313         (gl_FUNC_FLOORL): Use it.
81314         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
81315         gl_FUNC_CEILL. Cache the result.
81316         (gl_FUNC_CEILL): Use it.
81318         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
81319         gl_FUNC_FLOOR. Cache the result.
81320         (gl_FUNC_FLOOR): Use it.
81321         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
81322         gl_FUNC_CEIL. Cache the result.
81323         (gl_FUNC_CEIL): Use it.
81325         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
81326         gl_FUNC_FLOORF. Cache the result.
81327         (gl_FUNC_FLOORF): Use it.
81328         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
81329         gl_FUNC_CEILF. Cache the result.
81330         (gl_FUNC_CEILF): Use it.
81332 2007-10-28  Bruno Haible  <bruno@clisp.org>
81334         * gnulib-tool: Allow specifying the LGPL version number through
81335         --lgpl=2 or --lgpl=3.
81336         (func_usage): Document --lgpl with argument.
81337         Handle --lgpl=... arguments.
81338         (func_import): Recognize also gl_LGPL calls with an argument. When
81339         --lgpl=2 is used and the module's license is just LGPL, report an
81340         error. Set sed_transform_lib_file according to the lgpl variable. In
81341         the generated files, use --lgpl or gl_LGPL invocations with argument,
81342         if necessary.
81343         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
81344         an LGPv2+ license.
81345         * doc/gnulib-tool.texi (Modified imports): Update explanation of
81346         gl_LGPL macro.
81348 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81349             Bruno Haible  <bruno@clisp.org>
81351         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
81352         (u16_uctomb_aux): Likewise.
81353         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
81354         !HAVE_INLINE.
81355         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
81357 2007-10-28  Bruno Haible  <bruno@clisp.org>
81359         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
81360         Invoke AM_GETTEXT_OPTION if it exists.
81361         * modules/vasprintf: Likewise.
81362         * modules/verror: Likewise.
81363         * modules/xprintf: Likewise.
81364         * modules/xvasprintf: Likewise.
81366 2007-10-27  Ben Pfaff  <blp@gnu.org>
81368         * lib/math.in.h: Define isfinite macro and prototypes for
81369         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
81370         implementations.
81371         * m4/math_h.m4: New substitutions for isfinite module.
81372         * lib/isfinite.c: New file.
81373         * m4/isfinite.m4: New file.
81374         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
81375         * modules/isfinite: New file.
81376         * modules/isfinite-tests: New file.
81377         * tests/tests-isfinite.c: New file.
81378         * doc/functions/isfinite.texi: Mention isfinite module.
81379         * MODULES.html.sh: Mention new module.
81381 2007-10-27  Ben Pfaff  <blp@gnu.org>
81383         Ralf Wildenhues reported that Tru64 4.0D declares the round
81384         functions but does not have definitions.
81385         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
81386         cannot be found in any library, set the output variable to
81387         "missing" instead of "".
81388         * m4/round.m4: Also use our substitute if we cannot find round in
81389         any library, even if it is declared.
81390         * m4/roundf.m4: Likewise for roundf.
81391         * m4/roundl.m4: Likewise for roundl.
81392         * lib/math.in.h: Undefine roundf, round, roundl before defining
81393         their replacements, to allow for hypothetical systems where these
81394         may be defined as macros but not available in libraries.
81396 2007-10-27  Bruno Haible  <bruno@clisp.org>
81398         * doc/gnulib.texi: Invoke @firstparagraphindent.
81399         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
81400         changes in gnulib.
81401         (Source changes): New section.
81403 2007-10-26  Bruno Haible  <bruno@clisp.org>
81405         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
81406         borrowed from autoconf.
81408 2007-10-26  Bruno Haible  <bruno@clisp.org>
81410         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
81411         strerror returned the empty string. Needed on HP-UX 11.00.
81413 2007-10-24  Micah Cowan  <micah@cowan.name>
81415         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
81416         * build-aux/bootstrap: Remove support for now-unnecessary option,
81417         --cvs-user, and envvars CVS_USER, CVS_RSH.
81419 2007-10-24  Jim Meyering  <meyering@redhat.com>
81421         Avoid diagnostics from sha1sum when there is no cached checksum.
81422         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
81423         if the po.s1 file hasn't been created yet.
81425         * build-aux/bootstrap: Sync from coreutils:
81426         2007-10-24  Jim Meyering  <meyering@redhat.com>
81427         Get gnulib from the git repository, not from an obsolete cvs one.
81428         * build-aux/bootstrap: Suggestion from Micah Cowan.
81429         2007-10-04  Jim Meyering  <jim@meyering.net>
81430         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
81431         (update_po_files): Work also when there are no .po files in po/.
81433 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
81435         * README: Append ".git" to git and cg examples.
81436         Problem reported by Benoit Sigoure.
81438 2007-10-23  Micah Cowan  <micah@cowan.name>
81440         * users.txt: Add wget.
81442 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81444         Fix linking of some unistdio tests on FreeBSD.
81445         * modules/unistdio/u16-vsnprintf-tests
81446         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
81447         * modules/unistdio/u16-vsprintf-tests
81448         (test_u16_vsnprintf1_LDADD): Likewise.
81449         * modules/unistdio/u32-vsnprintf-tests
81450         (test_u32_vsnprintf1_LDADD): Likewise.
81451         * modules/unistdio/u32-vsprintf-tests
81452         (test_u32_vsprintf1_LDADD): Likewise.
81453         * modules/unistdio/u8-vsnprintf-tests
81454         (test_u8_vsnprintf1_LDADD): Likewise.
81455         * modules/unistdio/u8-vsprintf-tests
81456         (test_u8_vsprintf1_LDADD): Likewise.
81457         * modules/unistdio/ulc-vsnprintf-tests
81458         (test_ulc_vsnprintf1_LDADD): Likewise.
81459         * modules/unistdio/ulc-vsprintf-tests
81460         (test_ulc_vsprintf1_LDADD): Likewise.
81462         Fix linking of some uniconv tests on FreeBSD.
81463         * modules/uniconv/u16-conv-from-enc-tests
81464         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
81465         * modules/uniconv/u16-conv-to-enc-tests
81466         (test_u16_conv_to_enc_LDADD): Likewise.
81467         * modules/uniconv/u16-strconv-from-enc-tests
81468         (test_u16_strconv_from_enc_LDADD): Likewise.
81469         * modules/uniconv/u16-strconv-to-enc-tests
81470         (test_u16_strconv_to_enc_LDADD): Likewise.
81471         * modules/uniconv/u32-conv-from-enc-tests
81472         (test_u32_conv_from_enc_LDADD): Likewise.
81473         * modules/uniconv/u32-conv-to-enc-tests
81474         (test_u32_conv_to_enc_LDADD): Likewise.
81475         * modules/uniconv/u32-strconv-from-enc-tests
81476         (test_u32_strconv_from_enc_LDADD): Likewise.
81477         * modules/uniconv/u32-strconv-to-enc-tests
81478         (test_u32_strconv_to_enc_LDADD): Likewise.
81479         * modules/uniconv/u8-conv-from-enc-tests
81480         (test_u8_conv_from_enc_LDADD): Likewise.
81481         * modules/uniconv/u8-conv-to-enc-tests
81482         (test_u8_conv_to_enc_LDADD): Likewise.
81483         * modules/uniconv/u8-strconv-from-enc-tests
81484         (test_u8_strconv_from_enc_LDADD): Likewise.
81485         * modules/uniconv/u8-strconv-to-enc-tests
81486         (test_u8_strconv_to_enc_LDADD): Likewise.
81488 2007-10-22  Bruno Haible  <bruno@clisp.org>
81490         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
81491         size.
81493 2007-10-22  Eric Blake  <ebb9@byu.net>
81495         Tweak x*printf documentation.
81496         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
81497         variable name and comments.
81498         Suggested by Bruno Haible.
81500 2007-10-22  Bruno Haible  <bruno@clisp.org>
81502         * lib/acl.c (copy_acl): Fix file name in comment.
81504 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81506         Fix Tru64 problem with stdbool.h.
81507         * lib/stdbool.in.h (false, true):
81508         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
81509         Don't declare as an enum in this situation; it runs afoul of Tru64.
81510         Problem reported by Steven M. Schweda in
81511         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
81513 2007-10-22  Eric Blake  <ebb9@byu.net>
81515         Also wrap vf?printf.
81516         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
81517         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
81518         (xvprintf, xvfprintf): New functions.
81520 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81522         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
81523         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
81525         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
81526         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
81528 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
81530         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
81531         by Bruno Haible.
81533 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81535         * lib/getloadavg.c
81536         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
81537         Undef `sys' after including sys/table.h, for Tru64 4.0D.
81539         * tests/test-i-ring.c: Work for C89.
81541 2007-10-22  Bruno Haible  <bruno@clisp.org>
81543         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
81544         -1u, in preprocessor expression, so that we don't test for the bug
81545         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
81546         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
81548 2007-10-22  Eric Blake  <ebb9@byu.net>
81550         * tests/test-yesno.sh: Silence stderr during test.
81552 2007-10-22  Simon Josefsson  <simon@josefsson.org>
81554         * modules/crypto/gc-camellia: New file.
81556         * m4/gc-camellia.m4: New file.
81558         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
81560         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
81562 2007-10-22  Simon Josefsson  <simon@josefsson.org>
81564         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
81565         --help to stdout.  Reported by sms@antinode.org (Steven
81566         M. Schweda).
81568 2007-10-22  Simon Josefsson  <simon@josefsson.org>
81570         * users.txt: Fix link to libksba.
81572 2007-10-21  Ben Pfaff  <blp@gnu.org>
81574         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
81575         round.c roundf implementation that depends on floorf and ceilf to
81576         be tested unconditionally.
81578 2007-10-21  Ben Pfaff  <blp@gnu.org>
81580         * m4/check-libm-func.m4: Removed.
81581         * m4/check-math-lib.m4: New file.
81582         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
81583         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
81584         definition and lack of AC_LIBOBJ([roundf]).
81585         * m4/roundl.m4: Ditto, and similarly for roundl.
81586         * modules/round: Reference new m4 file.
81587         * modules/roundf: Ditto.
81588         * modules/roundl: Ditto.
81589         * tests/test-round2.c (main): Use ROUND instead of round.
81590         Bug report from Bruno Haible.
81592 2007-10-21  Bruno Haible  <bruno@clisp.org>
81594         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
81595         context.
81597 2007-10-21  Bruno Haible  <bruno@clisp.org>
81599         * tests/test-wcwidth.c (main): Allow negative result for some control
81600         characters.
81602         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
81603         Needed on OSF/1 5.1.
81605 2007-10-21  Bruno Haible  <bruno@clisp.org>
81607         * tests/test-floorf1.c: Include isnanf.h.
81608         (main): Use isnanf() instead of isnan().
81609         * tests/test-ceilf1.c: Include isnanf.h.
81610         (main): Use isnanf() instead of isnan().
81611         * tests/test-truncf1.c: Include isnanf.h.
81612         (main): Use isnanf() instead of isnan().
81613         * tests/test-roundf1.c: Include isnanf.h.
81614         (main): Use isnanf() instead of isnan().
81616 2007-10-21  Eric Blake  <ebb9@byu.net>
81618         * users.txt: Update URL for m4.
81620 2007-10-21  Bruno Haible  <bruno@clisp.org>
81622         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
81624 2007-10-21  Bruno Haible  <bruno@clisp.org>
81626         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
81627         Git's management files if the CVS files are not present.
81629 2007-10-20  Bruno Haible  <bruno@clisp.org>
81631         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
81632         gcc-3.4.x.
81634 2007-10-20  Ben Pfaff  <blp@gnu.org>
81636         * lib/math.in.h: Declare round, roundf, roundl if we are providing
81637         implementations.
81638         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
81639         * lib/round.c: New file.
81640         * lib/roundf.c: New file.
81641         * lib/roundl.c: New file.
81642         * m4/round.m4: New file.
81643         * m4/roundf.m4: New file.
81644         * m4/roundl.m4: New file.
81645         * m4/check-libm-func-m4: New file.
81646         * modules/math: Replace round, roundf, roundl related @VARS@ in
81647         math.in.h.
81648         * modules/round: New file.
81649         * modules/round-tests: New file.
81650         * modules/roundf: New file.
81651         * modules/roundf-tests: New file.
81652         * modules/roundl: New file.
81653         * modules/roundl-tests: New file.
81654         * tests/test-round1.c: New file.
81655         * tests/test-round2.c: New file.
81656         * tests/test-roundf1.c: New file.
81657         * tests/test-roundf2.c: New file.
81658         * tests/test-roundl.c: New file.
81659         * doc/functions/round.texi: Mention round module.
81660         * doc/functions/roundf.texi: Mention roundf module.
81661         * doc/functions/roundl.texi: Mention roundl module.
81662         * MODULES.html.sh: Mention new modules.
81663         Thanks to Bruno Haible for suggestions.
81665 2007-10-20  Jim Meyering  <meyering@redhat.com>
81667         * lib/xprintf.c: Include <config.h> unconditionally.
81669         Change xprintf's license to GPL.
81670         * modules/xprintf (License): s/LGPL/GPL/, since this module
81671         depends on modules (exit and exitfail) which are GPL.
81672         Suggestion from Bruno Haible.
81674         xprintf fixes.
81675         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
81676         Use a clearer diagnostic.
81677         Patch from Bruno Haible.
81679 2007-10-20  Bruno Haible  <bruno@clisp.org>
81681         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
81682         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
81683         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81685 2007-10-20  Bruno Haible  <bruno@clisp.org>
81687         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
81688         precision in the comparison result > x - 1 or similar.
81689         * tests/test-ceilf2.c (correct_result_p): Likewise.
81690         * tests/test-truncf2.c (correct_result_p): Likewise.
81691         * tests/test-trunc2.c (correct_result_p): Likewise.
81692         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81694 2007-10-20  Bruno Haible  <bruno@clisp.org>
81696         * modules/ceil: New file.
81697         * m4/ceil.m4: New file.
81698         * doc/functions/ceil.texi: Mention the 'ceil' module.
81700 2007-10-20  Bruno Haible  <bruno@clisp.org>
81702         * modules/floor: New file.
81703         * m4/floor.m4: New file.
81704         * doc/functions/floor.texi: Mention the 'floor' module.
81706 2007-10-20  Bruno Haible  <bruno@clisp.org>
81708         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
81709         of %a.
81710         * modules/floorf-tests (Depends-on): Likewise.
81711         * modules/truncf-tests (Depends-on): Likewise.
81712         * modules/trunc-tests (Depends-on): Likewise.
81713         Reported by Ben Pfaff.
81715 2007-10-19  Jim Meyering  <meyering@redhat.com>
81717         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
81718         Don't bother testing specific errno values.  Just test ferror.
81720         New module: xprintf
81721         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
81723 2007-10-19  Bruno Haible  <bruno@clisp.org>
81725         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
81726         syntax.
81727         * modules/javaexec (Makefile.am): Likewise.
81728         * modules/relocatable-prog (Makefile.am): Likewise.
81729         Suggested by Jim Meyering.
81731 2007-10-18  Bruno Haible  <bruno@clisp.org>
81733         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
81734         Reported by Jim Meyering.
81736 2007-10-18  Eric Blake  <ebb9@byu.net>
81738         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
81740 2007-10-18  Bruno Haible  <bruno@clisp.org>
81742         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
81743         the format string into writable memory. Needed in Fortify conditions.
81745 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
81746             Bruno Haible  <bruno@clisp.org>
81748         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
81749         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
81750         * modules/trim (Depends-on): Add mbchar.
81751         (configure.ac): Add gl_FUNC_MBRTOWC.
81752         (Makefile.am): Augment lib_SOURCES.
81754 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
81756         Modify glob.c to use fstatat and dirfd, to simplify it.
81757         Suggested by Eric Blake.
81758         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
81759         Don't include <stdbool.h>; not used.
81760         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
81761         (link_exists_p): Simplify implementation, since we can now assume
81762         dirfd and fstatat.
81763         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
81765 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81767         * gnulib-tool (func_get_dependencies): Fix sed script to
81768         match only tests.
81770 2007-10-17  Bruno Haible  <bruno@clisp.org>
81772         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
81773         allow locale names without encoding suffix.
81774         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
81775         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
81777 2007-10-16  Bruno Haible  <bruno@clisp.org>
81779         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
81780         * lib/getgroups.c (getgroups): Likewise.
81781         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
81783 2007-10-16  Bruno Haible  <bruno@clisp.org>
81785         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
81786         * modules/malloc-posix (License): Likewise.
81787         * modules/realloc-posix (License): Likewise.
81788         * modules/calloc-posix (License): Likewise.
81789         * modules/intprops (License): Change from GPL to LGPL, with
81790         Paul Eggert's approval.
81792 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
81794         Merge glibc changes into lib/glob.c.
81796         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
81797         2007-10-15 04:59:03 UTC.  Here are the changes:
81799         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
81801         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
81803         * lib/glob.c: Add some branch prediction throughout.
81805         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
81807         [BZ #5103]
81808         * lib/glob.c (glob): Recognize patterns starting \/.
81810         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
81812         [BZ #3996]
81813         * lib/glob.c (attribute_hidden): Define if not defined.
81814         (glob): Unescape dirname, filename or username when needed and not
81815         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
81816         is NULL.  Handle unescaped [ in pattern without closing ].
81817         Don't pass GLOB_CHECK down to recursive glob for directories.
81818         (__glob_pattern_type): New function.
81819         (__glob_pattern_p): Implement using __glob_pattern_type.
81820         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
81821         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
81822         Remove unreachable code.
81824         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
81826         * lib/glob.c (glob_in_dir): Add some comments and asserts to
81827         explain why there are no leaks.
81829         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
81831         [BZ #3253]
81832         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
81833         time, rather allocate increasingly bigger arrays of pointers, if
81834         possible with alloca, if too large with malloc.
81836 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
81838         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
81839         Problem reported by H.Merijn Brand in
81840         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
81841         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
81842         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81844 2007-10-15  Bruno Haible  <bruno@clisp.org>
81846         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
81847         with explicit rpl_ prefix.
81848         * lib/fopen.c (fopen): Likewise.
81849         * lib/freopen.c (freopen): Likewise.
81850         * lib/iconv.c (iconv): Likewise.
81851         * lib/iconv_close.c (iconv_close): Likewise.
81853 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81855         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
81857 2007-10-15  Bruno Haible  <bruno@clisp.org>
81859         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
81860         <stddef.h> instead of <stdlib.h> since we only need NULL.
81861         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81863 2007-10-15  Bruno Haible  <bruno@clisp.org>
81865         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
81866         Replace paragraph talking about LIBOBJS.
81867         Reported by Colin Watson <cjwatson@debian.org>.
81869 2007-10-15  Bruno Haible  <bruno@clisp.org>
81871         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
81872         <stdlib.h> before using NULL.
81874 2007-10-15  Simon Josefsson  <simon@josefsson.org>
81876         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
81877         Reported by Albert Chin <china@thewrittenword.com>.
81879 2007-10-14  Bruno Haible  <bruno@clisp.org>
81881         * modules/iconv_open-utf-tests: New file.
81882         * tests/test-iconv-utf.c: New file.
81884         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
81885         * modules/iconv_open-utf: New file.
81886         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
81887         (iconv, iconv_close): New declarations.
81888         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
81889         be defined.
81890         (iconv_open): Add special handling of conversion between UTF-8 and
81891         UTF-{16,32}{BE,LE}.
81892         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
81893         * lib/iconv_close.c: New file.
81894         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
81895         gl_FUNC_ICONV_OPEN.
81896         (gl_FUNC_ICONV_OPEN): Use it.
81897         (gl_FUNC_ICONV_OPEN_UTF): New macro.
81898         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
81899         and REPLACE_ICONV_UTF.
81900         * modules/iconv_open (Depends-on): Add c-strcase.
81901         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
81902         ICONV_CONST.
81903         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
81905 2007-10-13  Albert Chin  <china@thewrittenword.com>
81906             Bruno Haible  <bruno@clisp.org>
81908         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
81909         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
81911 2007-10-13  Bruno Haible  <bruno@clisp.org>
81913         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
81914         defined, use the ISO C99 inline semantics.
81915         * lib/argp.h (ARGP_EI): Likewise.
81917 2007-10-13  Bruno Haible  <bruno@clisp.org>
81919         Handle 'inline' change in gcc 4.3.0.
81920         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
81921         argp_fmtstream_write, argp_fmtstream_set_lmargin,
81922         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
81923         argp_fmtstream_point): Disable 'extern' declaration if the function
81924         definition is going to be provided inline.
81925         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
81926         semantics, not the ISO C99 inline semantics.
81927         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
81928         'extern' declaration if the function definition is going to be provided
81929         inline.
81930         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
81931         the GNU C inline semantics, not the ISO C99 inline semantics. With
81932         GCC 4.2, avoid a warning.
81934 2007-10-13  Bruno Haible  <bruno@clisp.org>
81936         * lib/freading.h (freading): Enable the use of __freading for
81937         glibc >= 2.7.
81938         * lib/freading.c (freading): Likewise.
81940 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
81942         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
81943         "warning: C99 inline functions are not supported; using GNU89".
81945 2007-10-12  Bruno Haible  <bruno@clisp.org>
81947         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
81948         of 2.
81949         * tests/test-ceilf2.c: New file.
81950         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
81952         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
81953         * modules/ceilf-tests: Update.
81955 2007-10-12  Bruno Haible  <bruno@clisp.org>
81957         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
81958         of 2.
81959         * tests/test-floorf2.c: New file.
81960         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
81962         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
81963         * modules/floorf-tests: Update.
81965 2007-10-12  Bruno Haible  <bruno@clisp.org>
81967         * tests/test-trunc2.c: New file.
81968         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
81970         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
81971         * modules/trunc-tests: Update.
81973 2007-10-12  Bruno Haible  <bruno@clisp.org>
81975         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
81976         of 2.
81977         * tests/test-truncf2.c: New file.
81978         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
81980         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
81981         * modules/truncf-tests: Update.
81983 2007-10-11  Eric Blake  <ebb9@byu.net>
81985         Don't claim strerror is broken on Interix.
81986         * doc/functions/strerror.texi (strerror): Known broken systems are
81987         now Solaris 8, and not Interix.
81988         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
81989         Interix on cross-compile.
81990         Reported by Martin Koeppe in
81991         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
81993 2007-10-11  Bruno Haible  <bruno@clisp.org>
81995         * modules/i-ring-tests: New file.
81996         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
81997         instead of assert.
81999 2007-10-11  Bruno Haible  <bruno@clisp.org>
82001         * modules/filenamecat-tests: New file.
82002         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
82003         * lib/filenamecat.c: Remove test code.
82005 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
82007         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
82009         * lib/strerror.c: Include <string.h> always, to test interface,
82010         and to remove the need for the dummy.
82011         Include intprops.h to compute width instead of doing it ourselves
82012         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
82013         (strerror): Define it to return NULL if there's no system strerror.
82014         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
82015         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
82016         ancient pre-strerror Unix systems well any more.  Saying "unknown
82017         system error" is enough.
82018         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
82019         simpler strerror.c implementation.
82020         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
82021         Simplify the tests to reflect the simpler strerror implementation.
82022         * modules/strerror (Depends-on): Add intprops.
82024 2007-10-09  Eric Blake  <ebb9@byu.net>
82026         Silence test-fpending.
82027         * modules/fpending-tests (Files): Add wrapper script.
82028         * tests/test-fpending.sh: New file.
82030 2007-10-09  Bruno Haible  <bruno@clisp.org>
82032         * MODULES.html.sh (func_module): Don't create a hyperlink for
82033         function names like 'printf_frexp'.
82034         (Misc): Add crc, memxor.
82035         (Characteristics of floating types): New section.
82036         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
82037         isnanf-nolibm, signbit, trunc, truncf, truncl.
82038         (Enhancements for ISO C 99 functions): New subsection Input/output.
82039         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
82040         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
82041         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
82042         (Compatibility checks for POSIX:2001 functions): Add clock-time.
82043         (Enhancements for POSIX:2001 functions): Add chdir-long.
82044         (File system functions): Add areadlink, chdir-safer, read-file.
82045         Remove cycle-check.
82046         (File system as inode set): New section.
82047         (Date and time): Add gethrxtime.
82048         (Multithreading): Add openmp.
82049         (Internationalization functions): Add localename.
82050         (Unicode string functions): Add unistr/u*-mbsnlen.
82051         (Support for maintaining and releasing projects): Add git-version-gen.
82052         (Lone files): Remove directories.
82054 2007-10-08  Ben Pfaff  <blp@gnu.org>
82056         * lib/xmalloca.h: Fix typo in comment.
82058 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
82060         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
82061         when avoiding problems with integer overflow.  Use a portable test
82062         instead.
82064 2007-10-08  Simon Josefsson  <simon@josefsson.org>
82066         * modules/dummy (License): Change to LGPLv2+.
82067         * modules/float (License): Likewise
82068         * modules/realloc (License): Likewise
82069         * modules/stdlib (License): Likewise
82071 2007-10-07  Bruno Haible  <bruno@clisp.org>
82073         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
82074         * floor.c (TWO_MANT_DIG): Likewise.
82075         * ceil.c (TWO_MANT_DIG): Likewise.
82076         Reported by Ben Pfaff.
82078 2007-10-07  Bruno Haible  <bruno@clisp.org>
82080         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
82081         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
82082         * lib/frexp.c (FUNC): Likewise.
82083         * lib/printf-frexp.h (printf_frexp): Likewise.
82084         * lib/printf-frexpl.h (printf_frexpl): Likewise.
82085         * lib/printf-frexp.c (FUNC): Likewise.
82086         Suggested by Jim Meyering.
82088 2007-10-07  Jim Meyering  <meyering@redhat.com>
82090         Make xnanosleep's integer overflow test more robust.
82091         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
82092         so that gcc-4.3.0 doesn't optimize away this test for overflow.
82094 2007-10-07  Bruno Haible  <bruno@clisp.org>
82096         * NEWS: Mention the license change.
82098         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
82099         abbreviations in the modules files.
82101         Change copyright notice from GPLv2+ to GPLv3+.
82102         * README: Change copyright notice.
82103         * MODULES.html.sh: Likewise.
82104         * build-aux/bootstrap.conf: Likewise.
82105         * build-aux/config.libpath: Likewise.
82106         * build-aux/csharpcomp.sh.in: Likewise.
82107         * build-aux/csharpexec.sh.in: Likewise.
82108         * build-aux/install-reloc: Likewise.
82109         * build-aux/javacomp.sh.in: Likewise.
82110         * build-aux/javaexec.sh.in: Likewise.
82111         * build-aux/ldd.sh.in: Likewise.
82112         * build-aux/reloc-ldflags: Likewise.
82113         * build-aux/relocatable.sh.in: Likewise.
82114         * build-aux/x-to-1.in: Likewise.
82115         * check-module: Likewise.
82116         * config/srclistvars.sh: Likewise.
82117         * gnulib-tool: Likewise.
82118         * lib/acl-internal.h: Likewise.
82119         * lib/acl.c: Likewise.
82120         * lib/acl.h: Likewise.
82121         * lib/acl_entries.c: Likewise.
82122         * lib/areadlink-with-size.c: Likewise.
82123         * lib/areadlink.c: Likewise.
82124         * lib/areadlink.h: Likewise.
82125         * lib/argmatch.c: Likewise.
82126         * lib/argmatch.h: Likewise.
82127         * lib/argp-ba.c: Likewise.
82128         * lib/argp-eexst.c: Likewise.
82129         * lib/argp-fmtstream.c: Likewise.
82130         * lib/argp-fmtstream.h: Likewise.
82131         * lib/argp-fs-xinl.c: Likewise.
82132         * lib/argp-help.c: Likewise.
82133         * lib/argp-namefrob.h: Likewise.
82134         * lib/argp-parse.c: Likewise.
82135         * lib/argp-pin.c: Likewise.
82136         * lib/argp-pv.c: Likewise.
82137         * lib/argp-pvh.c: Likewise.
82138         * lib/argp-xinl.c: Likewise.
82139         * lib/argp.h: Likewise.
82140         * lib/at-func.c: Likewise.
82141         * lib/atanl.c: Likewise.
82142         * lib/backupfile.c: Likewise.
82143         * lib/backupfile.h: Likewise.
82144         * lib/basename.c: Likewise.
82145         * lib/binary-io.h: Likewise.
82146         * lib/byteswap.in.h: Likewise.
82147         * lib/c-stack.c: Likewise.
82148         * lib/c-stack.h: Likewise.
82149         * lib/c-strcasestr.c: Likewise.
82150         * lib/c-strcasestr.h: Likewise.
82151         * lib/c-strstr.c: Likewise.
82152         * lib/c-strstr.h: Likewise.
82153         * lib/c-strtod.c: Likewise.
82154         * lib/calloc.c: Likewise.
82155         * lib/canon-host.c: Likewise.
82156         * lib/canon-host.h: Likewise.
82157         * lib/canonicalize-lgpl.c: Likewise.
82158         * lib/canonicalize.c: Likewise.
82159         * lib/canonicalize.h: Likewise.
82160         * lib/ceil.c: Likewise.
82161         * lib/ceilf.c: Likewise.
82162         * lib/ceill.c: Likewise.
82163         * lib/chdir-long.c: Likewise.
82164         * lib/chdir-long.h: Likewise.
82165         * lib/chdir-safer.c: Likewise.
82166         * lib/chdir-safer.h: Likewise.
82167         * lib/chown.c: Likewise.
82168         * lib/classpath.c: Likewise.
82169         * lib/classpath.h: Likewise.
82170         * lib/clean-temp.c: Likewise.
82171         * lib/clean-temp.h: Likewise.
82172         * lib/cloexec.c: Likewise.
82173         * lib/close-stream.c: Likewise.
82174         * lib/closein.c: Likewise.
82175         * lib/closein.h: Likewise.
82176         * lib/closeout.c: Likewise.
82177         * lib/closeout.h: Likewise.
82178         * lib/concat-filename.c: Likewise.
82179         * lib/copy-file.c: Likewise.
82180         * lib/copy-file.h: Likewise.
82181         * lib/count-one-bits.h: Likewise.
82182         * lib/crc.c: Likewise.
82183         * lib/crc.h: Likewise.
82184         * lib/creat-safer.c: Likewise.
82185         * lib/csharpcomp.c: Likewise.
82186         * lib/csharpcomp.h: Likewise.
82187         * lib/csharpexec.c: Likewise.
82188         * lib/csharpexec.h: Likewise.
82189         * lib/cycle-check.c: Likewise.
82190         * lib/cycle-check.h: Likewise.
82191         * lib/diacrit.c: Likewise.
82192         * lib/diacrit.h: Likewise.
82193         * lib/diffseq.h: Likewise.
82194         * lib/dirchownmod.c: Likewise.
82195         * lib/dirent.in.h: Likewise.
82196         * lib/dirfd.c: Likewise.
82197         * lib/dirfd.h: Likewise.
82198         * lib/dirname.c: Likewise.
82199         * lib/dirname.h: Likewise.
82200         * lib/dummy.c: Likewise.
82201         * lib/dup-safer.c: Likewise.
82202         * lib/dup2.c: Likewise.
82203         * lib/eealloc.h: Likewise.
82204         * lib/error.c: Likewise.
82205         * lib/error.h: Likewise.
82206         * lib/euidaccess.c: Likewise.
82207         * lib/exclude.c: Likewise.
82208         * lib/exclude.h: Likewise.
82209         * lib/execute.c: Likewise.
82210         * lib/execute.h: Likewise.
82211         * lib/exitfail.c: Likewise.
82212         * lib/exitfail.h: Likewise.
82213         * lib/expl.c: Likewise.
82214         * lib/fatal-signal.c: Likewise.
82215         * lib/fatal-signal.h: Likewise.
82216         * lib/fbufmode.c: Likewise.
82217         * lib/fbufmode.h: Likewise.
82218         * lib/fchdir.c: Likewise.
82219         * lib/fchmodat.c: Likewise.
82220         * lib/fchownat.c: Likewise.
82221         * lib/fcntl--.h: Likewise.
82222         * lib/fcntl-safer.h: Likewise.
82223         * lib/fcntl.in.h: Likewise.
82224         * lib/fd-safer.c: Likewise.
82225         * lib/fflush.c: Likewise.
82226         * lib/file-has-acl.c: Likewise.
82227         * lib/file-set.c: Likewise.
82228         * lib/file-type.c: Likewise.
82229         * lib/file-type.h: Likewise.
82230         * lib/fileblocks.c: Likewise.
82231         * lib/filemode.c: Likewise.
82232         * lib/filemode.h: Likewise.
82233         * lib/filename.h: Likewise.
82234         * lib/filenamecat.c: Likewise.
82235         * lib/filenamecat.h: Likewise.
82236         * lib/findprog.c: Likewise.
82237         * lib/findprog.h: Likewise.
82238         * lib/float.in.h: Likewise.
82239         * lib/floor.c: Likewise.
82240         * lib/floorf.c: Likewise.
82241         * lib/floorl.c: Likewise.
82242         * lib/fopen-safer.c: Likewise.
82243         * lib/fopen.c: Likewise.
82244         * lib/fpending.c: Likewise.
82245         * lib/fpending.h: Likewise.
82246         * lib/fprintf.c: Likewise.
82247         * lib/fprintftime.h: Likewise.
82248         * lib/fpucw.h: Likewise.
82249         * lib/fpurge.c: Likewise.
82250         * lib/fpurge.h: Likewise.
82251         * lib/freadable.c: Likewise.
82252         * lib/freadable.h: Likewise.
82253         * lib/freadahead.c: Likewise.
82254         * lib/freadahead.h: Likewise.
82255         * lib/freading.c: Likewise.
82256         * lib/freading.h: Likewise.
82257         * lib/free.c: Likewise.
82258         * lib/freopen.c: Likewise.
82259         * lib/frexp.c: Likewise.
82260         * lib/frexpl.c: Likewise.
82261         * lib/fseek.c: Likewise.
82262         * lib/fseterr.c: Likewise.
82263         * lib/fseterr.h: Likewise.
82264         * lib/fstatat.c: Likewise.
82265         * lib/fstrcmp.c: Likewise.
82266         * lib/fstrcmp.h: Likewise.
82267         * lib/fsusage.c: Likewise.
82268         * lib/fsusage.h: Likewise.
82269         * lib/ftell.c: Likewise.
82270         * lib/ftello.c: Likewise.
82271         * lib/fts-cycle.c: Likewise.
82272         * lib/fts.c: Likewise.
82273         * lib/fts_.h: Likewise.
82274         * lib/full-read.c: Likewise.
82275         * lib/full-read.h: Likewise.
82276         * lib/full-write.c: Likewise.
82277         * lib/full-write.h: Likewise.
82278         * lib/fwritable.c: Likewise.
82279         * lib/fwritable.h: Likewise.
82280         * lib/fwriteerror.c: Likewise.
82281         * lib/fwriteerror.h: Likewise.
82282         * lib/fwriting.c: Likewise.
82283         * lib/fwriting.h: Likewise.
82284         * lib/gcd.c: Likewise.
82285         * lib/gcd.h: Likewise.
82286         * lib/getcwd.c: Likewise.
82287         * lib/getdate.h: Likewise.
82288         * lib/getdate.y: Likewise.
82289         * lib/getdomainname.c: Likewise.
82290         * lib/getdomainname.h: Likewise.
82291         * lib/getgroups.c: Likewise.
82292         * lib/gethostname.c: Likewise.
82293         * lib/gethrxtime.c: Likewise.
82294         * lib/gethrxtime.h: Likewise.
82295         * lib/getloadavg.c: Likewise.
82296         * lib/getndelim2.c: Likewise.
82297         * lib/getndelim2.h: Likewise.
82298         * lib/getnline.c: Likewise.
82299         * lib/getnline.h: Likewise.
82300         * lib/getopt.c: Likewise.
82301         * lib/getopt.in.h: Likewise.
82302         * lib/getopt1.c: Likewise.
82303         * lib/getopt_int.h: Likewise.
82304         * lib/getpagesize.h: Likewise.
82305         * lib/getsubopt.c: Likewise.
82306         * lib/gettime.c: Likewise.
82307         * lib/getugroups.c: Likewise.
82308         * lib/getugroups.h: Likewise.
82309         * lib/getusershell.c: Likewise.
82310         * lib/gl_anyavltree_list1.h: Likewise.
82311         * lib/gl_anyavltree_list2.h: Likewise.
82312         * lib/gl_anyhash_list1.h: Likewise.
82313         * lib/gl_anyhash_list2.h: Likewise.
82314         * lib/gl_anylinked_list1.h: Likewise.
82315         * lib/gl_anylinked_list2.h: Likewise.
82316         * lib/gl_anyrbtree_list1.h: Likewise.
82317         * lib/gl_anyrbtree_list2.h: Likewise.
82318         * lib/gl_anytree_list1.h: Likewise.
82319         * lib/gl_anytree_list2.h: Likewise.
82320         * lib/gl_anytree_oset.h: Likewise.
82321         * lib/gl_anytreehash_list1.h: Likewise.
82322         * lib/gl_anytreehash_list2.h: Likewise.
82323         * lib/gl_array_list.c: Likewise.
82324         * lib/gl_array_list.h: Likewise.
82325         * lib/gl_array_oset.c: Likewise.
82326         * lib/gl_array_oset.h: Likewise.
82327         * lib/gl_avltree_list.c: Likewise.
82328         * lib/gl_avltree_list.h: Likewise.
82329         * lib/gl_avltree_oset.c: Likewise.
82330         * lib/gl_avltree_oset.h: Likewise.
82331         * lib/gl_avltreehash_list.c: Likewise.
82332         * lib/gl_avltreehash_list.h: Likewise.
82333         * lib/gl_carray_list.c: Likewise.
82334         * lib/gl_carray_list.h: Likewise.
82335         * lib/gl_linked_list.c: Likewise.
82336         * lib/gl_linked_list.h: Likewise.
82337         * lib/gl_linkedhash_list.c: Likewise.
82338         * lib/gl_linkedhash_list.h: Likewise.
82339         * lib/gl_list.c: Likewise.
82340         * lib/gl_list.h: Likewise.
82341         * lib/gl_oset.c: Likewise.
82342         * lib/gl_oset.h: Likewise.
82343         * lib/gl_rbtree_list.c: Likewise.
82344         * lib/gl_rbtree_list.h: Likewise.
82345         * lib/gl_rbtree_oset.c: Likewise.
82346         * lib/gl_rbtree_oset.h: Likewise.
82347         * lib/gl_rbtreehash_list.c: Likewise.
82348         * lib/gl_rbtreehash_list.h: Likewise.
82349         * lib/gl_sublist.c: Likewise.
82350         * lib/gl_sublist.h: Likewise.
82351         * lib/group-member.c: Likewise.
82352         * lib/group-member.h: Likewise.
82353         * lib/hard-locale.c: Likewise.
82354         * lib/hard-locale.h: Likewise.
82355         * lib/hash-pjw.c: Likewise.
82356         * lib/hash-pjw.h: Likewise.
82357         * lib/hash-triple.c: Likewise.
82358         * lib/hash.c: Likewise.
82359         * lib/hash.h: Likewise.
82360         * lib/human.c: Likewise.
82361         * lib/human.h: Likewise.
82362         * lib/i-ring.c: Likewise.
82363         * lib/i-ring.h: Likewise.
82364         * lib/idcache.c: Likewise.
82365         * lib/imaxabs.c: Likewise.
82366         * lib/imaxdiv.c: Likewise.
82367         * lib/inet_pton.c: Likewise.
82368         * lib/inet_pton.h: Likewise.
82369         * lib/intprops.h: Likewise.
82370         * lib/inttostr.c: Likewise.
82371         * lib/inttostr.h: Likewise.
82372         * lib/inttypes.in.h: Likewise.
82373         * lib/isapipe.c: Likewise.
82374         * lib/isdir.c: Likewise.
82375         * lib/isnan.c: Likewise.
82376         * lib/isnan.h: Likewise.
82377         * lib/isnanf.c: Likewise.
82378         * lib/isnanf.h: Likewise.
82379         * lib/isnanl-nolibm.h: Likewise.
82380         * lib/isnanl.c: Likewise.
82381         * lib/isnanl.h: Likewise.
82382         * lib/javacomp.c: Likewise.
82383         * lib/javacomp.h: Likewise.
82384         * lib/javaexec.c: Likewise.
82385         * lib/javaexec.h: Likewise.
82386         * lib/javaversion.c: Likewise.
82387         * lib/javaversion.h: Likewise.
82388         * lib/javaversion.java: Likewise.
82389         * lib/lbrkprop.h: Likewise.
82390         * lib/lchmod.h: Likewise.
82391         * lib/lchown.c: Likewise.
82392         * lib/ldexpl.c: Likewise.
82393         * lib/linebreak.c: Likewise.
82394         * lib/linebreak.h: Likewise.
82395         * lib/linebuffer.c: Likewise.
82396         * lib/linebuffer.h: Likewise.
82397         * lib/locale.in.h: Likewise.
82398         * lib/logl.c: Likewise.
82399         * lib/long-options.c: Likewise.
82400         * lib/long-options.h: Likewise.
82401         * lib/lstat.c: Likewise.
82402         * lib/lstat.h: Likewise.
82403         * lib/math.in.h: Likewise.
82404         * lib/mbchar.c: Likewise.
82405         * lib/mbchar.h: Likewise.
82406         * lib/mbfile.h: Likewise.
82407         * lib/mbiter.h: Likewise.
82408         * lib/mbscasecmp.c: Likewise.
82409         * lib/mbscasestr.c: Likewise.
82410         * lib/mbschr.c: Likewise.
82411         * lib/mbscspn.c: Likewise.
82412         * lib/mbslen.c: Likewise.
82413         * lib/mbsncasecmp.c: Likewise.
82414         * lib/mbsnlen.c: Likewise.
82415         * lib/mbspbrk.c: Likewise.
82416         * lib/mbspcasecmp.c: Likewise.
82417         * lib/mbsrchr.c: Likewise.
82418         * lib/mbssep.c: Likewise.
82419         * lib/mbsspn.c: Likewise.
82420         * lib/mbsstr.c: Likewise.
82421         * lib/mbstok_r.c: Likewise.
82422         * lib/mbswidth.c: Likewise.
82423         * lib/mbswidth.h: Likewise.
82424         * lib/mbuiter.h: Likewise.
82425         * lib/memcasecmp.c: Likewise.
82426         * lib/memcasecmp.h: Likewise.
82427         * lib/memchr.c: Likewise.
82428         * lib/memcmp.c: Likewise.
82429         * lib/memcoll.c: Likewise.
82430         * lib/memcoll.h: Likewise.
82431         * lib/memcpy.c: Likewise.
82432         * lib/memrchr.c: Likewise.
82433         * lib/mkancesdirs.c: Likewise.
82434         * lib/mkdir-p.c: Likewise.
82435         * lib/mkdir-p.h: Likewise.
82436         * lib/mkdir.c: Likewise.
82437         * lib/mkdirat.c: Likewise.
82438         * lib/mkdtemp.c: Likewise.
82439         * lib/mkstemp-safer.c: Likewise.
82440         * lib/mkstemp.c: Likewise.
82441         * lib/modechange.c: Likewise.
82442         * lib/modechange.h: Likewise.
82443         * lib/mountlist.c: Likewise.
82444         * lib/mountlist.h: Likewise.
82445         * lib/mpsort.c: Likewise.
82446         * lib/nanosleep.c: Likewise.
82447         * lib/obstack.c: Likewise.
82448         * lib/obstack.h: Likewise.
82449         * lib/open-safer.c: Likewise.
82450         * lib/open.c: Likewise.
82451         * lib/openat-die.c: Likewise.
82452         * lib/openat-priv.h: Likewise.
82453         * lib/openat-proc.c: Likewise.
82454         * lib/openat.c: Likewise.
82455         * lib/openat.h: Likewise.
82456         * lib/pagealign_alloc.c: Likewise.
82457         * lib/pagealign_alloc.h: Likewise.
82458         * lib/physmem.c: Likewise.
82459         * lib/physmem.h: Likewise.
82460         * lib/pipe-safer.c: Likewise.
82461         * lib/pipe.c: Likewise.
82462         * lib/pipe.h: Likewise.
82463         * lib/posixtm.c: Likewise.
82464         * lib/posixtm.h: Likewise.
82465         * lib/posixver.c: Likewise.
82466         * lib/printf-frexp.c: Likewise.
82467         * lib/printf-frexp.h: Likewise.
82468         * lib/printf-frexpl.c: Likewise.
82469         * lib/printf-frexpl.h: Likewise.
82470         * lib/printf.c: Likewise.
82471         * lib/progname.c: Likewise.
82472         * lib/progname.h: Likewise.
82473         * lib/progreloc.c: Likewise.
82474         * lib/putenv.c: Likewise.
82475         * lib/quote.c: Likewise.
82476         * lib/quote.h: Likewise.
82477         * lib/quotearg.c: Likewise.
82478         * lib/quotearg.h: Likewise.
82479         * lib/raise.c: Likewise.
82480         * lib/readline.c: Likewise.
82481         * lib/readline.h: Likewise.
82482         * lib/readlink.c: Likewise.
82483         * lib/readtokens.c: Likewise.
82484         * lib/readtokens.h: Likewise.
82485         * lib/readtokens0.c: Likewise.
82486         * lib/readtokens0.h: Likewise.
82487         * lib/readutmp.c: Likewise.
82488         * lib/readutmp.h: Likewise.
82489         * lib/realloc.c: Likewise.
82490         * lib/relocwrapper.c: Likewise.
82491         * lib/rename-dest-slash.c: Likewise.
82492         * lib/rename.c: Likewise.
82493         * lib/rmdir.c: Likewise.
82494         * lib/rpmatch.c: Likewise.
82495         * lib/safe-read.c: Likewise.
82496         * lib/safe-read.h: Likewise.
82497         * lib/safe-write.c: Likewise.
82498         * lib/safe-write.h: Likewise.
82499         * lib/same-inode.h: Likewise.
82500         * lib/same.c: Likewise.
82501         * lib/same.h: Likewise.
82502         * lib/save-cwd.c: Likewise.
82503         * lib/save-cwd.h: Likewise.
82504         * lib/savedir.c: Likewise.
82505         * lib/savedir.h: Likewise.
82506         * lib/savewd.c: Likewise.
82507         * lib/savewd.h: Likewise.
82508         * lib/search.in.h: Likewise.
82509         * lib/setenv.c: Likewise.
82510         * lib/setenv.h: Likewise.
82511         * lib/settime.c: Likewise.
82512         * lib/sh-quote.c: Likewise.
82513         * lib/sh-quote.h: Likewise.
82514         * lib/sig2str.c: Likewise.
82515         * lib/sig2str.h: Likewise.
82516         * lib/signal.in.h: Likewise.
82517         * lib/signbitd.c: Likewise.
82518         * lib/signbitf.c: Likewise.
82519         * lib/signbitl.c: Likewise.
82520         * lib/sigprocmask.c: Likewise.
82521         * lib/sincosl.c: Likewise.
82522         * lib/sleep.c: Likewise.
82523         * lib/sprintf.c: Likewise.
82524         * lib/sqrtl.c: Likewise.
82525         * lib/stat-time.h: Likewise.
82526         * lib/stdio--.h: Likewise.
82527         * lib/stdio-safer.h: Likewise.
82528         * lib/stdlib--.h: Likewise.
82529         * lib/stdlib-safer.h: Likewise.
82530         * lib/stdlib.in.h: Likewise.
82531         * lib/stpcpy.c: Likewise.
82532         * lib/stpncpy.c: Likewise.
82533         * lib/strchrnul.c: Likewise.
82534         * lib/strcspn.c: Likewise.
82535         * lib/strerror.c: Likewise.
82536         * lib/strftime.c: Likewise.
82537         * lib/strftime.h: Likewise.
82538         * lib/striconveh.c: Likewise.
82539         * lib/striconveh.h: Likewise.
82540         * lib/striconveha.c: Likewise.
82541         * lib/striconveha.h: Likewise.
82542         * lib/stripslash.c: Likewise.
82543         * lib/strnlen1.c: Likewise.
82544         * lib/strnlen1.h: Likewise.
82545         * lib/strtod.c: Likewise.
82546         * lib/strtoimax.c: Likewise.
82547         * lib/strtok_r.c: Likewise.
82548         * lib/strtol.c: Likewise.
82549         * lib/strtoll.c: Likewise.
82550         * lib/strtoul.c: Likewise.
82551         * lib/strtoull.c: Likewise.
82552         * lib/sysexits.in.h: Likewise.
82553         * lib/tempname.c: Likewise.
82554         * lib/tempname.h: Likewise.
82555         * lib/timespec.h: Likewise.
82556         * lib/tls.c: Likewise.
82557         * lib/tls.h: Likewise.
82558         * lib/tmpdir.c: Likewise.
82559         * lib/tmpdir.h: Likewise.
82560         * lib/tmpfile-safer.c: Likewise.
82561         * lib/tmpfile.c: Likewise.
82562         * lib/trigl.c: Likewise.
82563         * lib/trigl.h: Likewise.
82564         * lib/trim.c: Likewise.
82565         * lib/trim.h: Likewise.
82566         * lib/trunc.c: Likewise.
82567         * lib/truncf.c: Likewise.
82568         * lib/truncl.c: Likewise.
82569         * lib/tsearch.c: Likewise.
82570         * lib/unicodeio.c: Likewise.
82571         * lib/unicodeio.h: Likewise.
82572         * lib/unistd--.h: Likewise.
82573         * lib/unistd-safer.h: Likewise.
82574         * lib/unistdio/ulc-fprintf.c: Likewise.
82575         * lib/unistdio/ulc-vfprintf.c: Likewise.
82576         * lib/unlinkdir.c: Likewise.
82577         * lib/unlinkdir.h: Likewise.
82578         * lib/unlocked-io.h: Likewise.
82579         * lib/unsetenv.c: Likewise.
82580         * lib/userspec.c: Likewise.
82581         * lib/utime.c: Likewise.
82582         * lib/utimecmp.c: Likewise.
82583         * lib/utimecmp.h: Likewise.
82584         * lib/utimens.c: Likewise.
82585         * lib/verify.h: Likewise.
82586         * lib/verror.c: Likewise.
82587         * lib/verror.h: Likewise.
82588         * lib/version-etc-fsf.c: Likewise.
82589         * lib/version-etc.c: Likewise.
82590         * lib/version-etc.h: Likewise.
82591         * lib/vfprintf.c: Likewise.
82592         * lib/vprintf.c: Likewise.
82593         * lib/vsprintf.c: Likewise.
82594         * lib/w32spawn.h: Likewise.
82595         * lib/wait-process.c: Likewise.
82596         * lib/wait-process.h: Likewise.
82597         * lib/wcwidth.c: Likewise.
82598         * lib/write-any-file.c: Likewise.
82599         * lib/xalloc-die.c: Likewise.
82600         * lib/xalloc.h: Likewise.
82601         * lib/xasprintf.c: Likewise.
82602         * lib/xgetcwd.c: Likewise.
82603         * lib/xgetcwd.h: Likewise.
82604         * lib/xgetdomainname.c: Likewise.
82605         * lib/xgetdomainname.h: Likewise.
82606         * lib/xgethostname.c: Likewise.
82607         * lib/xmalloc.c: Likewise.
82608         * lib/xmalloca.c: Likewise.
82609         * lib/xmalloca.h: Likewise.
82610         * lib/xmemcoll.c: Likewise.
82611         * lib/xnanosleep.c: Likewise.
82612         * lib/xreadlink.c: Likewise.
82613         * lib/xreadlink.h: Likewise.
82614         * lib/xsetenv.c: Likewise.
82615         * lib/xsetenv.h: Likewise.
82616         * lib/xstriconv.c: Likewise.
82617         * lib/xstriconv.h: Likewise.
82618         * lib/xstrndup.c: Likewise.
82619         * lib/xstrndup.h: Likewise.
82620         * lib/xstrtod.c: Likewise.
82621         * lib/xstrtod.h: Likewise.
82622         * lib/xstrtol-error.c: Likewise.
82623         * lib/xstrtol.c: Likewise.
82624         * lib/xstrtol.h: Likewise.
82625         * lib/xtime.h: Likewise.
82626         * lib/xvasprintf.c: Likewise.
82627         * lib/xvasprintf.h: Likewise.
82628         * lib/yesno.c: Likewise.
82629         * lib/yesno.h: Likewise.
82630         * posix-modules: Likewise.
82631         * tests/test-alloca-opt.c: Likewise.
82632         * tests/test-arcfour.c: Likewise.
82633         * tests/test-arctwo.c: Likewise.
82634         * tests/test-argmatch.c: Likewise.
82635         * tests/test-argp-2.sh: Likewise.
82636         * tests/test-argp.c: Likewise.
82637         * tests/test-arpa_inet.c: Likewise.
82638         * tests/test-array_list.c: Likewise.
82639         * tests/test-array_oset.c: Likewise.
82640         * tests/test-atexit.c: Likewise.
82641         * tests/test-avltree_list.c: Likewise.
82642         * tests/test-avltree_oset.c: Likewise.
82643         * tests/test-avltreehash_list.c: Likewise.
82644         * tests/test-base64.c: Likewise.
82645         * tests/test-binary-io.c: Likewise.
82646         * tests/test-byteswap.c: Likewise.
82647         * tests/test-c-ctype.c: Likewise.
82648         * tests/test-c-strcasecmp.c: Likewise.
82649         * tests/test-c-strcasestr.c: Likewise.
82650         * tests/test-c-strncasecmp.c: Likewise.
82651         * tests/test-c-strstr.c: Likewise.
82652         * tests/test-canonicalize-lgpl.c: Likewise.
82653         * tests/test-canonicalize.c: Likewise.
82654         * tests/test-carray_list.c: Likewise.
82655         * tests/test-ceilf.c: Likewise.
82656         * tests/test-ceill.c: Likewise.
82657         * tests/test-count-one-bits.c: Likewise.
82658         * tests/test-crc.c: Likewise.
82659         * tests/test-dirname.c: Likewise.
82660         * tests/test-fbufmode.c: Likewise.
82661         * tests/test-fcntl.c: Likewise.
82662         * tests/test-fflush.c: Likewise.
82663         * tests/test-floorf.c: Likewise.
82664         * tests/test-floorl.c: Likewise.
82665         * tests/test-fopen.c: Likewise.
82666         * tests/test-fprintf-posix.c: Likewise.
82667         * tests/test-fprintf-posix.h: Likewise.
82668         * tests/test-fpurge.c: Likewise.
82669         * tests/test-freadable.c: Likewise.
82670         * tests/test-freadahead.c: Likewise.
82671         * tests/test-freading.c: Likewise.
82672         * tests/test-freopen.c: Likewise.
82673         * tests/test-frexp.c: Likewise.
82674         * tests/test-frexpl.c: Likewise.
82675         * tests/test-fseek.c: Likewise.
82676         * tests/test-fseeko.c: Likewise.
82677         * tests/test-fseterr.c: Likewise.
82678         * tests/test-fstrcmp.c: Likewise.
82679         * tests/test-ftell.c: Likewise.
82680         * tests/test-ftello.c: Likewise.
82681         * tests/test-fwritable.c: Likewise.
82682         * tests/test-fwriting.c: Likewise.
82683         * tests/test-getaddrinfo.c: Likewise.
82684         * tests/test-getpass.c: Likewise.
82685         * tests/test-gettimeofday.c: Likewise.
82686         * tests/test-hmac-md5.c: Likewise.
82687         * tests/test-hmac-sha1.c: Likewise.
82688         * tests/test-iconv.c: Likewise.
82689         * tests/test-iconvme.c: Likewise.
82690         * tests/test-inttypes.c: Likewise.
82691         * tests/test-isnan.c: Likewise.
82692         * tests/test-isnanf.c: Likewise.
82693         * tests/test-isnanl-nolibm.c: Likewise.
82694         * tests/test-isnanl.c: Likewise.
82695         * tests/test-isnanl.h: Likewise.
82696         * tests/test-ldexpl.c: Likewise.
82697         * tests/test-linked_list.c: Likewise.
82698         * tests/test-linkedhash_list.c: Likewise.
82699         * tests/test-locale.c: Likewise.
82700         * tests/test-localename.c: Likewise.
82701         * tests/test-lock.c: Likewise.
82702         * tests/test-lseek.c: Likewise.
82703         * tests/test-malloca.c: Likewise.
82704         * tests/test-math.c: Likewise.
82705         * tests/test-mbscasecmp.c: Likewise.
82706         * tests/test-mbscasestr1.c: Likewise.
82707         * tests/test-mbscasestr2.c: Likewise.
82708         * tests/test-mbscasestr3.c: Likewise.
82709         * tests/test-mbscasestr4.c: Likewise.
82710         * tests/test-mbschr.c: Likewise.
82711         * tests/test-mbscspn.c: Likewise.
82712         * tests/test-mbsncasecmp.c: Likewise.
82713         * tests/test-mbspbrk.c: Likewise.
82714         * tests/test-mbspcasecmp.c: Likewise.
82715         * tests/test-mbsrchr.c: Likewise.
82716         * tests/test-mbsspn.c: Likewise.
82717         * tests/test-mbsstr1.c: Likewise.
82718         * tests/test-mbsstr2.c: Likewise.
82719         * tests/test-mbsstr3.c: Likewise.
82720         * tests/test-md5.c: Likewise.
82721         * tests/test-memmem.c: Likewise.
82722         * tests/test-netinet_in.c: Likewise.
82723         * tests/test-open.c: Likewise.
82724         * tests/test-printf-frexp.c: Likewise.
82725         * tests/test-printf-frexpl.c: Likewise.
82726         * tests/test-printf-posix.c: Likewise.
82727         * tests/test-printf-posix.h: Likewise.
82728         * tests/test-rbtree_list.c: Likewise.
82729         * tests/test-rbtree_oset.c: Likewise.
82730         * tests/test-rbtreehash_list.c: Likewise.
82731         * tests/test-read-file.c: Likewise.
82732         * tests/test-rijndael.c: Likewise.
82733         * tests/test-search.c: Likewise.
82734         * tests/test-signbit.c: Likewise.
82735         * tests/test-sleep.c: Likewise.
82736         * tests/test-snprintf-posix.c: Likewise.
82737         * tests/test-snprintf-posix.h: Likewise.
82738         * tests/test-snprintf.c: Likewise.
82739         * tests/test-sprintf-posix.c: Likewise.
82740         * tests/test-sprintf-posix.h: Likewise.
82741         * tests/test-stat-time.c: Likewise.
82742         * tests/test-stdbool.c: Likewise.
82743         * tests/test-stdint.c: Likewise.
82744         * tests/test-stdio.c: Likewise.
82745         * tests/test-stdlib.c: Likewise.
82746         * tests/test-stpncpy.c: Likewise.
82747         * tests/test-strcasestr.c: Likewise.
82748         * tests/test-striconv.c: Likewise.
82749         * tests/test-striconveh.c: Likewise.
82750         * tests/test-striconveha.c: Likewise.
82751         * tests/test-string.c: Likewise.
82752         * tests/test-sys_select.c: Likewise.
82753         * tests/test-sys_socket.c: Likewise.
82754         * tests/test-sys_stat.c: Likewise.
82755         * tests/test-sys_time.c: Likewise.
82756         * tests/test-sysexits.c: Likewise.
82757         * tests/test-time.c: Likewise.
82758         * tests/test-tls.c: Likewise.
82759         * tests/test-trunc.c: Likewise.
82760         * tests/test-truncf.c: Likewise.
82761         * tests/test-truncl.c: Likewise.
82762         * tests/test-unistd.c: Likewise.
82763         * tests/test-vasnprintf-posix.c: Likewise.
82764         * tests/test-vasnprintf-posix2.c: Likewise.
82765         * tests/test-vasnprintf.c: Likewise.
82766         * tests/test-vasprintf-posix.c: Likewise.
82767         * tests/test-vasprintf.c: Likewise.
82768         * tests/test-verify.c: Likewise.
82769         * tests/test-vfprintf-posix.c: Likewise.
82770         * tests/test-vprintf-posix.c: Likewise.
82771         * tests/test-vsnprintf-posix.c: Likewise.
82772         * tests/test-vsnprintf.c: Likewise.
82773         * tests/test-vsprintf-posix.c: Likewise.
82774         * tests/test-wchar.c: Likewise.
82775         * tests/test-wctype.c: Likewise.
82776         * tests/test-wcwidth.c: Likewise.
82777         * tests/test-xstrtol.c: Likewise.
82778         * tests/test-xvasprintf.c: Likewise.
82779         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
82780         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
82781         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
82782         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
82783         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
82784         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
82785         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
82786         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
82787         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
82788         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
82789         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
82790         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
82791         * tests/uniname/test-uninames.c: Likewise.
82792         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
82793         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
82794         * tests/unistdio/test-u16-printf1.h: Likewise.
82795         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
82796         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
82797         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
82798         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
82799         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
82800         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
82801         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
82802         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
82803         * tests/unistdio/test-u32-printf1.h: Likewise.
82804         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
82805         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
82806         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
82807         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
82808         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
82809         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
82810         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
82811         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
82812         * tests/unistdio/test-u8-printf1.h: Likewise.
82813         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
82814         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
82815         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
82816         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
82817         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
82818         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
82819         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
82820         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
82821         * tests/unistdio/test-ulc-printf1.h: Likewise.
82822         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
82823         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
82824         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
82825         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
82826         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
82827         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
82828         * tests/uniwidth/test-u16-strwidth.c: Likewise.
82829         * tests/uniwidth/test-u16-width.c: Likewise.
82830         * tests/uniwidth/test-u32-strwidth.c: Likewise.
82831         * tests/uniwidth/test-u32-width.c: Likewise.
82832         * tests/uniwidth/test-u8-strwidth.c: Likewise.
82833         * tests/uniwidth/test-u8-width.c: Likewise.
82834         * tests/uniwidth/test-uc_width.c: Likewise.
82835         * config/srclist-update: Likewise.
82836         (fixlicense): Update to GPLv3+.
82838         Change copyright notice from LGPLv2.1+ to LGPLv3+.
82839         * tests/test-tsearch.c: Change copyright notice.
82841         Change copyright notice from LGPLv2.0+ to LGPLv3+.
82842         * lib/c-strcaseeq.h: Change copyright notice.
82843         * lib/streq.h: Likewise.
82844         * lib/uniconv.h: Likewise.
82845         * lib/uniconv/u-conv-from-enc.h: Likewise.
82846         * lib/uniconv/u-conv-to-enc.h: Likewise.
82847         * lib/uniconv/u-strconv-from-enc.h: Likewise.
82848         * lib/uniconv/u-strconv-to-enc.h: Likewise.
82849         * lib/uniconv/u16-conv-from-enc.c: Likewise.
82850         * lib/uniconv/u16-conv-to-enc.c: Likewise.
82851         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
82852         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
82853         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
82854         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
82855         * lib/uniconv/u32-conv-from-enc.c: Likewise.
82856         * lib/uniconv/u32-conv-to-enc.c: Likewise.
82857         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
82858         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
82859         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
82860         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
82861         * lib/uniconv/u8-conv-from-enc.c: Likewise.
82862         * lib/uniconv/u8-conv-to-enc.c: Likewise.
82863         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
82864         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
82865         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
82866         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
82867         * lib/uniname.h: Likewise.
82868         * lib/uniname/uniname.c: Likewise.
82869         * lib/unistdio.h: Likewise.
82870         * lib/unistdio/u-asnprintf.h: Likewise.
82871         * lib/unistdio/u-asprintf.h: Likewise.
82872         * lib/unistdio/u-printf-args.c: Likewise.
82873         * lib/unistdio/u-printf-args.h: Likewise.
82874         * lib/unistdio/u-printf-parse.h: Likewise.
82875         * lib/unistdio/u-snprintf.h: Likewise.
82876         * lib/unistdio/u-sprintf.h: Likewise.
82877         * lib/unistdio/u-vasprintf.h: Likewise.
82878         * lib/unistdio/u-vsnprintf.h: Likewise.
82879         * lib/unistdio/u-vsprintf.h: Likewise.
82880         * lib/unistdio/u16-asnprintf.c: Likewise.
82881         * lib/unistdio/u16-asprintf.c: Likewise.
82882         * lib/unistdio/u16-printf-parse.c: Likewise.
82883         * lib/unistdio/u16-snprintf.c: Likewise.
82884         * lib/unistdio/u16-sprintf.c: Likewise.
82885         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
82886         * lib/unistdio/u16-u16-asprintf.c: Likewise.
82887         * lib/unistdio/u16-u16-snprintf.c: Likewise.
82888         * lib/unistdio/u16-u16-sprintf.c: Likewise.
82889         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
82890         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
82891         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
82892         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
82893         * lib/unistdio/u16-vasnprintf.c: Likewise.
82894         * lib/unistdio/u16-vasprintf.c: Likewise.
82895         * lib/unistdio/u16-vsnprintf.c: Likewise.
82896         * lib/unistdio/u16-vsprintf.c: Likewise.
82897         * lib/unistdio/u32-asnprintf.c: Likewise.
82898         * lib/unistdio/u32-asprintf.c: Likewise.
82899         * lib/unistdio/u32-printf-parse.c: Likewise.
82900         * lib/unistdio/u32-snprintf.c: Likewise.
82901         * lib/unistdio/u32-sprintf.c: Likewise.
82902         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
82903         * lib/unistdio/u32-u32-asprintf.c: Likewise.
82904         * lib/unistdio/u32-u32-snprintf.c: Likewise.
82905         * lib/unistdio/u32-u32-sprintf.c: Likewise.
82906         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
82907         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
82908         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
82909         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
82910         * lib/unistdio/u32-vasnprintf.c: Likewise.
82911         * lib/unistdio/u32-vasprintf.c: Likewise.
82912         * lib/unistdio/u32-vsnprintf.c: Likewise.
82913         * lib/unistdio/u32-vsprintf.c: Likewise.
82914         * lib/unistdio/u8-asnprintf.c: Likewise.
82915         * lib/unistdio/u8-asprintf.c: Likewise.
82916         * lib/unistdio/u8-printf-parse.c: Likewise.
82917         * lib/unistdio/u8-snprintf.c: Likewise.
82918         * lib/unistdio/u8-sprintf.c: Likewise.
82919         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
82920         * lib/unistdio/u8-u8-asprintf.c: Likewise.
82921         * lib/unistdio/u8-u8-snprintf.c: Likewise.
82922         * lib/unistdio/u8-u8-sprintf.c: Likewise.
82923         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
82924         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
82925         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
82926         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
82927         * lib/unistdio/u8-vasnprintf.c: Likewise.
82928         * lib/unistdio/u8-vasprintf.c: Likewise.
82929         * lib/unistdio/u8-vsnprintf.c: Likewise.
82930         * lib/unistdio/u8-vsprintf.c: Likewise.
82931         * lib/unistdio/ulc-asnprintf.c: Likewise.
82932         * lib/unistdio/ulc-asprintf.c: Likewise.
82933         * lib/unistdio/ulc-printf-parse.c: Likewise.
82934         * lib/unistdio/ulc-snprintf.c: Likewise.
82935         * lib/unistdio/ulc-sprintf.c: Likewise.
82936         * lib/unistdio/ulc-vasnprintf.c: Likewise.
82937         * lib/unistdio/ulc-vasprintf.c: Likewise.
82938         * lib/unistdio/ulc-vsnprintf.c: Likewise.
82939         * lib/unistdio/ulc-vsprintf.c: Likewise.
82940         * lib/unistr.h: Likewise.
82941         * lib/unistr/u-cpy-alloc.h: Likewise.
82942         * lib/unistr/u-cpy.h: Likewise.
82943         * lib/unistr/u-endswith.h: Likewise.
82944         * lib/unistr/u-move.h: Likewise.
82945         * lib/unistr/u-set.h: Likewise.
82946         * lib/unistr/u-startswith.h: Likewise.
82947         * lib/unistr/u-stpcpy.h: Likewise.
82948         * lib/unistr/u-stpncpy.h: Likewise.
82949         * lib/unistr/u-strcat.h: Likewise.
82950         * lib/unistr/u-strcpy.h: Likewise.
82951         * lib/unistr/u-strcspn.h: Likewise.
82952         * lib/unistr/u-strdup.h: Likewise.
82953         * lib/unistr/u-strlen.h: Likewise.
82954         * lib/unistr/u-strncat.h: Likewise.
82955         * lib/unistr/u-strncpy.h: Likewise.
82956         * lib/unistr/u-strnlen.h: Likewise.
82957         * lib/unistr/u-strpbrk.h: Likewise.
82958         * lib/unistr/u-strspn.h: Likewise.
82959         * lib/unistr/u-strstr.h: Likewise.
82960         * lib/unistr/u-strtok.h: Likewise.
82961         * lib/unistr/u16-check.c: Likewise.
82962         * lib/unistr/u16-chr.c: Likewise.
82963         * lib/unistr/u16-cmp.c: Likewise.
82964         * lib/unistr/u16-cpy-alloc.c: Likewise.
82965         * lib/unistr/u16-cpy.c: Likewise.
82966         * lib/unistr/u16-endswith.c: Likewise.
82967         * lib/unistr/u16-mblen.c: Likewise.
82968         * lib/unistr/u16-mbsnlen.c: Likewise.
82969         * lib/unistr/u16-mbtouc-aux.c: Likewise.
82970         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
82971         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
82972         * lib/unistr/u16-mbtouc.c: Likewise.
82973         * lib/unistr/u16-mbtoucr.c: Likewise.
82974         * lib/unistr/u16-move.c: Likewise.
82975         * lib/unistr/u16-next.c: Likewise.
82976         * lib/unistr/u16-prev.c: Likewise.
82977         * lib/unistr/u16-set.c: Likewise.
82978         * lib/unistr/u16-startswith.c: Likewise.
82979         * lib/unistr/u16-stpcpy.c: Likewise.
82980         * lib/unistr/u16-stpncpy.c: Likewise.
82981         * lib/unistr/u16-strcat.c: Likewise.
82982         * lib/unistr/u16-strchr.c: Likewise.
82983         * lib/unistr/u16-strcmp.c: Likewise.
82984         * lib/unistr/u16-strcpy.c: Likewise.
82985         * lib/unistr/u16-strcspn.c: Likewise.
82986         * lib/unistr/u16-strdup.c: Likewise.
82987         * lib/unistr/u16-strlen.c: Likewise.
82988         * lib/unistr/u16-strmblen.c: Likewise.
82989         * lib/unistr/u16-strmbtouc.c: Likewise.
82990         * lib/unistr/u16-strncat.c: Likewise.
82991         * lib/unistr/u16-strncmp.c: Likewise.
82992         * lib/unistr/u16-strncpy.c: Likewise.
82993         * lib/unistr/u16-strnlen.c: Likewise.
82994         * lib/unistr/u16-strpbrk.c: Likewise.
82995         * lib/unistr/u16-strrchr.c: Likewise.
82996         * lib/unistr/u16-strspn.c: Likewise.
82997         * lib/unistr/u16-strstr.c: Likewise.
82998         * lib/unistr/u16-strtok.c: Likewise.
82999         * lib/unistr/u16-to-u32.c: Likewise.
83000         * lib/unistr/u16-to-u8.c: Likewise.
83001         * lib/unistr/u16-uctomb-aux.c: Likewise.
83002         * lib/unistr/u16-uctomb.c: Likewise.
83003         * lib/unistr/u32-check.c: Likewise.
83004         * lib/unistr/u32-chr.c: Likewise.
83005         * lib/unistr/u32-cmp.c: Likewise.
83006         * lib/unistr/u32-cpy-alloc.c: Likewise.
83007         * lib/unistr/u32-cpy.c: Likewise.
83008         * lib/unistr/u32-endswith.c: Likewise.
83009         * lib/unistr/u32-mblen.c: Likewise.
83010         * lib/unistr/u32-mbsnlen.c: Likewise.
83011         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
83012         * lib/unistr/u32-mbtouc.c: Likewise.
83013         * lib/unistr/u32-mbtoucr.c: Likewise.
83014         * lib/unistr/u32-move.c: Likewise.
83015         * lib/unistr/u32-next.c: Likewise.
83016         * lib/unistr/u32-prev.c: Likewise.
83017         * lib/unistr/u32-set.c: Likewise.
83018         * lib/unistr/u32-startswith.c: Likewise.
83019         * lib/unistr/u32-stpcpy.c: Likewise.
83020         * lib/unistr/u32-stpncpy.c: Likewise.
83021         * lib/unistr/u32-strcat.c: Likewise.
83022         * lib/unistr/u32-strchr.c: Likewise.
83023         * lib/unistr/u32-strcmp.c: Likewise.
83024         * lib/unistr/u32-strcpy.c: Likewise.
83025         * lib/unistr/u32-strcspn.c: Likewise.
83026         * lib/unistr/u32-strdup.c: Likewise.
83027         * lib/unistr/u32-strlen.c: Likewise.
83028         * lib/unistr/u32-strmblen.c: Likewise.
83029         * lib/unistr/u32-strmbtouc.c: Likewise.
83030         * lib/unistr/u32-strncat.c: Likewise.
83031         * lib/unistr/u32-strncmp.c: Likewise.
83032         * lib/unistr/u32-strncpy.c: Likewise.
83033         * lib/unistr/u32-strnlen.c: Likewise.
83034         * lib/unistr/u32-strpbrk.c: Likewise.
83035         * lib/unistr/u32-strrchr.c: Likewise.
83036         * lib/unistr/u32-strspn.c: Likewise.
83037         * lib/unistr/u32-strstr.c: Likewise.
83038         * lib/unistr/u32-strtok.c: Likewise.
83039         * lib/unistr/u32-to-u16.c: Likewise.
83040         * lib/unistr/u32-to-u8.c: Likewise.
83041         * lib/unistr/u32-uctomb.c: Likewise.
83042         * lib/unistr/u8-check.c: Likewise.
83043         * lib/unistr/u8-chr.c: Likewise.
83044         * lib/unistr/u8-cmp.c: Likewise.
83045         * lib/unistr/u8-cpy-alloc.c: Likewise.
83046         * lib/unistr/u8-cpy.c: Likewise.
83047         * lib/unistr/u8-endswith.c: Likewise.
83048         * lib/unistr/u8-mblen.c: Likewise.
83049         * lib/unistr/u8-mbsnlen.c: Likewise.
83050         * lib/unistr/u8-mbtouc-aux.c: Likewise.
83051         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
83052         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
83053         * lib/unistr/u8-mbtouc.c: Likewise.
83054         * lib/unistr/u8-mbtoucr.c: Likewise.
83055         * lib/unistr/u8-move.c: Likewise.
83056         * lib/unistr/u8-next.c: Likewise.
83057         * lib/unistr/u8-prev.c: Likewise.
83058         * lib/unistr/u8-set.c: Likewise.
83059         * lib/unistr/u8-startswith.c: Likewise.
83060         * lib/unistr/u8-stpcpy.c: Likewise.
83061         * lib/unistr/u8-stpncpy.c: Likewise.
83062         * lib/unistr/u8-strcat.c: Likewise.
83063         * lib/unistr/u8-strchr.c: Likewise.
83064         * lib/unistr/u8-strcmp.c: Likewise.
83065         * lib/unistr/u8-strcpy.c: Likewise.
83066         * lib/unistr/u8-strcspn.c: Likewise.
83067         * lib/unistr/u8-strdup.c: Likewise.
83068         * lib/unistr/u8-strlen.c: Likewise.
83069         * lib/unistr/u8-strmblen.c: Likewise.
83070         * lib/unistr/u8-strmbtouc.c: Likewise.
83071         * lib/unistr/u8-strncat.c: Likewise.
83072         * lib/unistr/u8-strncmp.c: Likewise.
83073         * lib/unistr/u8-strncpy.c: Likewise.
83074         * lib/unistr/u8-strnlen.c: Likewise.
83075         * lib/unistr/u8-strpbrk.c: Likewise.
83076         * lib/unistr/u8-strrchr.c: Likewise.
83077         * lib/unistr/u8-strspn.c: Likewise.
83078         * lib/unistr/u8-strstr.c: Likewise.
83079         * lib/unistr/u8-strtok.c: Likewise.
83080         * lib/unistr/u8-to-u16.c: Likewise.
83081         * lib/unistr/u8-to-u32.c: Likewise.
83082         * lib/unistr/u8-uctomb-aux.c: Likewise.
83083         * lib/unistr/u8-uctomb.c: Likewise.
83084         * lib/unitypes.h: Likewise.
83085         * lib/uniwidth.h: Likewise.
83086         * lib/uniwidth/cjk.h: Likewise.
83087         * lib/uniwidth/u16-strwidth.c: Likewise.
83088         * lib/uniwidth/u16-width.c: Likewise.
83089         * lib/uniwidth/u32-strwidth.c: Likewise.
83090         * lib/uniwidth/u32-width.c: Likewise.
83091         * lib/uniwidth/u8-strwidth.c: Likewise.
83092         * lib/uniwidth/u8-width.c: Likewise.
83093         * lib/uniwidth/width.c: Likewise.
83095 2007-10-07  Bruno Haible  <bruno@clisp.org>
83097         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
83098         The file is still under LGPL (see modules/inttypes).
83100 2007-10-06  Bruno Haible  <bruno@clisp.org>
83102         * modules/trunc (Dependencies): Add 'extensions'.
83103         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
83104         Reported by Ben Pfaff <blp@gnu.org>.
83106 2007-10-06  Bruno Haible  <bruno@clisp.org>
83108         * modules/freopen-tests: New file.
83109         * tests/test-freopen.c: New file.
83111         * modules/fopen-tests: New file.
83112         * tests/test-fopen.c: New file.
83114         * modules/fopen: New file.
83115         * lib/fopen.c: New file.
83116         * m4/fopen.m4: New file.
83117         * modules/freopen: New file.
83118         * lib/freopen.c: New file.
83119         * m4/freopen.m4: New file.
83120         * lib/stdio.in.h (fopen, freopen): New declarations.
83121         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
83122         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
83123         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
83124         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
83125         * doc/functions/fopen.texi: Mention the 'fopen' module.
83126         * doc/functions/freopen.texi: Mention the 'freopen' module.
83128 2007-10-06  Bruno Haible  <bruno@clisp.org>
83130         * modules/open-tests: New file.
83131         * tests/test-open.c: New file.
83133         * modules/open: New file.
83134         * lib/open.c: New file.
83135         * m4/open.m4: New file.
83136         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
83137         lib/open.c does.
83138         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
83139         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
83140         macros.
83141         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
83142         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
83143         REPLACE_OPEN.
83144         * doc/functions/open.texi: Mention the 'open' module.
83146 2007-10-04  Bruno Haible  <bruno@clisp.org>
83148         * modules/ceill-tests: New file.
83149         * tests/test-ceill.c: New file.
83151         * modules/ceill: New file.
83152         * lib/ceill.c: Replace entire file.
83153         * m4/ceill.m4: New file.
83154         * lib/math.in.h (ceill): Replace declaration.
83155         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
83156         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
83157         * doc/functions/ceill.texi: Mention the 'ceill' module.
83158         * modules/mathl (Files): Remove lib/ceill.c.
83159         (Depends-on): Add ceill.
83161 2007-10-04  Bruno Haible  <bruno@clisp.org>
83163         * modules/ceilf-tests: New file.
83164         * tests/test-ceilf.c: New file.
83166         * modules/ceilf: New file.
83167         * lib/ceil.c: New file.
83168         * lib/ceilf.c: New file.
83169         * m4/ceilf.m4: New file.
83170         * lib/math.in.h (ceilf): New declaration.
83171         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
83172         HAVE_DECL_CEILF.
83173         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
83174         HAVE_DECL_CEILF.
83175         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
83177 2007-10-04  Bruno Haible  <bruno@clisp.org>
83179         * modules/floorl-tests: New file.
83180         * tests/test-floorl.c: New file.
83182         * modules/floorl: New file.
83183         * lib/floorl.c: Replace entire file.
83184         * m4/floorl.m4: New file.
83185         * lib/math.in.h (floorl): Replace declaration.
83186         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
83187         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
83188         * doc/functions/floorl.texi: Mention the 'floorl' module.
83189         * modules/mathl (Files): Remove lib/floorl.c.
83190         (Depends-on): Add floorl.
83192 2007-10-04  Bruno Haible  <bruno@clisp.org>
83194         * modules/floorf-tests: New file.
83195         * tests/test-floorf.c: New file.
83197         * modules/floorf: New file.
83198         * lib/floor.c: New file.
83199         * lib/floorf.c: New file.
83200         * m4/floorf.m4: New file.
83201         * lib/math.in.h (floorf): New declaration.
83202         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
83203         HAVE_DECL_FLOORF.
83204         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
83205         HAVE_DECL_FLOORF.
83206         * doc/functions/floorf.texi: Mention the 'floorf' module.
83208 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
83209             Bruno Haible  <bruno@clisp.org>
83211         Advertise for the Git server instead of the CVS server.
83212         * doc/gnulib-intro.texi (Steady Development): Mention the Git
83213         repository instead of the CVS one.
83214         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
83215         about all VCS systems generically.
83216         * doc/gnulib.texi (Introduction): Capitalize `Git'.
83218 2007-10-04  Bruno Haible  <bruno@clisp.org>
83220         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
83221         means.
83222         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
83224 2007-10-04  Bruno Haible  <bruno@clisp.org>
83226         * modules/truncl-tests: New file.
83227         * tests/test-truncl.c: New file.
83229         * modules/truncl: New file.
83230         * lib/truncl.c: New file.
83231         * m4/truncl.m4: New file.
83232         * lib/math.in.h (truncl): New declaration.
83233         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
83234         HAVE_DECL_TRUNCL.
83235         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
83236         HAVE_DECL_TRUNCL.
83237         * doc/functions/truncl.texi: Mention the 'truncl' module.
83239 2007-10-04  Bruno Haible  <bruno@clisp.org>
83241         * modules/truncf-tests: New file.
83242         * tests/test-truncf.c: New file.
83244         * modules/truncf: New file.
83245         * lib/trunc.c: Make paramerizable through USE_* macros.
83246         * lib/truncf.c: New file.
83247         * m4/truncf.m4: New file.
83248         * lib/math.in.h (truncf): New declaration.
83249         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
83250         HAVE_DECL_TRUNCF.
83251         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
83252         HAVE_DECL_TRUNCF.
83253         * doc/functions/truncf.texi: Mention the 'truncf' module.
83255 2007-10-03  Bruno Haible  <bruno@clisp.org>
83257         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
83258         augmentation also for tests modules.
83259         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
83260         * modules/atexit-tests (Makefile.am): Likewise.
83261         * modules/binary-io-tests (Makefile.am): Likewise.
83262         * modules/c-strcase-tests (Makefile.am): Likewise.
83263         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
83264         * modules/canonicalize-tests (Makefile.am): Likewise.
83265         * modules/closein-tests (Makefile.am): Likewise.
83266         * modules/fprintf-posix-tests (Makefile.am): Likewise.
83267         * modules/freadahead-tests (Makefile.am): Likewise.
83268         * modules/fseek-tests (Makefile.am): Likewise.
83269         * modules/fseeko-tests (Makefile.am): Likewise.
83270         * modules/ftell-tests (Makefile.am): Likewise.
83271         * modules/ftello-tests (Makefile.am): Likewise.
83272         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
83273         * modules/isnanl-tests (Makefile.am): Likewise.
83274         * modules/lseek-tests (Makefile.am): Likewise.
83275         * modules/mbscasecmp-tests (Makefile.am): Likewise.
83276         * modules/mbscasestr-tests (Makefile.am): Likewise.
83277         * modules/mbschr-tests (Makefile.am): Likewise.
83278         * modules/mbscspn-tests (Makefile.am): Likewise.
83279         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
83280         * modules/mbspbrk-tests (Makefile.am): Likewise.
83281         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
83282         * modules/mbsrchr-tests (Makefile.am): Likewise.
83283         * modules/mbsspn-tests (Makefile.am): Likewise.
83284         * modules/mbsstr-tests (Makefile.am): Likewise.
83285         * modules/printf-posix-tests (Makefile.am): Likewise.
83286         * modules/snprintf-posix-tests (Makefile.am): Likewise.
83287         * modules/sprintf-posix-tests (Makefile.am): Likewise.
83288         * modules/tsearch-tests (Makefile.am): Likewise.
83289         * modules/uniname/uniname-tests (Makefile.am): Likewise.
83290         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
83291         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
83292         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
83293         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
83294         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
83295         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
83296         * modules/vprintf-posix-tests (Makefile.am): Likewise.
83297         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
83298         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
83299         * modules/xstrtoimax-tests (Makefile.am): Likewise.
83300         * modules/xstrtol-tests (Makefile.am): Likewise.
83301         * modules/xstrtoumax-tests (Makefile.am): Likewise.
83302         * modules/yesno-tests (Makefile.am): Likewise.
83304 2007-10-03  Bruno Haible  <bruno@clisp.org>
83306         * modules/trunc-tests: New file.
83307         * tests/test-trunc.c: New file.
83309         * modules/trunc: New file.
83310         * lib/trunc.c: New file.
83311         * m4/trunc.m4: New file.
83312         * lib/math.in.h (trunc): New declaration.
83313         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
83314         HAVE_DECL_TRUNC.
83315         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
83316         HAVE_DECL_TRUNC.
83317         * doc/functions/trunc.texi: Mention the 'trunc' module.
83319 2007-10-03  Bruno Haible  <bruno@clisp.org>
83321         * tests/test-fpending.c: New file, mostly copied
83322         from coreutils/lib/t-fpending.c.
83323         * modules/fpending-tests: New file.
83325 2007-10-03  Bruno Haible  <bruno@clisp.org>
83327         Port the stdio extensions to QNX (untested).
83328         * lib/fseterr.c (fseterr): Add support for QNX.
83329         * lib/fbufmode.c (fbufmode): Likewise.
83330         * lib/freadable.c (freadable): Likewise.
83331         * lib/fwritable.c (fwritable): Likewise.
83332         * lib/freading.c (freading): Likewise.
83333         * lib/fwriting.c (fwriting): Likewise.
83334         * lib/freadahead.c (freadahed): Likewise.
83335         * lib/fpurge.c (fpurge): Likewise.
83336         * lib/fseeko.c (rpl_fseeko): Likewise.
83338 2007-10-03  Bruno Haible  <bruno@clisp.org>
83339             Jim Meyering  <jim@meyering.net>
83340             Eric Blake  <ebb9@byu.net>
83342         * doc/relocatable.texi: Use @command instead of @program.
83344 2007-10-02  Jim Meyering  <jim@meyering.net>
83346         Perform one more "_.h" -> ".in.h" substitution.
83347         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
83348         instead of unistd_.h here, too.
83350 2007-10-01  Bruno Haible  <bruno@clisp.org>
83352         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
83353         Needed for the alloca-opt module.
83355 2007-09-30  Bruno Haible  <bruno@clisp.org>
83357         * lib/alloca.in.h: Renamed from lib/alloca_.h.
83358         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
83359         alloca_.h.
83360         * lib/argz.in.h: Renamed from lib/argz_.h.
83361         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
83362         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
83363         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
83364         byteswap_.h.
83365         * lib/dirent.in.h: Renamed from lib/dirent_.h.
83366         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
83367         dirent_.h.
83368         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
83369         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
83370         fcntl_.h.
83371         * lib/float.in.h: Renamed from lib/float_.h.
83372         * modules/float (Files, Makefile.am): Use float.in.h instead of
83373         float_.h.
83374         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
83375         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
83376         fnmatch_.h.
83377         * lib/getopt.in.h: Renamed from lib/getopt_.h.
83378         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
83379         getopt_.h.
83380         * lib/glob.in.h: Renamed from lib/glob_.h.
83381         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
83382         * lib/iconv.in.h: Renamed from lib/iconv_.h.
83383         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
83384         iconv_.h.
83385         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
83386         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
83387         inttypes_.h.
83388         * lib/locale.in.h: Renamed from lib/locale_.h.
83389         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
83390         locale_.h.
83391         * lib/math.in.h: Renamed from lib/math_.h.
83392         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
83393         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
83394         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
83395         of netinet_in_.h. Add dependency.
83396         * lib/poll.in.h: Renamed from lib/poll_.h.
83397         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
83398         * lib/search.in.h: Renamed from lib/search_.h.
83399         * modules/search (Files, Makefile.am): Use search.in.h instead of
83400         search_.h.
83401         * lib/signal.in.h: Renamed from lib/signal_.h.
83402         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
83403         _signal.h.
83404         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
83405         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
83406         stdbool_.h.
83407         * lib/stdint.in.h: Renamed from lib/stdint_.h.
83408         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
83409         stdint_.h.
83410         * lib/stdio.in.h: Renamed from lib/stdio_.h.
83411         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
83412         stdio_.h.
83413         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
83414         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
83415         stdlib_.h.
83416         * lib/string.in.h: Renamed from lib/string_.h.
83417         * modules/string (Files, Makefile.am): Use string.in.h instead of
83418         string_.h.
83419         * doc/gnulib-tool.texi (Initial import): Update.
83420         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
83421         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
83422         of sys_select_.h. Add dependency.
83423         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
83424         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
83425         of sys_socket_.h.
83426         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
83427         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
83428         sys_stat_.h.
83429         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
83430         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
83431         sys_time_.h.
83432         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
83433         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
83434         sysexits_.h.
83435         * lib/time.in.h: Renamed from lib/time_.h.
83436         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
83437         * lib/unistd.in.h: Renamed from lib/unistd_.h.
83438         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
83439         unistd_.h.
83440         * lib/wchar.in.h: Renamed from lib/wchar_.h.
83441         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
83442         wchar_.h.
83443         * lib/wctype.in.h: Renamed from lib/wctype_.h.
83444         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
83445         wctype_.h.
83446         * build-aux/bootstrap (slurp): Update.
83447         * lib/.cppi-disable: Update.
83449 2007-09-30  Bruno Haible  <bruno@clisp.org>
83451         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
83452         Needed on BeOS.
83454 2007-09-30  Bruno Haible  <bruno@clisp.org>
83456         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
83458 2007-09-29  Bruno Haible  <bruno@clisp.org>
83460         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
83462 2007-09-29  Bruno Haible  <bruno@clisp.org>
83464         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
83465         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
83466         * build-aux/install-reloc: Compile also areadlink.c.
83467         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
83469 2007-09-29  Bruno Haible  <bruno@clisp.org>
83471         * gnulib-tool (func_emit_initmacro_done): Indentation.
83473 2007-09-29  Bruno Haible  <bruno@clisp.org>
83475         * README: Add CVS checkout update instructions.
83476         Info from Bob Proulx <bob@proulx.com>.
83478 2007-09-28  Eric Blake  <ebb9@byu.net>
83480         Provide move-if-change.
83481         * build-aux/move-if-change: New file, based on best practice
83482         rather than any canonical upstream location.
83484 2007-09-28  Jim Meyering  <jim@meyering.net>
83486         Fix canonicalize loop-detection corner case.
83487         Do not attempt to stat the symlink values stored via seen_triple.
83488         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
83489         on linux-2.6.18, (but not 2.6.22).
83490         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
83491         triple_compare.  The former compares dev,ino,filename, while the latter
83492         would actually stat dirname(filename) when dev and ino were equal.
83493         * lib/hash-triple.c: Install <string.h>.
83494         (STREQ): Define.
83495         (triple_compare_ino_str): New function.
83496         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
83498 2007-09-28  Eric Blake  <ebb9@byu.net>
83500         Enforce that AC_REPLACE_FUNCS files exist.
83501         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
83502         override check for typos.
83504         Fix test-closein on Solaris 10.
83505         * tests/test-closein.c (main): Don't assume stdin can be inherited
83506         closed on all systems.
83507         * tests/test-closein.sh: Likewise.
83508         Reported by Piotr Tarnowski.
83510 2007-09-28  Jim Meyering  <jim@meyering.net>
83512         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
83514 2007-09-27  Jim Meyering  <jim@meyering.net>
83516         canonicalize: Avoid a false-positive cycle failure.
83517         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
83518         Sort.  Remove cycle-check.
83519         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
83520         not cycle-check.h.
83521         (seen_triple): New function.
83522         (canonicalize_filename_mode): Use it instead of cycle-check.
83523         * tests/test-canonicalize.c: Add a test for this bug.
83524         * tests/test-canonicalize.sh: Set up and run the test.
83526         New module, file-set, from coreutils.
83527         * modules/file-set: Define it.
83528         * lib/file-set.c, lib/file-set.h: Implement.
83530         New module, hash-triple, from coreutils.
83531         * modules/hash-triple: Define it.
83532         * lib/hash-triple.c, lib/hash-triple.h: Implement.
83534 2007-09-25  Eric Blake  <ebb9@byu.net>
83536         Fix strerror on Interix.
83537         * lib/string_.h (strerror): Declare replacement.
83538         * doc/functions/strerror.texi (strerror): Document the Interix
83539         shortcoming.
83540         * modules/string (Makefile.am): Support new hooks.
83541         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
83542         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
83543         gl_FUNC_STRERROR_SEPARATE.
83544         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
83545         * lib/strerror.c (rpl_strerror): Provide replacement.
83546         * modules/strerror (Depends-on): Add string.
83547         (configure.ac): Detect use of module.
83548         * tests/test-strerror.c: New file.
83549         * modules/strerror-tests: New test module.
83550         * modules/argp (Depends-on): Add strerror.
83551         * modules/error (Depends-on): Likewise.
83552         Reported by Martin Koeppe.
83554 2007-09-24  Bruno Haible  <bruno@clisp.org>
83556         * README: Update git instructions.
83558 2007-09-24  Eric Blake  <ebb9@byu.net>
83560         Revert fpending breakage from 2007-09-08.
83561         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
83562         __fpending.c.
83564 2007-09-24  Jim Meyering  <jim@meyering.net>
83566         filenamecat.c: Add a test.
83567         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
83568         showing how the function works when DIR is the empty string.
83570 2007-09-21  Simon Josefsson  <simon@josefsson.org>
83572         * tests/test-canonicalize.sh: Turn on executable bit.
83574 2007-09-19  Eric Blake  <ebb9@byu.net>
83576         * README: Update CVS instructions.
83578 2007-09-18  Bruno Haible  <bruno@clisp.org>
83580         * modules/areadlink: New file.
83581         * lib/areadlink.h (areadlink): New declaration.
83582         * lib/areadlink.c: New file, based on lib/xreadlink.c.
83584 2007-09-17  Jim Meyering  <jim@meyering.net>
83586         * lib/savewd.c (ESTALE) [!defined]: Define.
83587         Reported to be required on Interix by Martin Koeppe.
83589 2007-09-17  Bruno Haible  <bruno@clisp.org>
83591         * gnulib-tool (func_version): Use $version.
83593 2007-09-16  Bruno Haible  <bruno@clisp.org>
83595         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
83596         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
83597         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
83598         Reported by Greg Schafer <gschafer@zip.com.au>.
83600 2007-09-15  Bruno Haible  <bruno@clisp.org>
83602         * gnulib-tool (sed): Try a little harder to make bash understand the
83603         alias.
83604         Reported by Bruce Korb <bruce.korb@gmail.com>.
83606 2007-09-13  Eric Blake  <ebb9@byu.net>
83608         * ChangeLog: Remove conflict markers.
83610 2007-09-13  Simon Josefsson  <simon@josefsson.org>
83612         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
83613         Reported by Bruno Haible <bruno@clisp.org>.
83615 2007-09-12  Bruno Haible  <bruno@clisp.org>
83617         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
83618         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
83619         is not defined.
83621 2007-09-12  Eric Blake  <ebb9@byu.net>
83623         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
83624         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
83625         Autoconf definition.
83626         * modules/euidaccess (Depends-on): Add extensions, for
83627         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
83628         * modules/fnmatch (Depends-on): Likewise.
83629         * modules/getaddrinfo (Depends-on): Likewise.
83630         * modules/getdelim (Depends-on): Likewise.
83631         * modules/getline (Depends-on): Likewise.
83632         * modules/getsubopt (Depends-on): Likewise.
83633         * modules/gettext (Depends-on): Likewise.
83634         * modules/group-member (Depends-on): Likewise.
83635         * modules/mbchar (Depends-on): Likewise.
83636         * modules/memmem (Depends-on): Likewise.
83637         * modules/mempcpy (Depends-on): Likewise.
83638         * modules/memrchr (Depends-on): Likewise.
83639         * modules/pagealign_alloc (Depends-on): Likewise.
83640         * modules/readutmp (Depends-on): Likewise.
83641         * modules/stpcpy (Depends-on): Likewise.
83642         * modules/stpncpy (Depends-on): Likewise.
83643         * modules/strchrnul (Depends-on): Likewise.
83644         * modules/strndup (Depends-on): Likewise.
83645         * modules/strsep (Depends-on): Likewise.
83646         * modules/strverscmp (Depends-on): Likewise.
83647         * modules/vasprintf (Depends-on): Likewise.
83648         * modules/wcwidth (Depends-on): Likewise.
83649         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
83650         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
83651         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
83652         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
83653         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
83654         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
83655         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
83656         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
83657         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
83658         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
83659         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
83660         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
83661         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
83662         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
83663         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
83664         * m4/readutmp.m4 (gl_READUTMP): Likewise.
83665         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
83666         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
83667         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
83668         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
83669         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
83670         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
83671         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
83672         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
83673         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
83674         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
83675         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
83676         so that lock.m4 can be used in gettext without extensions module.
83678 2007-09-11  Bruno Haible  <bruno@clisp.org>
83680         * m4/isc-posix.m4: Remove file.
83681         Suggested by Eric Blake.
83683 2007-09-11  Eric Blake  <ebb9@byu.net>
83685         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
83687 2007-09-10  Bruno Haible  <bruno@clisp.org>
83689         * posix-modules: Fix typo in error message.
83690         Reported by Matt <mkraai@beckman.com>.
83692 2007-09-09  Bruno Haible  <bruno@clisp.org>
83694         * doc/functions/getdelim.texi: Update list of platforms lacking the
83695         function.
83696         * doc/functions/getline.texi: Likewise.
83698 2007-09-09  Jim Meyering  <jim@meyering.net>
83700         * lib/hash.c (hash_initialize): Detect calloc failure.
83701         Reported by Bruno Haible.
83703 2007-09-09  Bruno Haible  <bruno@clisp.org>
83705         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
83706         malloc or realloc fails.
83708 2007-09-09  Bruno Haible  <bruno@clisp.org>
83710         * modules/getcwd (Depends-on): Add malloc-posix.
83711         * modules/glob (Depends-on): Likewise.
83712         * modules/putenv (Depends-on): Likewise.
83713         * modules/strdup (Depends-on): Likewise.
83714         * modules/getdelim (Depends-on): Add realloc-posix.
83715         * modules/read-file (Depends-on): Likewise.
83717 2007-09-09  Bruno Haible  <bruno@clisp.org>
83719         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
83720         (gl_FUNC_MALLOC_POSIX): Require it.
83721         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
83722         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
83723         * modules/realloc (Files): Add m4/malloc.m4.
83724         * modules/calloc (Files): Likewise.
83726 2007-09-09  Bruno Haible  <bruno@clisp.org>
83728         * modules/malloc-posix: New file.
83729         * modules/malloc (Depends-on): Add malloc-posix.
83730         * lib/malloc.c: Include errno.h.
83731         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
83732         and a POSIX-compatible malloc into a single function. Set ENOMEM
83733         when returning NULL.
83734         * m4/malloc.m4: New file.
83735         * doc/functions/malloc.texi: Mention the malloc-posix module.
83736         * lib/stdlib_.h (malloc): New declaration.
83737         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
83738         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
83739         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
83740         and HAVE_MALLOC_POSIX.
83742 2007-09-09  Bruno Haible  <bruno@clisp.org>
83744         * modules/realloc-posix: New file.
83745         * modules/realloc (Depends-on): Add realloc-posix.
83746         * lib/realloc.c: Include errno.h.
83747         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
83748         and a POSIX-compatible realloc into a single function. Set ENOMEM
83749         when returning NULL.
83750         * m4/realloc.m4: New file.
83751         * doc/functions/realloc.texi: Mention the realloc-posix module.
83752         * lib/stdlib_.h (realloc): New declaration.
83753         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
83754         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
83755         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
83756         and HAVE_REALLOC_POSIX.
83758 2007-09-09  Bruno Haible  <bruno@clisp.org>
83760         * modules/calloc-posix: New file.
83761         * modules/calloc (Depends-on): Add calloc-posix.
83762         * lib/calloc.c: Include errno.h.
83763         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
83764         and a POSIX-compatible calloc into a single function. Set ENOMEM
83765         when returning NULL.
83766         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
83767         * doc/functions/calloc.texi: Mention the calloc-posix module.
83768         * lib/stdlib_.h (calloc): New declaration.
83769         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
83770         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
83771         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
83772         and HAVE_CALLOC_POSIX.
83774 2007-09-09  Bruno Haible  <bruno@clisp.org>
83776         Allow for modules to show an arbitrary notice.
83777         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
83778         * gnulib-tool: New option --extract-notice.
83779         (func_usage): Document it.
83780         (sed_extract_prog): Update.
83781         (func_get_notice): New function.
83782         (func_modules_notice): New function.
83783         (func_import, func_create_testdir): Invoke it.
83784         Suggested by Jim Meyering.
83786 2007-09-09  Bruno Haible  <bruno@clisp.org>
83788         * gnulib-tool: New options --verbose, --quiet.
83789         (func_usage): Document them.
83790         (verbose): New variable.
83791         (func_execute_command): New function.
83792         (func_import): Don't show the module list and the file list if
83793         $verbose < 0.
83794         (func_create_testdir): Likewise. Use func_execute_command.
83795         (func_create_megatestdir): Use func_execute_command.
83797 2007-09-08  Bruno Haible  <bruno@clisp.org>
83799         * gnulib-tool (func_import): Prefer rsync over wget when available,
83800         for fetching the PO files.
83802 2007-09-08  Bruno Haible  <bruno@clisp.org>
83804         * posix-modules: New file. Portions copied from gnulib-tool.
83805         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
83807 2007-09-08  Jim Meyering  <jim@meyering.net>
83809         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
83810         * lib/fpending.h: Rename from __fpending.h.
83811         * lib/fpending.c: Rename from __fpending.c.
83812         Include "fpending.h", not "__fpending.h".
83813         * lib/__fpending.h, lib/__fpending.c: Remove files.
83814         * modules/fpending (Files): Reflect new file names.
83815         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
83817 2007-09-08  Bruno Haible  <bruno@clisp.org>
83819         * m4/inttypes-h.m4: Remove stub file.
83821 2007-09-07  Simon Josefsson  <simon@josefsson.org>
83823         * doc/headers/stdint.texi: Discuss #include_next issue.
83825 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
83827         * build-aux/bootstrap: Remove obsolete comment about wget --help.
83829 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83831         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
83832         in variable name.
83834 2007-09-03  Jim Meyering  <jim@meyering.net>
83836         New module: git-version-gen.
83837         * modules/git-version-gen: New file.
83839         Import changes from coreutils for bootstrap script.
83841         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
83843         bootstrap: uses rsync to download the .po files
83844         * build-aux/bootstrap (po_download_command_format): New global.
83845         (download_po_files): Use rsync.
83846         (update_po_files): Don't remove .po files after download,
83847         so future rsync runs can take advantage of the copies.
83849         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
83851         Solve the unnecessary-.po-file-regeneration problem once and for all.
83852         * build-aux/bootstrap (download_po_files): New function, renamed from
83853         get_translations.  Now, downloads, but doesn't update LINGUAS.
83854         (update_po_files): New function.
83856         bootstrap: Ignore more.
83857         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
83858         uniwidth to e.g., lib/.gitignore.
83859         (slurp): Handle the sys_stat_.h -> sys mapping, too.
83861         * build-aux/bootstrap: New setting: vc_ignore.
83862         (insert_sorted_if_absent): Create $file if absent.
83863         Adapt to new, possibly empty, list: $vc_ignore.
83865         bootstrap: generate more ignorable names
83866         * build-aux/bootstrap (slurp): When generating ignorable names,
83867         also map .sin to .sed, .gperf to .c, and .y to .c.
83869 2007-09-03  Jim Meyering  <jim@meyering.net>
83871         * build-aux/git-version-gen: New file, from coreutils.  For details, see
83872         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
83874 2007-09-02  Bruno Haible  <bruno@clisp.org>
83876         Fix mis-recognition of 'mcs' on QNX 6.
83877         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
83878         output contains the string "Mono".
83879         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
83880         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
83882 2007-09-01  Bruno Haible  <bruno@clisp.org>
83884         Fix collision between uniwidth/* and linebreak modules.
83885         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
83886         u32_width): Remove declarations.
83887         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
83888         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
83889         streq3, streq2, streq1, streq0): Remove functions.
83890         (STREQ): Remove macro.
83891         (is_cjk_encoding): Remove function.
83892         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
83893         (uc_width, u8_width, u16_width, u32_width): Remove functions.
83894         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
83895         * NEWS: Document the change.
83897 2007-09-01  Bruno Haible  <bruno@clisp.org>
83899         * lib/streq.h: Add double-inclusion guard.
83901 2007-09-01  Karl Berry  <karl@gnu.org>
83903         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
83905 2007-08-28  Jim Meyering  <jim@meyering.net>
83907         Rename mreadlink_with_size to areadlink_with_size.
83908         * NEWS: Document the change.
83909         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
83910         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
83911         * lib/mreadlink.h: Rename this to...
83912         * lib/areadlink.h: ...this.
83913         * modules/mreadlink-with-size: Rename this to...
83914         * modules/areadlink-with-size: ...this.
83915         * lib/canonicalize.c: Reflect the renaming.
83916         * modules/canonicalize: Likewise.
83918 2007-08-26  Bruno Haible  <bruno@clisp.org>
83920         * gnulib-tool (func_import): When deciding which files to remove,
83921         consider also dangling symbolic links.
83922         Reported by Eric Blake.
83924 2007-08-26  Bruno Haible  <bruno@clisp.org>
83926         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
83928 2007-08-23  Simon Josefsson  <simon@josefsson.org>
83930         * lib/readline.c: Don't include getline.h, the prototype is now
83931         found in stdio.h.
83933 2007-08-23  Jim Meyering  <jim@meyering.net>
83935         Getdelim touchup.
83936         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
83937         around the funlockfile call, since funlockfile never sets errno.
83938         Don't set errno upon failed realloc.
83940 2007-08-22  Eric Blake  <ebb9@byu.net>
83942         Getline touchups.
83943         * lib/getdelim.c (getdelim): Revert regression that required *n to
83944         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
83945         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
83946         getdelim, rather than whether implementation is missing.
83947         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
83948         * lib/stdio_.h (getline): Also declare if replacement is
83949         required.
83950         * doc/functions/getdelim.texi: New file.
83951         * doc/functions/getline.texi: Likewise.
83952         * doc/gnulib.texi (Function Substitutes): Add new files.
83953         Reported by Bruno Haible.
83955 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
83957         * users.txt: Add Guile.
83959 2007-08-22  Eric Blake  <ebb9@byu.net>
83961         * tests/test-getdelim.c (main): Use remove, not unlink.
83962         * tests/test-getline.c (main): Likewise.
83964         Move getline and getdelim into stdio.h, per POSIX 200x.
83965         * modules/getline (Files): Remove getline.h.
83966         (Depends-on): Add stdio.
83967         (configure.ac): Add module indicator.
83968         * modules/getdelim (Files): Remove getdelim.h.
83969         (Depends-on): Add stdio.
83970         (configure.ac): Add module indicator.
83971         * modules/stdio (Makefile.am): Work with new indicators.
83972         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
83973         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
83974         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
83975         * lib/getdelim.h: Delete.
83976         * lib/getline.h: Delete.
83977         * lib/stdio_.h (getdelim, getline): Declare.
83978         * modules/getdelim-tests: New module.
83979         * modules/getline-tests: Likewise.
83980         * tests/test-getdelim.c: New file.
83981         * tests/test-getline.c: Likewise.
83982         * NEWS: Document the change.
83983         * lib/getline.c: Update choice of header.
83984         * lib/csharpcomp.c: Likewise.
83985         * lib/getpass.c: Likewise.
83986         * lib/javacomp.c: Likewise.
83987         * lib/javaversion.c: Likewise.
83988         * lib/yesno.c: Likewise.
83989         * lib/getdelim.c: Likewise.
83990         (getdelim): Set errno on failure, and avoid memory leak.
83992 2007-08-19  Bruno Haible  <bruno@clisp.org>
83994         * modules/closein (Depends-on): Add freadahead.
83995         * lib/closein.c: Include freadahead.h.
83996         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
83997         is zero.
83999 2007-08-19  Bruno Haible  <bruno@clisp.org>
84001         * modules/freadahead-tests: New file.
84002         * tests/test-freadahead.sh: New file.
84003         * tests/test-freadahead.c: New file.
84005         * modules/freadahead: New file.
84006         * lib/freadahead.h: New file.
84007         * lib/freadahead.c: New file.
84008         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
84009         fbufmode, fpurge, freadable, fwritable.
84011 2007-08-19  Eric Blake  <ebb9@byu.net>
84013         Test yesno in combination with closein.
84014         * lib/yesno.c (yesno): Document use of stdin.
84015         * modules/yesno-tests (Files): New module.
84016         * tests/test-yesno.c (main): New file.
84017         * tests/test-yesno.sh: Likewise.
84019 2007-08-19  Bruno Haible  <bruno@clisp.org>
84021         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
84022         * lib/fseeko.c (rpl_fseeko): Likewise.
84023         * lib/fseterr.c (fseterr): Likewise.
84025 2007-08-19  Bruno Haible  <bruno@clisp.org>
84027         * tests/test-lseek.c (main): Disable a test for BeOS.
84028         * doc/functions/lseek.texi: Document the BeOS bug.
84030 2007-08-19  Bruno Haible  <bruno@clisp.org>
84031             Eric Blake  <ebb9@byu.net>
84033         * lib/lseek.c: Include <sys/stat.h>.
84034         (rpl_lseek): Add workaround code also for Unix platforms.
84035         Needed for BeOS.
84036         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
84037         * doc/functions/lseek.texi: Document BeOS definiency.
84039 2007-08-18  Bruno Haible  <bruno@clisp.org>
84041         * modules/fstrcmp-tests: New file.
84042         * tests/test-fstrcmp.c: New file.
84044 2007-08-18  Bruno Haible  <bruno@clisp.org>
84046         * modules/fstrcmp: New file, from GNU gettext with modifications.
84047         * lib/fstrcmp.h: New file, from GNU gettext.
84048         * lib/fstrcmp.c: New file, from GNU gettext.
84049         * MODULES.html.sh (String handling): Add fstrcmp.
84051 2007-08-18  Bruno Haible  <bruno@clisp.org>
84053         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
84054         'bool'.
84055         (diag, compareseq): Remove const from the ctxt argument.
84056         (USE_HEURISTIC): Undefine at the end.
84058 2007-08-18  Jim Meyering  <jim@meyering.net>
84060         New file: lib/idcache.h
84061         * NEWS: Mention the addition.
84062         * modules/idcache (Files): Add lib/idcache.h
84063         * lib/idcache.c: Include "idcache.h".
84064         Don't include <sys/types.h>.
84065         Add a FIXME comment.
84066         Move file-scoped "static" declarations to the top.
84067         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
84069 2007-08-17  Bruno Haible  <bruno@clisp.org>
84070         and Paul Eggert  <eggert@cs.ucla.edu>
84072         * MODULES.html.sh: Add diffseq.
84073         * modules/diffseq: New file.
84074         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
84075         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
84077 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
84079         Import changes from coreutils for bootstrap script.
84081         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
84083         * build-aux/bootstrap (slurp): Work even in environments where
84084         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
84085         current code does not slurp files whose names start with ".", and
84086         this looks like it might be a troublesome area.
84088         2007-07-11  Jim Meyering  <jim@meyering.net>
84090         If there's a GPL vN copyright comment, require that N == 3.
84092         2007-07-08  Jim Meyering  <jim@meyering.net>
84094         Run the coreutils-specific code only if tests/Makefile.am.in exists.
84095         * build-aux/bootstrap (mam_template): Move definition out of loop.
84097         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
84099         * build-aux/bootstrap (symlink_to_dir): Rename function from
84100         symlink_to_gnulib.  Add a directory parameter.  Update all
84101         callers.
84102         (cp_mark_as_generated): Also check for -- and link to -- files in
84103         gl/.
84105         2007-07-08  Jim Meyering  <jim@meyering.net>
84107         Adapt to deeper hierarchy in gnulib.
84108         * build-aux/bootstrap (symlink_to_dir): If the destination
84109         directory doesn't exist, create it. This is required at least for
84110         "lib/uniwidth/cjk.h".
84112         2007-05-15  Jim Meyering  <jim@meyering.net>
84114         * build-aux/bootstrap: Now that generated Makefile.am files
84115         are no longer under version control, they must be created at
84116         bootstrap time.
84118 2007-08-14  Ben Pfaff  <blp@gnu.org>
84120         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
84122 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
84124         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
84125         given the changes below.
84126         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
84127         even on hosts that have padding bits beyond the supported 64.
84129 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
84131         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
84132         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
84133         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
84134         depends on it.
84135         (xstrtol_error): Remove.
84136         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
84137         but with a different signature.
84138         (ATTRIBUTE_NORETURN, __attribute__): New macros.
84139         * lib/xstrtol-error.c: Include exitfail.h.
84140         (xstrtol_fatal): New function, with a different signature from the
84141         old xstrtol_error, so that the caller need not worry about passing
84142         in an exit status, or about storage management of the option argument.
84143         (xstrtol_error): Now a static function.  Redo signature to
84144         implement xstrtol_fatal.  Output the correct number of hyphens in
84145         front of the option so that the caller need not worry about
84146         storage management.
84147         (N_): New macro.
84148         (_): Remove; not used now.
84149         * modules/xstrtol: Depend on getopt.
84150         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
84151         of old STRTOL_FATAL_ERROR macro.
84152         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
84153         of test program.
84154         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
84155         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
84157 2007-08-08  Eric Blake  <ebb9@byu.net>
84159         * lib/xstrtol-error.c: Add missing include.
84161         Move xstrtol messages into gnulib domain, when --pobase is used.
84162         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
84163         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
84164         * modules/xstrtol (Files): Distribute new file.
84165         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
84166         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
84167         * tests/test-xstrtol.c: ...into new file.
84168         * tests/test-xstrtoul.c: Also test xstrtoul.
84169         * tests/test-xstrtoimax.c: Also test xstrtoimax.
84170         * tests/test-xstrtoumax.c: Also test xstrtoumax.
84171         * tests/test-xstrtol.sh: Drive the tests.
84172         * tests/test-xstrtoimax.sh: Likewise.
84173         * tests/test-xstrtoumax.sh: Likewise.
84174         * modules/xstrtol-tests: New module.
84175         * modules/xstrtoimax-tests: Likewise.
84176         * modules/xstrtoumax-tests: Likewise.
84178 2007-08-08  Jim Meyering  <jim@meyering.net>
84180         New function: mfile_name_concat.
84181         * lib/filenamecat.c (mfile_name_concat): New function, just like
84182         file_name_concat, but return NULL upon failure rather than exiting
84183         with a diagnostic.
84184         * lib/filenamecat.h: Declare it.
84186 2007-08-07  Bruno Haible  <bruno@clisp.org>
84188         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
84189         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
84190         warning from gcc.
84191         Reported by Eric Blake.
84193 2007-08-07  Simon Josefsson  <simon@josefsson.org>
84195         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
84196         * modules/crypto/arcfour (License): Likewise.
84197         * modules/crypto/des-tests (License): Likewise.
84198         * modules/crypto/gc-arctwo-tests (License): Likewise.
84199         * modules/crypto/gc-des-tests (License): Likewise.
84200         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
84201         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
84202         * modules/crypto/gc-md2-tests (License): Likewise.
84203         * modules/crypto/gc-md4-tests (License): Likewise.
84204         * modules/crypto/gc-md5-tests (License): Likewise.
84205         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
84206         * modules/crypto/gc-rijndael-tests (License): Likewise.
84207         * modules/crypto/gc-sha1-tests (License): Likewise.
84208         * modules/crypto/gc-tests (License): Likewise.
84209         * modules/crypto/hmac-md5 (License): Likewise.
84210         * modules/crypto/hmac-sha1 (License): Likewise.
84211         * modules/crypto/md2-tests (License): Likewise.
84212         * modules/crypto/md4-tests (License): Likewise.
84213         * modules/crypto/md5 (License): Likewise.
84214         * modules/crypto/rijndael (License): Likewise.
84215         * modules/crypto/sha1 (License): Likewise.
84216         * modules/memxor (License): Likewise.
84218 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84219         and Bruno Haible  <bruno@clisp.org>
84221         * NEWS: Describe interface changes to human, xstrtol.
84222         * lib/human.h: Include <xstrtol.h>.
84223         (human_options): Return enum strtol_error, not int.  Remove
84224         bool arg; take int * instead.
84225         * lib/human.c: Don't include "gettext.h".
84226         (_): Remove; no longer used.
84227         Don't include <xstrtol.h>, since human.h does it.
84228         (human_options): Adjust to abovementioned interface changes.
84229         Do not report error to stderr; that's now the caller's
84230         responsibility.
84231         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
84232         interface change.
84233         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
84234         Str, Argument_type_string.  All uses changed.  Put " argument"
84235         in diagnostics to make them clearer.  Change wording of suffix
84236         message for clarity.
84237         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
84238         Argument_type_string.
84239         (STRTOL_FATAL_WARN): Remove; no longer used.
84240         * modules/human (Depends-on): Remove gettext-h.
84242 2007-08-06  Simon Josefsson  <simon@josefsson.org>
84244         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
84246 2007-07-31  Bruno Haible  <bruno@clisp.org>
84248         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
84249         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
84250         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
84252 2007-07-31  Bruno Haible  <bruno@clisp.org>
84254         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
84255         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
84257 2007-07-30  Bruno Haible  <bruno@clisp.org>
84259         * modules/base64 (License): Use the synonymous term "LGPLv2+".
84260         * modules/c-ctype (License): Likewise.
84261         * modules/c-strcase (License): Likewise.
84262         * modules/check-version (License): Likewise.
84263         * modules/iconv (License): Likewise.
84264         * modules/iconv_open (License): Likewise.
84265         * modules/read-file (License): Likewise.
84266         * modules/striconv (License): Likewise.
84267         * modules/strverscmp (License): Likewise.
84268         * modules/vasprintf (License): Likewise.
84269         * modules/crypto/des (License): Likewise.
84270         * modules/crypto/gc (License): Likewise.
84271         * modules/crypto/gc-arcfour (License): Likewise.
84272         * modules/crypto/gc-arctwo (License): Likewise.
84273         * modules/crypto/gc-des (License): Likewise.
84274         * modules/crypto/gc-hmac-md5 (License): Likewise.
84275         * modules/crypto/gc-hmac-sha1 (License): Likewise.
84276         * modules/crypto/gc-md2 (License): Likewise.
84277         * modules/crypto/gc-md4 (License): Likewise.
84278         * modules/crypto/gc-md5 (License): Likewise.
84279         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
84280         * modules/crypto/gc-random (License): Likewise.
84281         * modules/crypto/gc-rijndael (License): Likewise.
84282         * modules/crypto/gc-sha1 (License): Likewise.
84283         * modules/crypto/md2 (License): Likewise.
84284         * modules/crypto/md4 (License): Likewise.
84286 2007-07-30  Jim Meyering  <jim@meyering.net>
84288         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
84289         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
84290         it has valid stat data.  This bug would cause du not to count the
84291         sizes of inaccessible directories.
84292         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
84293         in <http://bugzilla.redhat.com/250077>.
84295 2007-07-25  Peter O'Gorman  <peter@pogma.com>
84296             Bruno Haible  <bruno@clisp.org>
84298         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
84299         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
84300         #include_next, gives a diagnostic about it, but reports no error in
84301         the exit code.
84302         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
84304 2007-07-24  Ben Pfaff  <blp@gnu.org>
84306         Improve name: "count-one-bits" is better than "popcount".
84307         * MODULES.html.sh: Update name.
84308         * lib/popcount.h: Renamed lib/count-one-bits.h.
84309         (popcount): Renamed count_one_bits.
84310         (popcountl): Renamed count_one_bits_l.
84311         (popcountll): Renamed count_one_bits_ll.
84312         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
84313         * modules/popcount: Renamed module/count-one-bits.
84314         * modules/popcount-tests: Renamed module/count-one-bits-tests.
84315         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
84317 2007-07-23  Ben Pfaff  <blp@gnu.org>
84319         * lib/popcount.h (popcount32): Reduce size of constants, to allow
84320         better code generation, and add U to large constants to avoid
84321         warnings, in non-GCC case.
84322         Suggested by Bruno Haible.
84324 2007-07-23  Ben Pfaff  <blp@gnu.org>
84326         * lib/popcount.h: Use verify_true instead of if...abort.
84327         * modules/popcount: Depend on verify module.
84328         Suggested by Jim Meyering.
84330 2007-07-23  Bruno Haible  <bruno@clisp.org>
84332         * gnulib-tool (func_import): Create a .cvsignore file also when the
84333         directory is not yet in CVS but the toplevel directory is. When
84334         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
84335         Reported by Karl Berry.
84337 2007-07-22  Ben Pfaff  <blp@gnu.org>
84339         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
84340         case.
84341         Suggested by Eric Blake.
84343 2007-07-22  Ben Pfaff  <blp@gnu.org>
84345         New module: popcount.
84346         * MODULES.html.sh: Add popcount.
84347         * modules/popcount: New file.
84348         * modules/popcount-tests: New file.
84349         * tests/test-popcount.c: New file.
84350         * lib/popcount.h: New file.
84351         * m4/popcount.m4: New file.
84353 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
84355         * build-aux/announce-gen: Update to GPLv3.
84357         * build-aux/config.guess: Update from config.
84359 2007-07-21  Bruno Haible  <bruno@clisp.org>
84361         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
84362         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
84364 2007-07-20  Jim Meyering  <jim@meyering.net>
84366         * check-module: Diagnose a self-dependency.
84368 2007-07-19  Bruno Haible  <bruno@clisp.org>
84370         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
84371         empty.
84372         Reported by Eric Blake.
84374 2007-07-18  Bruno Haible  <bruno@clisp.org>
84376         * gnulib-tool: New options --po-base, --po-domain.
84377         (func_usage): Document them.
84378         (pobase, po_domain): New variables.
84379         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
84380         DEFAULT_TEXT_DOMAIN.
84381         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
84382         (func_import): Consider pobase and po_domain. Create a po/ directory.
84383         (func_create_testdir): Set pobase and po_domain to empty.
84384         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
84385         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
84387 2007-07-18  Bruno Haible  <bruno@clisp.org>
84389         * gnulib-tool (func_get_automake_snippet): Synthesize also an
84390         EXTRA_DIST augmentation for files in build-aux/.
84392 2007-07-16  Bruno Haible  <bruno@clisp.org>
84394         * modules/lseek (License): Use the synonymous term "LGPLv2+".
84395         * modules/getdelim (License): Likewise.
84397 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84399         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
84400         * modules/d-type (License): Likewise.
84401         * modules/extensions (License): Likewise.
84402         * modules/fnmatch (License): Likewise.
84403         * modules/fseeko (License): Likewise.
84404         * modules/getaddrinfo (License): Likewise.
84405         * modules/getline (License): Likewise.
84406         * modules/getlogin_r (License): Likewise.
84407         * modules/getpass (License): Likewise.
84408         * modules/gettimeofday (License): Likewise.
84409         * modules/glob (License): Likewise.
84410         * modules/inet_ntop (License): Likewise.
84411         * modules/malloc (License): Likewise.
84412         * modules/malloca (License): Likewise.
84413         * modules/memmem (License): Likewise.
84414         * modules/mempcpy (License): Likewise.
84415         * modules/memset (License): Likewise.
84416         * modules/minmax (License): Likewise.
84417         * modules/mktime (License): Likewise.
84418         * modules/netinet_in (License): Likewise.
84419         * modules/pathmax (License): Likewise.
84420         * modules/poll (License): Likewise.
84421         * modules/regex (License): Likewise.
84422         * modules/snprintf (License): Likewise.
84423         * modules/stdbool (License): Likewise.
84424         * modules/stdint (License): Likewise.
84425         * modules/stdio (License): Likewise.
84426         * modules/strcase (License): Likewise.
84427         * modules/strcasestr (License): Likewise.
84428         * modules/strdup (License): Likewise.
84429         * modules/string (License): Likewise.
84430         * modules/strndup (License): Likewise.
84431         * modules/strnlen (License): Likewise.
84432         * modules/strpbrk (License): Likewise.
84433         * modules/strptime (License): Likewise.
84434         * modules/strsep (License): Likewise.
84435         * modules/sys_select (License): Likewise.
84436         * modules/sys_socket (License): Likewise.
84437         * modules/sys_stat (License): Likewise.
84438         * modules/sys_time (License): Likewise.
84439         * modules/time (License): Likewise.
84440         * modules/time_r (License): Likewise.
84441         * modules/timegm (License): Likewise.
84442         * modules/unistd (License): Likewise.
84443         * modules/vsnprintf (License): Likewise.
84444         * modules/wctype (License): Likewise.
84446 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84448         * modules/argz (License): LGPLv2+.
84450 2007-07-15  Karl Berry  <karl@gnu.org>
84452         * doc/gnulib.texi: revise node structure per new fdl.texi.
84454 2007-07-14  Bruno Haible  <bruno@clisp.org>
84456         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
84457         the output file.
84458         * lib/uniname/uninames.h: Regenerated.
84460 2007-07-14  Karl Berry  <karl@gnu.org>
84462         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
84463         omitting sectioning and index commands.
84465 2007-07-13  Bruno Haible  <bruno@clisp.org>
84467         New gnulib-tool option --more-symlinks.
84468         * gnulib-tool (func_usage): Document --more-symlinks.
84469         (do_copyrights): New variable.
84470         Recognize option --more-symlinks.
84471         (func_import): Don't add a copyright notice transform to
84472         sed_transform_lib_file if do_copyrights is empty.
84474 2007-07-13  Bruno Haible  <bruno@clisp.org>
84476         * lib/vasnprintf.c (decimal_point_char): Define also if
84477         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
84478         && !NEED_PRINTF_DIRECTIVE_A.
84479         Reported by Clemens Koller <clemens.koller@anagramm.de> via
84480         Gary V. Vaughan <gary@gnu.org>.
84482 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
84484         * lib/inttypes_.h: Undo previous change, since it was fixed
84485         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
84487 2007-07-13  Bruno Haible  <bruno@clisp.org>
84489         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
84490         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
84492 2007-07-13  Jim Meyering  <jim@meyering.net>
84494         df: Don't fail for Tru64's "file-on-file mount".
84495         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
84496         so we fall through and use statfs instead.  Details here:
84497         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
84498         Reported by Albert Chin.
84500 2007-07-13  Bruno Haible  <bruno@clisp.org>
84502         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
84503         * modules/configmake (License): Likewise.
84504         * modules/gettext (License): Likewise.
84505         * modules/gettext-h (License): Likewise.
84506         * modules/include_next (License): Likewise.
84507         * modules/link-warning (License): Likewise.
84508         * modules/localcharset (License): Likewise.
84509         * modules/localename (License): Likewise.
84510         * modules/lock (License): Likewise.
84511         * modules/relocatable-lib-lgpl (License): Likewise.
84512         * modules/size_max (License): Likewise.
84513         * modules/vasnprintf (License): Likewise.
84514         * modules/wchar (License): Likewise.
84515         * modules/xsize (License): Likewise.
84517 2007-07-13  Bruno Haible  <bruno@clisp.org>
84519         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
84520         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
84522 2007-07-12  Bruno Haible  <bruno@clisp.org>
84524         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
84525         in the modules files.
84527 2007-07-11  Karl Berry  <karl@gnu.org>
84529         * MODULES.html.sh (func_module): use
84530          sed -e '\|^'"${includefile}"'$|d'
84531          instead of /.../d, to avoid errors on $includefile's containing /.
84533 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
84535         * gnulib-tool (func_import): Avoid duplication of --avoid
84536         statements
84537         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
84538         names to `_' in variable names.
84540 2007-07-10  Eric Blake  <ebb9@byu.net>
84542         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
84543         * NEWS: Document this change.
84545 2007-07-08  Bruno Haible  <bruno@clisp.org>
84547         Update to Unicode 5.0.
84548         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
84549         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
84550         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
84551         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
84552         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
84553         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
84554         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
84555         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
84556         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
84557         U+10A3F, U+1D242..U+1D244.
84558         (nonspacing_table_ind): Update.
84559         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
84560         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
84562 2007-07-08  Bruno Haible  <bruno@clisp.org>
84564         Update to Unicode 5.0.
84565         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
84566         code transform. Extend the name index field of unicode_name_to_code and
84567         unicode_code_to_name from 16 to 24 bits.
84568         * lib/uniname/uniname.c (unicode_character_name,
84569         unicode_name_character): Add the range 0x12xxx to the code transform.
84570         * lib/uniname/uninames.h: Regenerated.
84571         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
84573 2007-07-07  Bruno Haible  <bruno@clisp.org>
84575         * modules/wcwidth-tests: New file.
84576         * tests/test-wcwidth.c: New file.
84578         Work around MacOS X wcwidth() bug.
84579         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
84580         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
84581         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
84582         original wcwidth in non-UTF-8 locales.
84583         * modules/wcwidth (Depends-on): Add localcharset, streq,
84584         uniwidth/width.
84585         * doc/functions/wcwidth.texi: Update.
84587 2007-07-07  Bruno Haible  <bruno@clisp.org>
84589         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
84590         (wcwidth): New declaration.
84591         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
84592         macros.
84593         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
84594         here. Prepare for creating <wchar.h> unconditionally.
84595         * modules/wchar (Depends-on): Add link-warning.
84596         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
84597         REPLACE_WCWIDTH, and GL_LINK_WARNING.
84598         * lib/wcwidth.h: Remove file.
84599         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
84600         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
84601         * modules/wcwidth (Files): Remove lib/wcwidth.h.
84602         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
84603         (Include): Replace wcwidth.h with <wchar.h>.
84604         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
84605         * lib/mbchar.h: Don't include wcwidth.h.
84606         * lib/mbswidth.c: Likewise.
84607         * NEWS: Mention the change.
84609 2007-07-07  Bruno Haible  <bruno@clisp.org>
84611         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
84612         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
84613         definition with an external declaration.
84614         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
84615         defined as a function. Remove AC_C_INLINE requirement.
84616         * modules/wcwidth (Files): Add lib/wcwidth.c.
84617         (Makefile.am): Remove redundant statement.
84619 2007-07-07  Bruno Haible  <bruno@clisp.org>
84621         * MODULES.html.sh (Unicode string functions): Add the new modules.
84623         * tests/uniwidth/test-u32-strwidth.c: New file.
84624         * modules/uniwidth/u32-strwidth-tests: New file.
84626         * lib/uniwidth/u32-strwidth.c: New file.
84627         * modules/uniwidth/u32-strwidth: New file.
84629         * tests/uniwidth/test-u16-strwidth.c: New file.
84630         * modules/uniwidth/u16-strwidth-tests: New file.
84632         * lib/uniwidth/u16-strwidth.c: New file.
84633         * modules/uniwidth/u16-strwidth: New file.
84635         * tests/uniwidth/test-u8-strwidth.c: New file.
84636         * modules/uniwidth/u8-strwidth-tests: New file.
84638         * lib/uniwidth/u8-strwidth.c: New file.
84639         * modules/uniwidth/u8-strwidth: New file.
84641         * tests/uniwidth/test-u32-width.c: New file.
84642         * modules/uniwidth/u32-width-tests: New file.
84644         * lib/uniwidth/u32-width.c: New file.
84645         * modules/uniwidth/u32-width: New file.
84647         * tests/uniwidth/test-u16-width.c: New file.
84648         * modules/uniwidth/u16-width-tests: New file.
84650         * lib/uniwidth/u16-width.c: New file.
84651         * modules/uniwidth/u16-width: New file.
84653         * tests/uniwidth/test-u8-width.c: New file.
84654         * modules/uniwidth/u8-width-tests: New file.
84656         * lib/uniwidth/u8-width.c: New file.
84657         * modules/uniwidth/u8-width: New file.
84659         * tests/uniwidth/test-uc_width.c: New file.
84660         * modules/uniwidth/width-tests: New file.
84662         * lib/uniwidth/width.c: New file, from GNU libiconv.
84663         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
84664         * modules/uniwidth/width: New file.
84666         * lib/uniwidth.h: New file, from GNU libiconv.
84667         * modules/uniwidth/base: New file.
84669 2007-07-07  Bruno Haible  <bruno@clisp.org>
84671         * lib/uniname.h: New file, from GNU gettext.
84672         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
84673         * lib/uniname/uninames.h: New file, from GNU gettext.
84674         * lib/uniname/uniname.c: New file, from GNU gettext.
84675         * tests/uniname/test-uninames.sh: New file.
84676         * tests/uniname/test-uninames.c: New file, from GNU gettext.
84677         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
84678         * modules/uniname/base: New file.
84679         * modules/uniname/uniname: New file.
84680         * modules/uniname/uniname-tests: New file.
84681         * MODULES.html.sh (Unicode string functions): Add the new modules.
84683 2007-07-06  Bruno Haible  <bruno@clisp.org>
84685         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
84687 2007-07-06  Bruno Haible  <bruno@clisp.org>
84689         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
84690         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
84691         includes <cygwin/sys_time.h> which includes <sys/select.h> which
84692         include <sys/time.h>.
84693         Reported by Eric Blake.
84695 2007-07-06  Eric Blake  <ebb9@byu.net>
84697         Fix testing canonicalize on cygwin.
84698         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
84699         Revert patch from 2007-06-19.
84700         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
84701         canonicalize module is also in use.
84702         * tests/test-canonicalize.c: New file.
84703         * tests/test-canonicalize.sh: Likewise.
84704         * modules/canonicalize-tests: Likewise.
84706 2007-07-06  Jim Meyering  <jim@meyering.net>
84708         * lib/getugroups.c (getugroups): Detect getgrent failure.
84709         Adjust comment to reflect reality: this function may return -1.
84711 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
84713         * build-aux/bootstrap (TP_URL,get_translations): Update to use
84714         the new TP address.
84715         (usage): Fix typo
84716         (gnulib_mk): New variable.
84718 2007-07-05  Jim Meyering  <jim@meyering.net>
84720         Don't let endgrent clobber errno, no matter how improbable.
84721         * lib/getugroups.c (getugroups): Save and restore errno around
84722         endgrent call.
84724         Close the group DB even when failing with 2^31 or more members.
84725         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
84727 2007-07-04  Jim Meyering  <jim@meyering.net>
84729         * lib/getugroups.h: New file.
84730         * lib/getugroups.c: Include "getugroups.h".
84731         Remove uses of "register" keyword.
84732         Move local variable, "cp", down into scope where used.
84733         Give "username" parameter the "const" attribute.
84734         * modules/getugroups (Files): Add lib/getugroups.h
84736 2007-07-04  Karl Berry  <karl@gnu.org>
84738         * MODULES.html.sh (func_all_modules): Complete rename of
84739         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
84741 2007-07-02  Bruno Haible  <bruno@clisp.org>
84743         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
84744         mode, when inttypes.h comes from gnulib.
84745         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
84747 2007-07-02  Simon Josefsson  <simon@josefsson.org>
84749         * NEWS: Mention lgpl module name change.
84751         * modules/lgpl-2.1: Renamed from lgpl.
84753         * NEWS: Mention gpl module name change.
84755         * modules/gpl-3.0: New file, based on gpl-2.0.
84757         * modules/gpl-2.0: Renamed from gpl.
84759         * modules/gpl: Fix filename, doc/gpl.texi is now found at
84760         doc/gpl-2.0.texi.
84762 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
84764         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
84765         #define __STDC_LIMIT_MACROS temporarily while including
84766         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
84767         Problem reported by Joel E. Denny in
84768         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
84770 2007-07-01  Bruno Haible  <bruno@clisp.org>
84772         * lib/unistdio.h: New file.
84773         * lib/unistdio/u-asnprintf.h: New file.
84774         * lib/unistdio/u-asprintf.h: New file.
84775         * lib/unistdio/u-printf-args.c: New file.
84776         * lib/unistdio/u-printf-args.h: New file.
84777         * lib/unistdio/u-printf-parse.h: New file.
84778         * lib/unistdio/u-snprintf.h: New file.
84779         * lib/unistdio/u-sprintf.h: New file.
84780         * lib/unistdio/u-vasprintf.h: New file.
84781         * lib/unistdio/u-vsnprintf.h: New file.
84782         * lib/unistdio/u-vsprintf.h: New file.
84783         * lib/unistdio/ulc-asnprintf.c: New file.
84784         * lib/unistdio/ulc-asprintf.c: New file.
84785         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
84786         * lib/unistdio/ulc-printf-parse.c: New file.
84787         * lib/unistdio/ulc-snprintf.c: New file.
84788         * lib/unistdio/ulc-sprintf.c: New file.
84789         * lib/unistdio/ulc-vasnprintf.c: New file.
84790         * lib/unistdio/ulc-vasprintf.c: New file.
84791         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
84792         * lib/unistdio/ulc-vsnprintf.c: New file.
84793         * lib/unistdio/ulc-vsprintf.c: New file.
84794         * lib/unistdio/u8-asnprintf.c: New file.
84795         * lib/unistdio/u8-asprintf.c: New file.
84796         * lib/unistdio/u8-printf-parse.c: New file.
84797         * lib/unistdio/u8-snprintf.c: New file.
84798         * lib/unistdio/u8-sprintf.c: New file.
84799         * lib/unistdio/u8-vasnprintf.c: New file.
84800         * lib/unistdio/u8-vasprintf.c: New file.
84801         * lib/unistdio/u8-vsnprintf.c: New file.
84802         * lib/unistdio/u8-vsprintf.c: New file.
84803         * lib/unistdio/u8-u8-asnprintf.c: New file.
84804         * lib/unistdio/u8-u8-asprintf.c: New file.
84805         * lib/unistdio/u8-u8-snprintf.c: New file.
84806         * lib/unistdio/u8-u8-sprintf.c: New file.
84807         * lib/unistdio/u8-u8-vasnprintf.c: New file.
84808         * lib/unistdio/u8-u8-vasprintf.c: New file.
84809         * lib/unistdio/u8-u8-vsnprintf.c: New file.
84810         * lib/unistdio/u8-u8-vsprintf.c: New file.
84811         * lib/unistdio/u16-asnprintf.c: New file.
84812         * lib/unistdio/u16-asprintf.c: New file.
84813         * lib/unistdio/u16-printf-parse.c: New file.
84814         * lib/unistdio/u16-snprintf.c: New file.
84815         * lib/unistdio/u16-sprintf.c: New file.
84816         * lib/unistdio/u16-vasnprintf.c: New file.
84817         * lib/unistdio/u16-vasprintf.c: New file.
84818         * lib/unistdio/u16-vsnprintf.c: New file.
84819         * lib/unistdio/u16-vsprintf.c: New file.
84820         * lib/unistdio/u16-u16-asnprintf.c: New file.
84821         * lib/unistdio/u16-u16-asprintf.c: New file.
84822         * lib/unistdio/u16-u16-snprintf.c: New file.
84823         * lib/unistdio/u16-u16-sprintf.c: New file.
84824         * lib/unistdio/u16-u16-vasnprintf.c: New file.
84825         * lib/unistdio/u16-u16-vasprintf.c: New file.
84826         * lib/unistdio/u16-u16-vsnprintf.c: New file.
84827         * lib/unistdio/u16-u16-vsprintf.c: New file.
84828         * lib/unistdio/u32-asnprintf.c: New file.
84829         * lib/unistdio/u32-asprintf.c: New file.
84830         * lib/unistdio/u32-printf-parse.c: New file.
84831         * lib/unistdio/u32-snprintf.c: New file.
84832         * lib/unistdio/u32-sprintf.c: New file.
84833         * lib/unistdio/u32-vasnprintf.c: New file.
84834         * lib/unistdio/u32-vasprintf.c: New file.
84835         * lib/unistdio/u32-vsnprintf.c: New file.
84836         * lib/unistdio/u32-vsprintf.c: New file.
84837         * lib/unistdio/u32-u32-asnprintf.c: New file.
84838         * lib/unistdio/u32-u32-asprintf.c: New file.
84839         * lib/unistdio/u32-u32-snprintf.c: New file.
84840         * lib/unistdio/u32-u32-sprintf.c: New file.
84841         * lib/unistdio/u32-u32-vasnprintf.c: New file.
84842         * lib/unistdio/u32-u32-vasprintf.c: New file.
84843         * lib/unistdio/u32-u32-vsnprintf.c: New file.
84844         * lib/unistdio/u32-u32-vsprintf.c: New file.
84845         * tests/unistdio/test-ulc-asnprintf1.c: New file.
84846         * tests/unistdio/test-ulc-asnprintf1.h: New file.
84847         * tests/unistdio/test-ulc-printf1.h: New file.
84848         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
84849         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
84850         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
84851         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
84852         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
84853         * tests/unistdio/test-ulc-vasprintf1.c: New file.
84854         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
84855         * tests/unistdio/test-ulc-vsprintf1.c: New file.
84856         * tests/unistdio/test-u8-asnprintf1.c: New file.
84857         * tests/unistdio/test-u8-asnprintf1.h: New file.
84858         * tests/unistdio/test-u8-printf1.h: New file.
84859         * tests/unistdio/test-u8-vasnprintf1.c: New file.
84860         * tests/unistdio/test-u8-vasnprintf2.c: New file.
84861         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
84862         * tests/unistdio/test-u8-vasnprintf3.c: New file.
84863         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
84864         * tests/unistdio/test-u8-vasprintf1.c: New file.
84865         * tests/unistdio/test-u8-vsnprintf1.c: New file.
84866         * tests/unistdio/test-u8-vsprintf1.c: New file.
84867         * tests/unistdio/test-u16-asnprintf1.c: New file.
84868         * tests/unistdio/test-u16-asnprintf1.h: New file.
84869         * tests/unistdio/test-u16-printf1.h: New file.
84870         * tests/unistdio/test-u16-vasnprintf1.c: New file.
84871         * tests/unistdio/test-u16-vasnprintf2.c: New file.
84872         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
84873         * tests/unistdio/test-u16-vasnprintf3.c: New file.
84874         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
84875         * tests/unistdio/test-u16-vasprintf1.c: New file.
84876         * tests/unistdio/test-u16-vsnprintf1.c: New file.
84877         * tests/unistdio/test-u16-vsprintf1.c: New file.
84878         * tests/unistdio/test-u32-asnprintf1.c: New file.
84879         * tests/unistdio/test-u32-asnprintf1.h: New file.
84880         * tests/unistdio/test-u32-printf1.h: New file.
84881         * tests/unistdio/test-u32-vasnprintf1.c: New file.
84882         * tests/unistdio/test-u32-vasnprintf2.c: New file.
84883         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
84884         * tests/unistdio/test-u32-vasnprintf3.c: New file.
84885         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
84886         * tests/unistdio/test-u32-vasprintf1.c: New file.
84887         * tests/unistdio/test-u32-vsnprintf1.c: New file.
84888         * tests/unistdio/test-u32-vsprintf1.c: New file.
84889         * modules/unistdio/base: New file.
84890         * modules/unistdio/u-printf-args: New file.
84891         * modules/unistdio/ulc-asnprintf: New file.
84892         * modules/unistdio/ulc-asprintf: New file.
84893         * modules/unistdio/ulc-fprintf: New file.
84894         * modules/unistdio/ulc-printf-parse: New file.
84895         * modules/unistdio/ulc-snprintf: New file.
84896         * modules/unistdio/ulc-sprintf: New file.
84897         * modules/unistdio/ulc-vasnprintf: New file.
84898         * modules/unistdio/ulc-vasprintf: New file.
84899         * modules/unistdio/ulc-vfprintf: New file.
84900         * modules/unistdio/ulc-vsnprintf: New file.
84901         * modules/unistdio/ulc-vsprintf: New file.
84902         * modules/unistdio/u8-asnprintf: New file.
84903         * modules/unistdio/u8-asprintf: New file.
84904         * modules/unistdio/u8-printf-parse: New file.
84905         * modules/unistdio/u8-snprintf: New file.
84906         * modules/unistdio/u8-sprintf: New file.
84907         * modules/unistdio/u8-vasnprintf: New file.
84908         * modules/unistdio/u8-vasprintf: New file.
84909         * modules/unistdio/u8-vsnprintf: New file.
84910         * modules/unistdio/u8-vsprintf: New file.
84911         * modules/unistdio/u8-u8-asnprintf: New file.
84912         * modules/unistdio/u8-u8-asprintf: New file.
84913         * modules/unistdio/u8-u8-snprintf: New file.
84914         * modules/unistdio/u8-u8-sprintf: New file.
84915         * modules/unistdio/u8-u8-vasnprintf: New file.
84916         * modules/unistdio/u8-u8-vasprintf: New file.
84917         * modules/unistdio/u8-u8-vsnprintf: New file.
84918         * modules/unistdio/u8-u8-vsprintf: New file.
84919         * modules/unistdio/u16-asnprintf: New file.
84920         * modules/unistdio/u16-asprintf: New file.
84921         * modules/unistdio/u16-printf-parse: New file.
84922         * modules/unistdio/u16-snprintf: New file.
84923         * modules/unistdio/u16-sprintf: New file.
84924         * modules/unistdio/u16-vasnprintf: New file.
84925         * modules/unistdio/u16-vasprintf: New file.
84926         * modules/unistdio/u16-vsnprintf: New file.
84927         * modules/unistdio/u16-vsprintf: New file.
84928         * modules/unistdio/u16-u16-asnprintf: New file.
84929         * modules/unistdio/u16-u16-asprintf: New file.
84930         * modules/unistdio/u16-u16-snprintf: New file.
84931         * modules/unistdio/u16-u16-sprintf: New file.
84932         * modules/unistdio/u16-u16-vasnprintf: New file.
84933         * modules/unistdio/u16-u16-vasprintf: New file.
84934         * modules/unistdio/u16-u16-vsnprintf: New file.
84935         * modules/unistdio/u16-u16-vsprintf: New file.
84936         * modules/unistdio/u32-asnprintf: New file.
84937         * modules/unistdio/u32-asprintf: New file.
84938         * modules/unistdio/u32-printf-parse: New file.
84939         * modules/unistdio/u32-snprintf: New file.
84940         * modules/unistdio/u32-sprintf: New file.
84941         * modules/unistdio/u32-vasnprintf: New file.
84942         * modules/unistdio/u32-vasprintf: New file.
84943         * modules/unistdio/u32-vsnprintf: New file.
84944         * modules/unistdio/u32-vsprintf: New file.
84945         * modules/unistdio/u32-u32-asnprintf: New file.
84946         * modules/unistdio/u32-u32-asprintf: New file.
84947         * modules/unistdio/u32-u32-snprintf: New file.
84948         * modules/unistdio/u32-u32-sprintf: New file.
84949         * modules/unistdio/u32-u32-vasnprintf: New file.
84950         * modules/unistdio/u32-u32-vasprintf: New file.
84951         * modules/unistdio/u32-u32-vsnprintf: New file.
84952         * modules/unistdio/u32-u32-vsprintf: New file.
84953         * modules/unistdio/ulc-asnprintf-tests: New file.
84954         * modules/unistdio/ulc-vasnprintf-tests: New file.
84955         * modules/unistdio/ulc-vasprintf-tests: New file.
84956         * modules/unistdio/ulc-vsnprintf-tests: New file.
84957         * modules/unistdio/ulc-vsprintf-tests: New file.
84958         * modules/unistdio/u8-asnprintf-tests: New file.
84959         * modules/unistdio/u8-vasnprintf-tests: New file.
84960         * modules/unistdio/u8-vasprintf-tests: New file.
84961         * modules/unistdio/u8-vsnprintf-tests: New file.
84962         * modules/unistdio/u8-vsprintf-tests: New file.
84963         * modules/unistdio/u16-asnprintf-tests: New file.
84964         * modules/unistdio/u16-vasnprintf-tests: New file.
84965         * modules/unistdio/u16-vasprintf-tests: New file.
84966         * modules/unistdio/u16-vsnprintf-tests: New file.
84967         * modules/unistdio/u16-vsprintf-tests: New file.
84968         * modules/unistdio/u32-asnprintf-tests: New file.
84969         * modules/unistdio/u32-vasnprintf-tests: New file.
84970         * modules/unistdio/u32-vasprintf-tests: New file.
84971         * modules/unistdio/u32-vsnprintf-tests: New file.
84972         * modules/unistdio/u32-vsprintf-tests: New file.
84973         * MODULES.html.sh (Unicode string functions): Add the new modules.
84975 2007-07-01  Bruno Haible  <bruno@clisp.org>
84977         * lib/sprintf.c (sprintf): Limit the available length estimation,
84978         to avoid address wraparound.
84979         * lib/vsprintf.c (vsprintf): Likewise.
84980         * modules/sprintf-posix (Dependencies): Add stdint.
84981         * modules/vsprintf-posix (Dependencies): Likewise.
84983 2007-07-01  Bruno Haible  <bruno@clisp.org>
84985         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
84986         Windows PATH as well. Conservative double-quoting. Comments.
84988 2007-07-01  Bruno Haible  <bruno@clisp.org>
84989             Eric Blake  <ebb9@byu.net>
84990             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84992         * gnulib-tool (self_abspathname): Fix algorithm to cope with
84993         empty components in $PATH, denoting '.'.
84995 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84997         * gnulib-tool: Fix indentation.
84998         (func_create_megatestdir): Likewise.
84999         Report by Bruno Haible.
85001 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85003         Sync from Automake.
85004         * build-aux/gnupload: Fix shell portability issues with for loops.
85005         Report by Karl Berry.
85007 2007-06-29  Simon Josefsson  <simon@josefsson.org>
85009         * build-aux/maint.mk (POURL): Use translationproject.org.
85011 2007-06-27  Simon Josefsson  <simon@josefsson.org>
85012             Bruno Haible  <bruno@clisp.org>
85014         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
85015         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
85016         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
85017         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
85018         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
85020 2007-06-27  Bruno Haible  <bruno@clisp.org>
85022         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
85023         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
85025 2007-06-26  Karl Berry  <karl@gnu.org>
85027         * MODULES.html.sh: remove xreadlink-with-size.
85029 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
85031         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
85032         method that I hope also handles the double-include problem noted
85033         by Bruno Haible in
85034         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
85036 2007-06-23  Bruno Haible  <bruno@clisp.org>
85038         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
85039         Don't let the 'mostlyclean' target fail if the last subdirectory could
85040         not be removed.
85041         Reported by Karl Berry.
85043 2007-06-23  Bruno Haible  <bruno@clisp.org>
85045         * gnulib-tool (echo): Add a speedier workaround for ksh.
85046         * tests/test-echo.sh: Likewise.
85048 2007-06-23  Bruno Haible  <bruno@clisp.org>
85050         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
85051         * tests/test-echo.sh: Likewise.
85053 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85055         * gnulib-tool (IFS): Initialize early, so we don't set it to
85056         empty later.
85057         (self_abspathname): Rewrite algorithm to set it, reindent.
85058         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
85059         (func_create_megatestdir): Merge some sed scripts.
85061 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
85063         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
85064         exposed by Sun Studio 11 cc on Solaris 8.
85066 2007-06-22  Bruno Haible  <bruno@clisp.org>
85068         * gnulib-tool (echo): Ensure the echo primitive does not interpret
85069         backslashes.
85070         * tests/test-echo.sh: New file.
85072 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85074         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
85075         simplify `sed_replace_build_aux' scripts, they are portable but
85076         echoing them with `echo' is not.
85077         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
85079 2007-06-21  Karl Berry  <karl@gnu.org>
85081         * config/srclist.txt: guess we can't handle the licenses via
85082         srclist at the moment.
85084 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
85086         * MODULES.html.sh: Add include_next.
85087         * modules/include_next: New file.
85089 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
85091         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
85092         INCLUDE_NEXT.
85093         (gl_CHECK_NEXT_HEADERS): New macro.
85094         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
85095         the obsolescent gl_ABSOLUTE_HEADER.
85096         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
85097         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
85098         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
85099         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
85100         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
85101         * m4/math_h.m4 (gl_MATH_H): Likewise.
85102         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
85103         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
85104         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
85105         * m4/stdint.m4 (gl_STDINT_H): Likewise.
85106         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
85107         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
85108         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
85109         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
85110         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
85111         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
85112         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
85113         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
85114         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
85115         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
85116         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
85117         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
85118         * m4/inttypes.m4 (gl_INTTYPES_H): Define
85119         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
85120         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
85121         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
85122         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
85123         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
85124         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
85125         * lib/float_.h: Likewise.
85126         * lib/inttypes_.h: Likewise.
85127         * lib/math_.h: Likewise.
85128         * lib/search_.h: Likewise.
85129         * lib/signal_.h: Likewise.
85130         * lib/stdint_.h: Likewise.
85131         * lib/stdio_.h: Likewise.
85132         * lib/stdlib_.h: Likewise.
85133         * lib/string_.h: Likewise.
85134         * lib/sys_stat_.h: Likewise.
85135         * lib/sys_time_.h: Likewise.
85136         * lib/time_.h: Likewise.
85137         * lib/unistd_.h: Likewise.
85138         * lib/wchar_.h: Likewise.
85139         * lib/wctype_.h: Likewise.
85140         * lib/dirent_.h: Likewise.
85141         * lib/iconv_.h: Likewise.
85142         * lib/locale_.h: Likewise.
85143         * lib/netinet_in_.h: Likewise.
85144         * lib/sys_select_.h: Likewise.
85145         * lib/sys_socket_.h: Likewise.
85146         * lib/sysexits_.h: Likewise.
85147         * modules/fcntl (Depends-on): Depend on include_next, not
85148         absolute_header.
85149         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
85150         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
85151         * modules/fchdir: Likewise.
85152         * modules/float: Likewise.
85153         * modules/iconv_open: Likewise.
85154         * modules/inttypes: Likewise.
85155         * modules/locale: Likewise.
85156         * modules/math: Likewise.
85157         * modules/netinet_in: Likewise.
85158         * modules/search: Likewise.
85159         * modules/signal: Likewise.
85160         * modules/stdint: Likewise.
85161         * modules/stdio: Likewise.
85162         * modules/stdlib: Likewise.
85163         * modules/string: Likewise.
85164         * modules/sys_select: Likewise.
85165         * modules/sys_socket: Likewise.
85166         * modules/sys_stat: Likewise.
85167         * modules/sys_time: Likewise.
85168         * modules/sysexits: Likewise.
85169         * modules/time: Likewise.
85170         * modules/unistd: Likewise.
85171         * modules/wchar: Likewise.
85172         * modules/wctype: Likewise.
85173         * modules/sys_stat: Change maintainer to "all".
85174         * modules/unistd: Likewise.
85176 2007-06-20  Karl Berry  <karl@gnu.org>
85178         * config/srclist.txt: track www changes in license files.
85180 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
85182         * build-aux/bootstrap: Remove stray dot.
85183         Make sure build_aux settings are honored when linking
85184         gnulib_extra_files.
85186 2007-06-19  Eric Blake  <ebb9@byu.net>
85188         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
85189         Allow compilation on cygwin.
85191 2007-06-19  Jim Meyering  <jim@meyering.net>
85193         xreadlink-with-size: Remove module.  No longer used.
85194         Ex-callers now use xreadlink or mreadlink-with-size.
85195         * modules/xreadlink-with-size: Remove module.
85196         * lib/xreadlink-with-size.c: Remove file.
85197         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
85198         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
85199         just before the function definition *is* accurate.
85201         Eliminate one way canonicalize_filename_mode could exit.
85202         * lib/canonicalize.c (canonicalize_filename_mode):
85203         Use mreadlink_with_size, not xreadlink_with_size.
85205 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
85207         Detect porting problems to FreeBSD/arm, which has time_t wider than
85208         long int.  Original problem reported for GNU diff by Xin Li in
85209         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
85210         * modules/getdate (Depends-on): Add intprops, verify.
85211         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
85212         is an integer type no wider than long int.
85214 2007-06-18  Jim Meyering  <jim@meyering.net>
85216         New module: mreadlink-with-size.
85217         * MODULES.html.sh: Add mreadlink-with-size.
85218         * modules/mreadlink-with-size: New module
85219         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
85220         not xreadlink-with-size.
85221         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
85223 2007-06-16  Bruno Haible  <bruno@clisp.org>
85225         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
85226         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
85227         Reported by Gary V. Vaughan <gary@gnu.org>.
85229 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
85231         Revamp lchown so that it lives in unistd.h where it belongs.
85232         * lib/lchown.h: Remove.
85233         * lib/dirchownmod.c: Don't include lib/lchown.h.
85234         * lib/fchownat.c: Likewise.
85235         * lib/openat.c: Likewise.
85236         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
85237         does not follow symlinks.
85238         (EOPNOTSUPP): Define if not defined.
85239         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
85240         is defined to 0.
85241         (lchown): New decl.
85242         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
85243         Do not check for lchown decl.
85244         Set REPLACE_LCHOWN.
85245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
85246         REPLACE_LCHOWN.
85247         * modules/chown: Make it clear it follows symlinks.
85248         * modules/lchown: Make it clear it doesn't follow symlinks.
85249         (Files): Remove lib/lchown.h
85250         (Depends-on): Add unistd.
85251         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
85252         (Include): Include <unistd.h>, not "lchown.h".
85253         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
85254         REPLACE_LCHOWN.
85256 2007-06-15  Jim Meyering  <jim@meyering.net>
85258         Change license (GPL to LGPL) of fsusage and dependents.
85259         * modules/fsusage (License): Change to LGPL.
85260         * modules/full-read (License): Likewise.
85261         * modules/full-write (License): Likewise.
85262         * modules/safe-read (License): Likewise.
85263         * modules/safe-write (License): Likewise.
85265 2007-06-14  Ben Pfaff  <blp@gnu.org>
85267         Missing part of allocsa -> malloca transition.
85268         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
85269         gl_MALLOCA.
85271 2007-06-12  Bruno Haible  <bruno@clisp.org>
85273         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
85274         to ia64, x86_64, i386.
85275         Reported by Eric Blake.
85277 2007-06-12  Bruno Haible  <bruno@clisp.org>
85279         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
85280         cross-compiling to x86_64.
85282 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
85284         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
85285         glitch reported by Ralf Wildenhues in
85286         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
85288         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
85289         Vin Shelton.
85291 2007-06-11  Bruno Haible  <bruno@clisp.org>
85293         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
85294         replacement string.
85295         Reported by Eric Blake.
85297 2007-06-10  Bruno Haible  <bruno@clisp.org>
85299         Prepare vasnprintf code for use with Unicode strings.
85300         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
85301         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
85302         TYPE_U32_STRING.
85303         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
85304         a_u32_string variants.
85305         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
85306         * lib/printf-args.c: Don't include config.h and the specification
85307         header if PRINTF_FETCHARGS is already defined.
85308         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
85309         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
85310         TYPE_U16_STRING, TYPE_U32_STRING.
85311         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
85312         u16_directive, u16_directives, u32_directive, u32_directives): New
85313         types.
85314         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
85315         New declarations.
85316         * lib/printf-parse.c: Don't include config.h and the specification
85317         header if PRINTF_PARSE is already defined. Eliminate the set of
85318         parameters for WIDE_CHAR_VERSION; the user of this file must provide
85319         them now. Include c-ctype.h.
85320         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
85321         directive and CHAR_T_ONLY_ASCII.
85322         * lib/vasnprintf.c: Don't include config.h and the specification header
85323         if VASNPRINTF is already defined.
85324         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
85325         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
85326         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
85327         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
85328         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
85329         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
85330         code accordingly.
85331         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
85332         pad_ourselves also in this case, with the 'c' and 's' directives, and
85333         with a different notion of "width".
85334         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
85336 2007-06-10  Bruno Haible  <bruno@clisp.org>
85338         * modules/unistr/u32-mbsnlen: New file.
85339         * lib/unistr/u32-mbsnlen.c: New file.
85341         * modules/unistr/u16-mbsnlen: New file.
85342         * lib/unistr/u16-mbsnlen.c: New file.
85344         * modules/unistr/u8-mbsnlen: New file.
85345         * lib/unistr/u8-mbsnlen.c: New file.
85347         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
85348         declarations.
85350 2007-06-10  Bruno Haible  <bruno@clisp.org>
85352         * lib/string_.h (mbsnlen): New declaration.
85353         * lib/mbsnlen.c: New file.
85354         * m4/mbsnlen.m4: New file.
85355         * modules/mbsnlen: New file.
85356         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
85357         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
85358         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
85360 2007-06-10  Bruno Haible  <bruno@clisp.org>
85362         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
85364 2007-06-10  Bruno Haible  <bruno@clisp.org>
85366         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
85367         * lib/mbuiter.h: Likewise.
85369 2007-06-10  Bruno Haible  <bruno@clisp.org>
85371         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
85372         declaration.
85374 2007-06-10  Karl Berry  <karl@gnu.org>
85376         * config/srclist.txt: remove gettext entries, Bruno prefers
85377         to update individually.
85379 2007-06-10  Bruno Haible  <bruno@clisp.org>
85381         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
85382         'maxlen'. Ensure only length + width bytes are allocated, not
85383         length + 1 + width.
85385 2007-06-09  Bruno Haible  <bruno@clisp.org>
85387         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
85388         (CHAR_T): Remove macro.
85389         (VASNPRINTF): Update.
85391 2007-06-09  Bruno Haible  <bruno@clisp.org>
85393         * MODULES.html.sh (Unicode string functions): Add the new modules.
85395         * modules/uniconv/u32-conv-to-enc: New file.
85396         * lib/uniconv/u32-conv-to-enc.c: New file.
85397         * modules/uniconv/u32-conv-to-enc-tests: New file.
85398         * tests/uniconv/test-u32-conv-to-enc.c: New file.
85400         * modules/uniconv/u16-conv-to-enc: New file.
85401         * lib/uniconv/u16-conv-to-enc.c: New file.
85402         * lib/uniconv/u-conv-to-enc.h: New file.
85403         * modules/uniconv/u16-conv-to-enc-tests: New file.
85404         * tests/uniconv/test-u16-conv-to-enc.c: New file.
85406         * modules/uniconv/u8-conv-to-enc: New file.
85407         * lib/uniconv/u8-conv-to-enc.c: New file.
85408         * modules/uniconv/u8-conv-to-enc-tests: New file.
85409         * tests/uniconv/test-u8-conv-to-enc.c: New file.
85411         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
85412         u32_conv_to_encoding): New declarations.
85414 2007-06-09  Bruno Haible  <bruno@clisp.org>
85416         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
85418 2007-06-09  Bruno Haible  <bruno@clisp.org>
85420         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
85421         * modules/malloca: Renamed from modules/allocsa, updated.
85422         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
85423         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
85424         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
85425         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
85426         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
85427         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
85428         * modules/xmalloca: Renamed from modules/xallocsa, updated.
85429         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
85430         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
85431         * modules/c-strcasestr (Depends-on): Update.
85432         * lib/c-strcasestr.c: Update.
85433         * modules/c-strstr (Depends-on): Update.
85434         * lib/c-strstr.c: Update.
85435         * modules/canonicalize-lgpl (Depends-on): Update.
85436         * lib/canonicalize-lgpl.c: Update.
85437         * modules/clean-temp (Depends-on): Update.
85438         * lib/clean-temp.c: Update.
85439         * modules/csharpcomp (Depends-on): Update.
85440         * lib/csharpcomp.c: Update.
85441         * modules/csharpexec (Depends-on): Update.
85442         * lib/csharpexec.c: Update.
85443         * modules/javacomp (Depends-on): Update.
85444         * lib/javacomp.c: Update.
85445         * modules/javaexec (Depends-on): Update.
85446         * lib/javaexec.c: Update.
85447         * modules/mbscasestr (Depends-on): Update.
85448         * lib/mbscasestr.c: Update.
85449         * modules/mbsstr (Depends-on): Update.
85450         * lib/mbsstr.c: Update.
85451         * modules/setenv (Depends-on): Update.
85452         * lib/setenv.c: Update.
85453         * modules/strcasestr (Depends-on): Update.
85454         * lib/strcasestr.c: Update.
85455         * modules/striconveha (Depends-on): Update.
85456         * lib/striconveha.c: Update.
85457         * modules/relocatable-prog-wrapper (Files): Update.
85458         * lib/relocwrapper.c: Update.
85459         * build-aux/install-reloc: Update.
85460         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
85462 2007-06-08  Bruno Haible  <bruno@clisp.org>
85464         Port to uClibc.
85465         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
85466         * lib/fpurge.c (fpurge): Likewise.
85467         * lib/freading.c (freading): Likewise.
85468         * lib/fseeko.c (rpl_fseeko): Likewise.
85469         * lib/fseterr.c (fseterr): Likewise.
85470         * lib/fwriting.c (fwriting): Likewise.
85471         * tests/test-fflush.c (main): Avoid a failure on uClibc.
85473 2007-06-08  Bruno Haible  <bruno@clisp.org>
85475         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
85476         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
85477         * modules/gettext (Files): Add m4/intlmacosx.m4.
85479 2007-06-07  Bruno Haible  <bruno@clisp.org>
85481         * modules/localename-tests: New file.
85482         * tests/test-localename.c: New file.
85484         New module 'localename'.
85485         * lib/localename.h: New file.
85486         * lib/localename.c: New file, from GNU gettext.
85487         * m4/localename.m4: New file.
85488         * modules/localename: New file.
85490 2007-06-07  Bruno Haible  <bruno@clisp.org>
85492         Work around the lack of <wchar.h> on some builds of uClibc.
85493         * doc/headers/wchar.texi: Update.
85494         * lib/wchar_.h: Include <wchar.h> only if it exists.
85495         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
85496         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
85497         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
85498         doesn't exist.
85499         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
85500         * modules/mbfile (Depends-on): Add wchar.
85501         * modules/mbiter (Depends-on): Likewise.
85502         * modules/mbuiter (Depends-on): Likewise.
85503         Reported by Simon Josefsson.
85505 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
85507         Work around problem reported by Steven M. Schweda in
85508         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
85509         Tru64 5.1B with the Compaq compiler environment installed declares
85510         an 'isblank' function but does not define it in the C library.
85511         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
85512         * lib/regex_internal.h (isblank): Likewise.
85513         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
85514         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
85516 2007-06-05  Bruno Haible  <bruno@clisp.org>
85518         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
85519         ia64.
85520         * modules/printf-safe: New file.
85521         * modules/fprintf-posix (Depends-on): Add printf-safe.
85522         * modules/printf-posix (Depends-on): Likewise.
85523         * modules/snprintf-posix (Depends-on): Likewise.
85524         * modules/sprintf-posix (Depends-on): Likewise.
85525         * modules/vasnprintf-posix (Depends-on): Likewise.
85526         * modules/vasprintf-posix (Depends-on): Likewise.
85527         * modules/vfprintf-posix (Depends-on): Likewise.
85528         * modules/vprintf-posix (Depends-on): Likewise.
85529         * modules/vsnprintf-posix (Depends-on): Likewise.
85530         * modules/vsprintf-posix (Depends-on): Likewise.
85531         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
85532         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
85533         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
85534         "no" on i386, x86_64, ia64.
85535         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
85536         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
85537         on i386, x86_64, ia64.
85538         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
85539         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
85540         on i386, x86_64, ia64.
85541         * tests/test-vasnprintf-posix.c: Include float.h.
85542         (LDBL80_WORDS): New macro.
85543         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
85544         on i386, x86_64, ia64.
85545         * tests/test-vasprintf-posix.c: Include float.h.
85546         (LDBL80_WORDS): New macro.
85547         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
85548         on i386, x86_64, ia64.
85549         * tests/test-snprintf-posix.c: Include float.h.
85550         * tests/test-sprintf-posix.c: Likewise.
85551         * tests/test-vsnprintf-posix.c: Likewise.
85552         * tests/test-vsprintf-posix.c: Likewise.
85554 2007-06-05  Bruno Haible  <bruno@clisp.org>
85556         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
85557         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
85558         non-IEEE numbers on i386, x86_64, ia64.
85559         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
85560         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
85561         * tests/test-isnanl.h: Include float.h.
85562         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
85564 2007-06-05  Bruno Haible  <bruno@clisp.org>
85566         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
85567         also the %a / %A. Handle the %a / %A code before this extra handling.
85569 2007-06-05  Bruno Haible  <bruno@clisp.org>
85571         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
85572         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
85574 2007-06-05  Bruno Haible  <bruno@clisp.org>
85576         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
85577         typo in variable name.
85579 2007-06-05  Eric Blake  <ebb9@byu.net>
85581         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
85582         Reported by Simon Josefsson.
85584 2007-06-04  Bruno Haible  <bruno@clisp.org>
85586         Avoid test failures on some PowerPC platforms.
85587         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
85588         Define differently for PowerPC.
85589         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
85590         Reported by Gary V. Vaughan <gary@gnu.org>.
85592 2007-06-02  Bruno Haible  <bruno@clisp.org>
85594         Fix test-stdint failure on FreeBSD/ia64.
85595         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
85596         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
85597         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
85598         * doc/headers/stdint.texi: Update.
85600 2007-06-01  Bruno Haible  <bruno@clisp.org>
85602         * tests/test-binary-io.c (main): Pass a third argument to open().
85603         Reported by Gary V. Vaughan <gary@gnu.org>.
85605 2007-06-01  Bruno Haible  <bruno@clisp.org>
85607         * doc/functions/frexpl.texi: Update for mingw.
85609 2007-06-01  Bruno Haible  <bruno@clisp.org>
85611         * tests/test-lseek.c (main): Disable test of errno for invalid third
85612         argument.
85613         * doc/functions/lseek.texi: Update.
85614         Reported by Gary V. Vaughan <gary@gnu.org>.
85616 2007-05-28  Bruno Haible  <bruno@clisp.org>
85618         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
85620 2007-05-31  Eric Blake  <ebb9@byu.net>
85622         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
85623         cross compiling.
85625 2007-05-30  Eric Blake  <ebb9@byu.net>
85626         and Bruno Haible  <bruno@clisp.org>
85628         Work around mingw test failures exposed by m4-1.4.9b.
85629         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
85630         * tests/test-unistd.c: Disable uid_t and git_t tests for the
85631         moment.
85633 2007-05-30  Bruno Haible  <bruno@clisp.org>
85635         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
85636         assuming that they are closed. Needed on HP-UX 11.
85638 2007-05-29  Bruno Haible  <bruno@clisp.org>
85640         Fix a problem with #include_next.
85641         * lib/dirent_.h: Split the double-inclusion guard.
85642         * lib/fcntl_.h: Likewise.
85643         * lib/float_.h: Likewise.
85644         * lib/iconv_.h: Likewise.
85645         * lib/inttypes_.h: Likewise.
85646         * lib/locale_.h: Likewise.
85647         * lib/math_.h: Likewise.
85648         * lib/netinet_in_.h: Likewise.
85649         * lib/search_.h: Likewise.
85650         * lib/signal_.h: Likewise.
85651         * lib/stdint_.h: Likewise.
85652         * lib/stdio_.h: Likewise.
85653         * lib/stdlib_.h: Likewise.
85654         * lib/string_.h: Likewise.
85655         * lib/sys_select_.h: Likewise.
85656         * lib/sys_socket_.h: Likewise.
85657         * lib/sys_stat_.h: Likewise.
85658         * lib/sys_time_.h: Likewise.
85659         * lib/sysexits_.h: Likewise.
85660         * lib/time_.h: Likewise.
85661         * lib/unistd_.h: Likewise.
85662         * lib/wchar_.h: Likewise.
85663         * lib/wctype_.h: Likewise.
85665 2007-05-29  Bruno Haible  <bruno@clisp.org>
85667         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
85668         for the moment.
85670 2007-05-29  Bruno Haible  <bruno@clisp.org>
85672         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
85673         invocation.
85674         Reported by Eric Blake.
85676 2007-05-29  Bruno Haible  <bruno@clisp.org>
85678         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
85679         compiling case.
85681 2007-05-29  Eric Blake  <ebb9@byu.net>
85682             Bruno Haible  <bruno@clisp.org>
85684         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
85685         cross compiles.
85687 2007-05-28  Eric Blake  <ebb9@byu.net>
85689         * modules/closein-tests (test_closein_LDADD): Support test on
85690         cygwin with libtool.
85692 2007-05-28  Bruno Haible  <bruno@clisp.org>
85694         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
85695         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
85696         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
85697         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
85698         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
85699         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
85700         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
85701         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
85702         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
85704 2007-05-28  Eric Blake  <ebb9@byu.net>
85706         Unconditionally include <config.h> in unit tests.
85707         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
85708         * tests/test-allocsa.c, tests/test-arcfour.c,
85709         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
85710         tests/test-array_list.c, tests/test-array_oset.c,
85711         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
85712         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
85713         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
85714         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
85715         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
85716         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
85717         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
85718         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
85719         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
85720         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
85721         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
85722         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
85723         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
85724         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
85725         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
85726         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
85727         test-md5.c, test-memmem.c, test-printf-posix.c,
85728         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
85729         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
85730         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
85731         test-strcasestr.c, test-striconv.c, test-striconveh.c,
85732         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
85733         test-vasnprintf-posix2.c, test-vasnprintf.c,
85734         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
85735         test-vfprintf-posix.c, test-vprintf-posix.c,
85736         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
85737         test-xvasprintf.c: Likewise.
85739 2007-05-28  Bruno Haible  <bruno@clisp.org>
85741         * gnulib-tool (func_import): Remember the --with-tests command-line
85742         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
85743         Reported by Eric Blake.
85745 2007-05-28  Bruno Haible  <bruno@clisp.org>
85747         * modules/ftell-tests: New file.
85748         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
85749         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
85751         * lib/ftell.c: New file.
85752         * modules/ftell: New file.
85753         * m4/ftell.m4: New file.
85754         * doc/functions/ftell.texi: Update.
85755         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
85756         REPLACE_FTELL.
85757         * lib/stdio_.h (rpl_ftell): New declaration.
85758         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
85759         REPLACE_FTELL.
85761 2007-05-28  Eric Blake  <ebb9@byu.net>
85763         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
85765 2007-05-28  Bruno Haible  <bruno@clisp.org>
85767         * modules/fseek-tests: New file.
85768         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
85769         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
85771         * lib/fseek.c: New file.
85772         * modules/fseek: New file.
85773         * m4/fseek.m4: New file.
85774         * doc/functions/fseek.texi: Update.
85775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
85776         REPLACE_FSEEK.
85777         * lib/stdio_.h (rpl_fseek): New declaration.
85778         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
85779         REPLACE_FSEEK.
85781 2007-05-28  Bruno Haible  <bruno@clisp.org>
85783         * lib/stdio_.h (fflush): More comments.
85785 2007-05-28  Bruno Haible  <bruno@clisp.org>
85787         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
85788         runtime test.
85790 2007-05-28  Eric Blake  <ebb9@byu.net>
85792         Improve lseek module.
85793         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
85794         * lib/unistd_.h (lseek): Scale back link warning message.
85795         * tests/test-lseek.c: Beef up test.
85796         * tests/test-lseek.sh: Exercise more facets of lseek.
85797         Reported by Bruno Haible.
85799 2007-05-28  Bruno Haible  <bruno@clisp.org>
85801         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
85802         to define.
85804 2007-05-27  Bruno Haible  <bruno@clisp.org>
85806         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
85808 2007-05-27  Bruno Haible  <bruno@clisp.org>
85810         * modules/openmp: New file.
85811         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
85812         Noah Misch.
85814 2007-05-26  Bruno Haible  <bruno@clisp.org>
85816         * modules/chdir-long (Depends-on): Add fchdir.
85817         * modules/chdir-safer (Depends-on): Likewise.
85818         * modules/fts (Depends-on): Likewise.
85819         * modules/fts-lgpl (Depends-on): Likewise.
85820         * modules/openat (Depends-on): Likewise.
85821         * modules/savewd (Depends-on): Likewise.
85823 2007-05-24  Eric Blake  <ebb9@byu.net>
85825         Fix lseek on mingw.
85826         * modules/lseek: New module.
85827         * m4/lseek.m4: New file.
85828         * lib/lseek.c: New file.
85829         * modules/lseek-tests: New file.
85830         * tests/test-lseek.c: New file.
85831         * tests/test-lseek.sh: New file.
85832         * MODULES.html.sh: Document lseek module.
85833         * modules/fflush (Depends-on): Add lseek, fseeko.
85834         * modules/fseeko (Depends-on): Likewise.
85835         * modules/ftello (Depends-on): Likewise.
85836         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
85837         broken.
85838         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
85839         broken.
85840         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
85841         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
85842         * lib/ftello.c (rpl_ftello): Likewise.
85843         * tests/test-fseeko.c (main): Test this.
85844         * tests/test-fseeko.sh: Likewise.
85845         * tests/test-ftello.c (main): Likewise.
85846         * tests/test-ftello.sh: Likewise.
85847         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
85848         implies replacing fseek.
85849         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
85850         HAVE_FTELLO.
85851         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
85852         * modules/unistd (Makefile.am): Likewise.
85853         * lib/unistd_.h (lseek): Declare a replacement.
85854         * doc/functions/lseek.texi (lseek): Document this fix.
85855         * doc/functions/fseek.texi (fseek): Likewise.
85856         * doc/functions/ftell.texi (ftell): Likewise.
85858 2007-05-24  Bruno Haible  <bruno@clisp.org>
85860         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
85861         in the printed representation of a NaN.
85862         * tests/test-vasprintf-posix.c (test_function): Likewise.
85863         * tests/test-snprintf-posix.h (test_function): Likewise.
85864         * tests/test-sprintf-posix.h (test_function): Likewise.
85865         Reported by Eric Blake.
85867 2007-05-23  Eric Blake  <ebb9@byu.net>
85869         Fix fseeko/ftello on cygwin 1.5.24.
85870         * doc/functions/fseeko.texi (fseeko): Document the fix.
85871         * doc/functions/ftello.texi (ftello): Document the fix.
85872         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
85873         * doc/functions/stdout.text (stdout): New file.
85874         * doc/functions/stderr.text (stderr): New file.
85875         * doc/gnulib.texi (Function Substitutes): Use new files.
85876         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
85877         prior to 1.7.0.
85878         * tests/test-ftello.c (main): Likewise for ftello.
85879         * tests/test-fseeko.sh: New file.
85880         * tests/test-ftello.sh: New file.
85881         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
85882         with seekable stdin.
85883         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
85884         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
85885         (gl_REPLACE_FSEEKO): New macro.
85886         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
85887         * modules/fseeko (Files): Distribute fseeko.c.
85888         * modules/ftello (Files): Distribute ftello.c.
85889         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
85890         mode.
85891         * lib/ftello.c (rpl_ftello): New file.
85892         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
85893         fseeko, ftello.
85894         (gl_STDIN_LARGE_OFFSET): New macro.
85895         * modules/stdio (Makefile.am): Perform the replacement.
85896         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
85898 2007-05-23  Bruno Haible  <bruno@clisp.org>
85900         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
85901         GNULIB_POSIXCHECK is defined.
85903 2007-05-21  Bruno Haible  <bruno@clisp.org>
85905         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
85906         Check also the output for NaN arguments. When cross-compiling, guess
85907         no on IRIX.
85908         * lib/vasnprintf.c: Update comments.
85909         * tests/test-vasnprintf-posix.c (strisnan): New function.
85910         (test_function): Use it.
85911         * tests/test-vasprintf-posix.c (strisnan): New function.
85912         (test_function): Use it.
85913         * tests/test-snprintf-posix.h (strisnan): New function.
85914         (test_function): Use it.
85915         * tests/test-sprintf-posix.h (strisnan): New function.
85916         (test_function): Use it.
85917         Reported by Eric Blake.
85919 2007-05-20  Bruno Haible  <bruno@clisp.org>
85921         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
85922         numbers that fails on BeOS.
85923         * doc/functions/frexpl.texi: Update.
85925 2007-05-20  Jim Meyering  <jim@meyering.net>
85927         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
85928         forced upon us by glibc-2.6.
85930 2007-05-20  Bruno Haible  <bruno@clisp.org>
85932         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
85933         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
85934         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
85935         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
85936         NEED_PRINTF_INFINITE.
85937         (is_infinitel): New function.
85938         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
85939         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
85940         gl_PREREQ_VASNPRINTF_INFINITE.
85941         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
85942         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
85943         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
85944         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
85945         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
85946         gl_PREREQ_VASNPRINTF_INFINITE.
85947         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
85948         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
85949         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
85950         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
85951         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
85952         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
85953         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
85954         * doc/functions/fprintf.texi: Update.
85955         * doc/functions/printf.texi: Update.
85956         * doc/functions/snprintf.texi: Update.
85957         * doc/functions/sprintf.texi: Update.
85958         * doc/functions/vfprintf.texi: Update.
85959         * doc/functions/vprintf.texi: Update.
85960         * doc/functions/vsnprintf.texi: Update.
85961         * doc/functions/vsprintf.texi: Update.
85963 2007-05-20  Bruno Haible  <bruno@clisp.org>
85965         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
85966         was not found in libc.
85967         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
85969 2007-05-20  Bruno Haible  <bruno@clisp.org>
85971         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
85972         printed as "-nan" instead of "nan".
85973         * tests/test-vasprintf-posix.c (test_function): Likewise.
85974         * tests/test-snprintf-posix.h (test_function): Likewise.
85975         * tests/test-sprintf-posix.h (test_function): Likewise.
85976         Needed for HP-UX 11.
85978 2007-05-20  Jim Meyering  <jim@meyering.net>
85980         Fix buggy test for the fchownat-deref bug.
85981         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
85982         symlink required for the run-test.  Without it, this test would
85983         always declare that fchownat doesn't work, and client code would
85984         unnecessarily use the replacement function with fixed libc.
85985         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
85986         Reported by Greg Schafer.
85988 2007-05-19  Bruno Haible  <bruno@clisp.org>
85990         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
85991         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
85992         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
85993         Needed for IRIX 6.5 and Solaris 2.5.1.
85995 2007-05-19  Bruno Haible  <bruno@clisp.org>
85997         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
85998         (test_function): Skip tests involving -0.0 on platforms where
85999         -0.0 = 0.0.
86000         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
86001         (test_function): Skip tests involving -0.0 on platforms where
86002         -0.0 = 0.0.
86003         * tests/test-snprintf-posix.h (have_minus_zero): New function.
86004         (test_function): Skip tests involving -0.0 on platforms where
86005         -0.0 = 0.0.
86006         * tests/test-sprintf-posix.h (have_minus_zero): New function.
86007         (test_function): Skip tests involving -0.0 on platforms where
86008         -0.0 = 0.0.
86009         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
86010         tests.
86011         * tests/test-printf-posix.h (test_function): Likewise.
86012         * tests/test-printf-posix.output: Remove all -0.0 related results.
86013         Needed for IRIX 6.5.
86015 2007-05-19  Bruno Haible  <bruno@clisp.org>
86017         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
86018         printed as "nan0x7fffffff" instead of "nan".
86019         * tests/test-vasprintf-posix.c (test_function): Likewise.
86020         * tests/test-snprintf-posix.h (test_function): Likewise.
86021         * tests/test-sprintf-posix.h (test_function): Likewise.
86022         * tests/test-fprintf-posix.h (NaN): Remove macro.
86023         (test_function): Remove all NaN related tests.
86024         * tests/test-printf-posix.h (NaN): Remove macro.
86025         (test_function): Remove all NaN related tests.
86026         * tests/test-printf-posix.output: Remove all NaN related results.
86027         Needed for IRIX 6.5.
86029 2007-05-19  Bruno Haible  <bruno@clisp.org>
86031         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
86032         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
86034 2007-05-19  Bruno Haible  <bruno@clisp.org>
86036         * lib/float_.h: New file.
86037         * m4/float_h.m4: New file.
86038         * modules/float: New file.
86039         * modules/isnanl (Dependencies): Add float.
86040         * modules/isnanl-nolibm (Dependencies): Likewise.
86041         * modules/mathl (Dependencies): Likewise.
86042         * modules/printf-frexpl (Dependencies): Likewise.
86043         * modules/signbit (Dependencies): Likewise.
86044         * modules/vasnprintf (Dependencies): Likewise.
86045         * doc/headers/float.texi: Update.
86047 2007-05-19  Jim Meyering  <jim@meyering.net>
86049         * lib/utimens.c (gl_futimens): Rename from futimens,
86050         now that glibc-2.6 declares futimens.
86051         * lib/utimens.h: Likewise.
86053 2007-05-19  Bruno Haible  <bruno@clisp.org>
86055         Avoid test failures on mingw.
86056         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
86057         * tests/test-printf-posix.sh: Likewise.
86058         * tests/test-vfprintf-posix.sh: Likewise.
86059         * tests/test-vprintf-posix.sh: Likewise.
86061 2007-05-19  Bruno Haible  <bruno@clisp.org>
86063         Fix *printf result for NaN, Inf, -0.0 on mingw.
86064         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
86065         * lib/vasnprintf.c: Include math.h and isnan.h.
86066         (is_infinite_or_zero): New function.
86067         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
86068         values in the %f, %F, %e, %E, %g, %G directives.
86069         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
86070         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86071         gl_PRINTF_INFINITE and test its result. Invoke
86072         gl_PREREQ_VASNPRINTF_INFINITE.
86073         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86074         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86075         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86076         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86077         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86078         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86079         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86080         * doc/functions/fprintf.texi: Update.
86081         * doc/functions/printf.texi: Update.
86082         * doc/functions/snprintf.texi: Update.
86083         * doc/functions/sprintf.texi: Update.
86084         * doc/functions/vfprintf.texi: Update.
86085         * doc/functions/vprintf.texi: Update.
86086         * doc/functions/vsnprintf.texi: Update.
86087         * doc/functions/vsprintf.texi: Update.
86089 2007-05-19  Bruno Haible  <bruno@clisp.org>
86091         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
86092         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
86093         Instead of multiplying with 10^k, set extra_zeroes to k.
86094         (scale10_round_long_double): Remove function.
86096 2007-05-18  Bruno Haible  <bruno@clisp.org>
86098         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
86099         introduced on 2007-05-06.
86101 2007-05-18  Bruno Haible  <bruno@clisp.org>
86103         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
86104         %g directives.
86105         * tests/test-vasprintf-posix.c (test_function): Likewise.
86106         * tests/test-snprintf-posix.h (test_function): Likewise.
86107         * tests/test-sprintf-posix.h (test_function): Likewise.
86109 2007-05-18  Bruno Haible  <bruno@clisp.org>
86111         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
86112         (strmatch): New function.
86113         (test_function): Test the %f directive on numbers of various exponents.
86114         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
86115         (strmatch): New function.
86116         (test_function): Test the %f directive on numbers of various exponents.
86117         * tests/test-snprintf-posix.h (strmatch): New function.
86118         (test_function): Test the %f directive on numbers of various exponents.
86119         * tests/test-sprintf-posix.h (strmatch): New function.
86120         (test_function): Test the %f directive on numbers of various exponents.
86121         * tests/test-snprintf-posix.c (SIZEOF): New macro.
86122         * tests/test-sprintf-posix.c (SIZEOF): New macro.
86123         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
86124         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
86126 2007-05-18  Bruno Haible  <bruno@clisp.org>
86128         Add support for 'long double' number output.
86129         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
86130         * lib/vasnprintf.c: Include math.h and float+.h.
86131         (mp_limb_t): New type.
86132         (GMP_LIMB_BITS): New macro.
86133         (mp_twolimb_t): New type.
86134         (GMP_TWOLIMB_BITS): New macro.
86135         (mpn_t): New type.
86136         (multiply, divide, convert_to_decimal, decode_long_double,
86137         scale10_round_long_double, scale10_round_decimal_long_double,
86138         floorlog10l): New functions.
86139         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
86140         for the %f, %F, %e, %E, %g, %G directives.
86141         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
86142         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
86143         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
86144         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
86145         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
86146         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86147         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86148         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86149         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86150         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86151         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86152         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
86153         * modules/snprintf-posix (Depends-on): Likewise.
86154         * modules/sprintf-posix (Depends-on): Likewise.
86155         * modules/vasnprintf-posix (Depends-on): Likewise.
86156         * modules/vasprintf-posix (Depends-on): Likewise.
86157         * modules/vfprintf-posix (Depends-on): Likewise.
86158         * modules/vsnprintf-posix (Depends-on): Likewise.
86159         * modules/vsprintf-posix (Depends-on): Likewise.
86160         * modules/vasnprintf (Files): Add lib/float+.h.
86161         * doc/functions/fprintf.texi: Update.
86162         * doc/functions/printf.texi: Update.
86163         * doc/functions/snprintf.texi: Update.
86164         * doc/functions/sprintf.texi: Update.
86165         * doc/functions/vfprintf.texi: Update.
86166         * doc/functions/vprintf.texi: Update.
86167         * doc/functions/vsnprintf.texi: Update.
86168         * doc/functions/vsprintf.texi: Update.
86170 2007-05-18  Bruno Haible  <bruno@clisp.org>
86172         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
86174 2007-05-18  Bruno Haible  <bruno@clisp.org>
86176         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
86177         for printing 64-bit integers. Needed for mingw.
86179 2007-05-18  Bruno Haible  <bruno@clisp.org>
86181         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
86182         gl_FUNC_FREXPL_WORKS.
86183         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
86185 2007-05-18  Bruno Haible  <bruno@clisp.org>
86187         * modules/frexpl-nolibm-tests: New file.
86189         * modules/frexpl-nolibm: New file.
86190         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
86192 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86194         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
86195         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
86196         GCC 4.2, which otherwise issues a lot of warnings.
86197         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
86198         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
86199         Likewise.
86200         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
86201         * modules/iconv_open (iconv.h): Likewise.
86202         * modules/locale (locale.h): Likewise.
86203         * modules/netinet_in (netinet/in.h): Likewise.
86204         * modules/sys_select (sys_select.h): Likewise.
86205         * modules/sys_socket (sys/socket.h): Likewise.
86206         * modules/sys_stat (sys/stat.h): Likewise.
86207         * modules/sysexits (sysexits.h): Likewise.
86208         * modules/unistd (unistd.h): Likewise.
86210 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86212         * modules/closein-tests (Makefile.am): Distribute
86213         `test-closein.sh'.
86215 2007-05-17  Bruno Haible  <bruno@clisp.org>
86217         * tests/test-printf-posix.output: Renamed from
86218         tests/test-fprintf-posix.out.
86219         * modules/fprintf-posix-tests: Update.
86220         * modules/printf-posix-tests: Update.
86221         * modules/vfprintf-posix-tests: Update.
86222         * modules/vprintf-posix-tests: Update.
86223         * tests/test-fprintf-posix.sh: Update.
86224         * tests/test-printf-posix.sh: Update.
86225         * tests/test-vfprintf-posix.sh: Update.
86226         * tests/test-vprintf-posix.sh: Update.
86227         Reported by Ralf Wildenhues.
86229 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86231         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
86232         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
86233         GCC 4.2, which otherwise issues a lot of warnings.
86234         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
86235         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
86236         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
86237         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
86238         it should no longer be needed.
86239         * lib/string_.h: Likewise.
86240         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
86241         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
86242         * modules/inttypes (inttypes.h): Likewise.
86243         * modules/math (math.h): Likewise.
86244         * modules/search (search.h): Likewise.
86245         * modules/signal (signal.h): Likewise.
86246         * modules/stdint (stdint.h): Likewise.
86247         * modules/stdio (stdio.h): Likewise.
86248         * modules/stdlib (stdlib.h): Likewise.
86249         * modules/string (string.h): Likewise.
86250         * modules/sys_time (sys/time.h): Likewise.
86251         * modules/time (time.h): Likewise.
86252         * modules/wchar (wchar.h): Likewise.
86253         * modules/wctype (wtype.h): Likewise.
86255 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
86257         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
86259 2007-05-13  Bruno Haible  <bruno@clisp.org>
86261         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
86262         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
86263         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
86264         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
86265         (gl_PREREQ_STRTOK_R): Don't require it here.
86267 2007-05-13  Bruno Haible  <bruno@clisp.org>
86269         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
86270         when used in C++ mode.
86272 2007-05-12  Bruno Haible  <bruno@clisp.org>
86274         * lib/linebuffer.h: Tweak doc.
86275         * lib/linebuffer.c: Likewise.
86277 2007-05-12  James Youngman  <jay@gnu.org>
86279         * lib/linebuffer.c (readlinebuffer_delim): New function,
86280         like readlinebuffer, but use a caller-specified delimiter.
86281         (readlinebuffer): Just call readlinebuffer_delim with '\n'
86282         as the delimiter.
86283         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
86285 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
86287         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
86288         * modules/openat (Files): Remove openat-die.c.
86289         (Depends-on): Add openat-die.
86290         * modules/openat-die: New module.
86292 2007-05-06  Bruno Haible  <bruno@clisp.org>
86294         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
86295         Update with info about Cygwin.
86296         * doc/functions/fprintf.texi: Update.
86297         * doc/functions/printf.texi: Update.
86298         * doc/functions/snprintf.texi: Update.
86299         * doc/functions/sprintf.texi: Update.
86300         * doc/functions/vfprintf.texi: Update.
86301         * doc/functions/vprintf.texi: Update.
86302         * doc/functions/vsnprintf.texi: Update.
86303         * doc/functions/vsprintf.texi: Update.
86304         Reported by Eric Blake.
86306 2007-05-06  Bruno Haible  <bruno@clisp.org>
86308         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
86309         padding ourselves for the floating-point directives.
86310         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
86311         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
86312         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
86313         gl_PRINTF_FLAG_ZERO and test its result. Invoke
86314         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
86315         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86316         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
86317         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86318         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86319         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86320         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86321         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86322         * tests/test-snprintf-posix.h (test_function): Also check the width
86323         and some flags in the %f directive.
86324         * tests/test-sprintf-posix.h (test_function): Likewise.
86325         * tests/test-vasnprintf-posix.c (test_function): Likewise.
86326         * tests/test-vasprintf-posix.c (test_function): Likewise.
86327         * doc/functions/fprintf.texi: Update.
86328         * doc/functions/printf.texi: Update.
86329         * doc/functions/snprintf.texi: Update.
86330         * doc/functions/sprintf.texi: Update.
86331         * doc/functions/vfprintf.texi: Update.
86332         * doc/functions/vprintf.texi: Update.
86333         * doc/functions/vsnprintf.texi: Update.
86334         * doc/functions/vsprintf.texi: Update.
86336 2007-05-06  Bruno Haible  <bruno@clisp.org>
86338         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
86339         pass the ' flag character to sprintf or snprintf.
86340         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
86341         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
86342         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
86343         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
86344         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
86345         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
86346         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
86347         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
86348         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
86349         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
86350         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86351         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
86352         * tests/test-snprintf-posix.h (test_function): Also check the grouping
86353         flag.
86354         * tests/test-sprintf-posix.h (test_function): Likewise.
86355         * tests/test-vasnprintf-posix.c (test_function): Likewise.
86356         * tests/test-vasprintf-posix.c (test_function): Likewise.
86357         * doc/functions/fprintf.texi: Update.
86358         * doc/functions/printf.texi: Update.
86359         * doc/functions/snprintf.texi: Update.
86360         * doc/functions/sprintf.texi: Update.
86361         * doc/functions/vfprintf.texi: Update.
86362         * doc/functions/vprintf.texi: Update.
86363         * doc/functions/vsnprintf.texi: Update.
86364         * doc/functions/vsprintf.texi: Update.
86366 2007-05-01  Bruno Haible  <bruno@clisp.org>
86368         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
86370 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
86372         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
86373         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
86375 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
86377         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
86378         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
86379         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
86381 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
86383         * lib/argp-help.c (struct hol_entry): New member `ord'.
86384         (HOL_ENTRY_PTRCMP): Use ord for comparison
86385         (hol_sort): Initialize ord.
86387 2007-05-01  Bruno Haible  <bruno@clisp.org>
86389         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
86390         Reported by Eric Blake.
86391         * doc/gnulib.texi (Function Substitutes): Update.
86393 2007-05-01  Bruno Haible  <bruno@clisp.org>
86395         * doc/functions.texi: Remove file, now redundant through
86396         doc/functions/*.texi.
86398 2007-05-01  Bruno Haible  <bruno@clisp.org>
86400         * modules/argp (Depends-on): Add sleep.
86402 2007-05-01  Bruno Haible  <bruno@clisp.org>
86404         * modules/sleep-tests: New file.
86405         * tests/test-sleep.c: New file.
86407         * modules/sleep: New file.
86408         * lib/sleep.c: New file.
86409         * m4/sleep.m4: New file.
86410         * lib/unistd_.h (sleep): New declaration.
86411         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
86412         HAVE_SLEEP.
86413         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
86414         * doc/functions/sleep.texi: Document the sleep module.
86416 2007-05-01  Bruno Haible  <bruno@clisp.org>
86418         * lib/sigprocmask.h: Remove file.
86419         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
86420         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
86421         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
86422         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
86423         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
86424         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
86425         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
86426         HAVE_SIGSET_T as a shell variable.
86427         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
86428         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
86429         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
86430         (Depends-on): Add signal. Remove verify.
86431         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
86432         (Include): Mention <signal.h> instead of sigprocmask.h.
86433         * NEWS: Mention the change.
86434         * lib/fatal-signal.c: Don't include sigprocmask.h.
86436 2007-05-01  Bruno Haible  <bruno@clisp.org>
86438         * modules/signal: New file.
86439         * lib/signal_.h: New file.
86440         * m4/signal_h.m4: New file.
86442 2007-05-01  Bruno Haible  <bruno@clisp.org>
86444         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
86445         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
86446         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
86447         HAVE_WCTYPE_CTMP_BUG into wctype.h.
86449 2007-05-01  Bruno Haible  <bruno@clisp.org>
86451         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
86452         configure time.
86453         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
86454         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
86455         * modules/sys_stat (Makefile.am): Substitute their values into
86456         sys/stat.h.
86458 2007-05-01  Bruno Haible  <bruno@clisp.org>
86460         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
86461         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
86462         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
86464 2007-05-01  Bruno Haible  <bruno@clisp.org>
86466         * doc/header/assert.texi: Undo last change: don't mention the gnulib
86467         'assert' module here.
86469 2007-05-01  Bruno Haible  <bruno@clisp.org>
86471         * doc/functions/*.texi: New files.
86472         * doc/functions/google-ranking.txt: New file.
86473         * doc/gnulib.texi (Function Substitutes): New chapter.
86474         (ctime, inet_ntoa): Remove sections.
86475         * doc/ctime.texi: Remove file.
86476         * doc/inet_ntoa.texi: Remove file.
86477         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
86478         dependencies.
86479         (%.info): New rule, specifying a --reference-limit.
86481 2007-05-01  Bruno Haible  <bruno@clisp.org>
86483         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
86485 2007-05-01  Bruno Haible  <bruno@clisp.org>
86487         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
86488         the portability of 'mkdir' to mingw systems.
86490 2007-05-01  Bruno Haible  <bruno@clisp.org>
86492         * doc/headers/google-ranking.txt: New file.
86494 2007-04-30  Eric Blake  <ebb9@byu.net>
86496         Prefer fseeko to fseek.
86497         * modules/getpass (Depends-on): Add fseeko.
86498         * lib/getpass.c (getpass): Use fseeko, not fseek.
86500 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
86502         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
86503         assumes the sorting is stable, while most qsort implementations
86504         are not.  Use argument addresses to ensure they never compare as
86505         equal.
86507         * tests/test-argp-2.sh (usage-indent test): Fix output
86508         (func_compare): Restore diff options
86509         * tests/test-argp.c: Restore #include "progname.h"
86511 2007-04-29  Bruno Haible  <bruno@clisp.org>
86513         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
86514         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
86515         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
86516         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
86517         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
86518         (configure.ac): Define CHECK_SNPRINTF_POSIX.
86519         (TESTS, check_PROGRAMS): Add test-snprintf.
86520         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
86521         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
86522         (TESTS, check_PROGRAMS): Add test-vsnprintf.
86523         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
86524         assertions that fail on HP-UX, OSF/1, or IRIX.
86525         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
86527 2007-04-29  Bruno Haible  <bruno@clisp.org>
86529         * MODULES.html.sh (posix_functions): Remove 'contents'.
86531 2007-04-29  Karl Berry  <karl@gnu.org>
86533         * config/srclist.txt (gendocs_template_min): new entry.
86535 2007-04-29  Bruno Haible  <bruno@clisp.org>
86537         Work around fpurge bug on BSD systems.
86538         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
86539         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
86540         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
86541         fpurge to rpl_fpurge if the system already has this function.
86542         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
86543         the case where the system already has this function. Correct invariants
86544         on BSD systems.
86545         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
86546         BSD systems.
86548 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
86550         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
86551         proposed by Sven Verdoolaege.
86553         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
86554         options.
86555         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
86556         (usage and help tests): Update
86558 2007-04-29  Bruno Haible  <bruno@clisp.org>
86560         * tests/test-fflush.c (main): Use a file of size 17, not 10.
86561         Print more information in case of failure. Disable a test on BeOS.
86563 2007-04-29  Bruno Haible  <bruno@clisp.org>
86565         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
86566         This helps debugging on systems on which no gdb is available.
86568 2007-04-29  Bruno Haible  <bruno@clisp.org>
86570         * lib/freading.h: Improve comments.
86571         * lib/fwriting.h: Likewise.
86572         * tests/test-freading.c (main): Don't check freading immediately after
86573         repositioning. Needed for glibc.
86575 2007-04-29  Bruno Haible  <bruno@clisp.org>
86577         * lib/freading.c (freading): Trivial simplification.
86579 2007-04-28  Bruno Haible  <bruno@clisp.org>
86581         * tests/test-fwriting.c (main): Also test the interaction between
86582         fflush and fwriting.
86583         * modules/fwriting-tests (Depends-on): Add fflush.
86585         * tests/test-freading.c (main): Also test the interaction between
86586         fflush and freading.
86587         * modules/freading-tests (Depends-on): Add fflush.
86589 2007-04-28  Bruno Haible  <bruno@clisp.org>
86591         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
86592         fseeko and ftello.
86593         Suggested by Eric Blake.
86595 2007-04-28  Jim Meyering  <jim@meyering.net>
86597         Avoid false-negative in gl_STDINT_H's C99 conformance test.
86598         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
86599         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
86601 2007-04-27  Eric Blake  <ebb9@byu.net>
86603         * doc/headers/assert.texi (assert.h): Document assert module use.
86605 2007-04-27  Bruno Haible  <bruno@clisp.org>
86607         * doc/headers/*.texi: New files.
86608         * doc/gnulib.texi (Header File Substitutes): New chapter.
86609         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
86610         dependencies.
86611         (standards.info ,standards.html, standards.dvi): Update dependencies.
86612         (mostlyclean, clean): New targets.
86614 2007-04-27  Bruno Haible  <bruno@clisp.org>
86616         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
86617         * modules/sysexits (Files, Makefile.am): Update.
86619         * lib/sys_socket_.h: Renamed from lib/socket_.h.
86620         * modules/sys_socket (Files, Makefile.am): Update.
86622         * lib/sys_stat_.h: Renamed from lib/stat_.h.
86623         * modules/sys_stat (Files, Makefile.am): Update.
86625 2007-04-27  Eric Blake  <ebb9@byu.net>
86627         * lib/freading.h: Improve comments.
86628         * lib/fwriting.h: Likewise.
86629         * lib/fflush.c: Likewise.
86631         Fix closein for mingw.
86632         * modules/closein-tests: Add tests for closein.
86633         * tests/test-closein.c: New file.
86634         * tests/test-closein.sh: Likewise.
86635         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
86636         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
86638 2007-04-27  Bruno Haible  <bruno@clisp.org>
86640         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
86641         version is < 6.
86642         * lib/math_.h [__DECC]: Likewise.
86643         * lib/stdio_.h [__DECC]: Likewise.
86644         * lib/stdlib_.h [__DECC]: Likewise.
86645         * lib/string_.h [__DECC]: Likewise.
86646         * lib/time_.h [__DECC]: Likewise.
86647         * lib/wchar_.h [__DECC]: Likewise.
86648         * lib/wctype_.h [__DECC]: Likewise.
86650 2007-04-27  Bruno Haible  <bruno@clisp.org>
86652         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
86654 2007-04-27  Bruno Haible  <bruno@clisp.org>
86656         * lib/fflush.c: Add comments.
86657         * modules/fpurge-tests (Depends-on): Add fflush.
86658         * modules/freadable-tests (Depends-on): Likewise.
86659         * modules/fwritable-tests (Depends-on): Likewise.
86661 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
86663         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
86664         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
86665         Report by Bruno Haible <bruno@clisp.org>.
86667 2007-04-26  Eric Blake  <ebb9@byu.net>
86669         Fix fflush on mingw.
86670         * modules/fflush (Depends-on): Add freading.
86671         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
86672         but unread data.
86674 2007-04-26  Eric Blake  <ebb9@byu.net>
86675         and Bruno Haible  <bruno@clisp.org>
86677         Implement freading and fwriting.
86678         * lib/freading.c: New file.
86679         * lib/freading.h: Likewise.
86680         * m4/freading.m4: Likewise.
86681         * modules/freading: Likewise.
86682         * modules/freading-tests: Likewise.
86683         * tests/test-freading.c: Likewise.
86684         * lib/fwriting.c: New file.
86685         * lib/fwriting.h: Likewise.
86686         * m4/fwriting.m4: Likewise.
86687         * modules/fwriting: Likewise.
86688         * modules/fwriting-tests: Likewise.
86689         * tests/test-fwriting.c: Likewise.
86690         * MODULES.html.sh (File stream based Input/Output): Mention them.
86692 2007-04-26  Bruno Haible  <bruno@clisp.org>
86694         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
86695         'long' when we assume it.
86696         Suggested by Eric Blake.
86698 2007-04-26  Bruno Haible  <bruno@clisp.org>
86700         Ensure fseeko, ftello are declared on glibc systems.
86701         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
86702         * modules/fseeko (configure.ac-early): Likewise.
86703         * modules/ftello (configure.ac-early): Likewise.
86704         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
86705         AC_FUNC_FSEEKO for this.
86706         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
86707         (gl_CHECK_FSEEKO): Remove macro.
86709 2007-04-26  Bruno Haible  <bruno@clisp.org>
86711         * tests/test-fflush.c (main): Also check the ftell result after
86712         fflush and fseek/fseeko.
86713         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
86714         file descriptor position cache in the stream.
86715         * lib/fseeko.c (rpl_fseeko): Likewise.
86717 2007-04-26  Bruno Haible  <bruno@clisp.org>
86719         * modules/fflush-tests (Depends-on): Add fseeko.
86721 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
86722             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86724         * lib/argz_.h: ensure error_t definition is obtained in same
86725         mechanism system argz.h would have.
86726         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
86727         argz facilities are known bad.  Err on the side of caution if
86728         cross-compiling.
86730 2007-04-25  Eric Blake  <ebb9@byu.net>
86732         * lib/fpurge.c (includes): Use stdlib.h for free.
86733         * tests/test-fflush.c (main): Also test fflush-fseeko.
86735 2007-04-25  Bruno Haible  <bruno@clisp.org>
86737         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
86738         * lib/fseeko.c: New file.
86739         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
86740         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
86741         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
86742         gl_FUNC_FSEEKO.
86743         (gl_FUNC_FSEEKO): Invoke it.
86744         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
86745         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
86746         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
86748 2007-04-25  Bruno Haible  <bruno@clisp.org>
86750         * modules/fflush (Depends-on): Add ftello.
86752 2007-04-25  Bruno Haible  <bruno@clisp.org>
86754         * modules/ftello-tests: New file.
86755         * tests/test-ftello.c: New file.
86757         * modules/ftello: New file.
86758         * m4/ftello.m4: New file.
86759         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
86760         HAVE_FTELLO.
86761         * lib/stdio_.h (ftello): New declaration.
86762         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
86763         HAVE_FTELLO.
86765 2007-04-25  Bruno Haible  <bruno@clisp.org>
86767         * modules/fseeko-tests: New file.
86768         * tests/test-fseeko.c: New file.
86770         * modules/fseeko: New file.
86771         * m4/fseeko.m4: New file.
86772         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
86773         HAVE_FSEEKO.
86774         * lib/stdio_.h (fseeko): New declaration.
86775         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
86776         HAVE_FSEEKO.
86778 2007-04-25  Bruno Haible  <bruno@clisp.org>
86780         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
86782 2007-04-25  Bruno Haible  <bruno@clisp.org>
86784         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
86785         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
86786         * tests/test-unistd.c: Likewise.
86787         * tests/test-fcntl.c: Likewise.
86789 2007-04-23  Eric Blake  <ebb9@byu.net>
86791         * lib/fflush.c: Fix missing include.
86792         Reported by Bruno Haible.
86794 2007-04-23  Bruno Haible  <bruno@clisp.org>
86796         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
86797         Reported by Eric Blake.
86799 2007-04-23  Bruno Haible  <bruno@clisp.org>
86801         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
86803 2007-04-23  Bruno Haible  <bruno@clisp.org>
86805         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
86807 2007-04-23  Bruno Haible  <bruno@clisp.org>
86809         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
86810         Needed on HP-UX 11.
86812 2007-04-16  Eric Blake  <ebb9@byu.net>
86814         Make fflush rely on fpurge.
86815         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
86816         open coding all variants.
86817         * modules/fflush (Depends-on): Add fpurge and unistd.
86818         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
86819         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
86821         Fix --with-tests compilation on cygwin.
86822         * modules/argmatch-tests (Makefile.am): List gnulib library first
86823         in LDADD.
86824         * modules/argp-tests (Makefile.am): Likewise.
86825         * modules/array-list-tests (Makefile.am): Likewise.
86826         * modules/array-oset-tests (Makefile.am): Likewise.
86827         * modules/avltree-list-tests (Makefile.am): Likewise.
86828         * modules/avltree-oset-tests (Makefile.am): Likewise.
86829         * modules/avltreehash-list-tests (Makefile.am): Likewise.
86830         * modules/carray-list-tests (Makefile.am): Likewise.
86831         * modules/dirname-tests (Makefile.am): Likewise.
86832         * modules/frexp-tests (Makefile.am): Likewise.
86833         * modules/isnanl-tests (Makefile.am): Likewise.
86834         * modules/linked-list-tests (Makefile.am): Likewise.
86835         * modules/linkedhash-list-tests (Makefile.am): Likewise.
86836         * modules/lock-tests (Makefile.am): Likewise.
86837         * modules/rbtree-list-tests (Makefile.am): Likewise.
86838         * modules/rbtree-oset-tests (Makefile.am): Likewise.
86839         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
86840         * modules/tls-tests (Makefile.am): Likewise.
86841         * modules/tsearch-tests (Makefile.am): Likewise.
86842         * modules/xvasprintf-tests (Makefile.am): Likewise.
86844         Fix fpurge for cygwin.
86845         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
86846         value.
86847         * modules/fpurge-tests (Depends-on): Clean up trash.
86849 2007-04-16  Simon Josefsson  <simon@josefsson.org>
86851         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
86853         * m4/autobuild.m4: Re-indent.
86855 2007-04-13  Bruno Haible  <bruno@clisp.org>
86857         * modules/fpurge-tests: New file.
86858         * tests/test-fpurge.c: New file.
86860         * modules/fpurge: New file.
86861         * lib/fpurge.h: New file.
86862         * lib/fpurge.c: New file.
86863         * m4/fpurge.m4: New file.
86865 2007-04-13  Bruno Haible  <bruno@clisp.org>
86867         * modules/fbufmode-tests: New file.
86868         * tests/test-fbufmode.c: New file.
86870         * modules/fbufmode: New file.
86871         * lib/fbufmode.h: New file.
86872         * lib/fbufmode.c: New file.
86873         * m4/fbufmode.m4: New file.
86875 2007-04-13  Bruno Haible  <bruno@clisp.org>
86877         * modules/fwritable-tests: New file.
86878         * tests/test-fwritable.c: New file.
86880         * modules/fwritable: New file.
86881         * lib/fwritable.h: New file.
86882         * lib/fwritable.c: New file.
86883         * m4/fwritable.m4: New file.
86885 2007-04-13  Bruno Haible  <bruno@clisp.org>
86887         * modules/freadable-tests: New file.
86888         * tests/test-freadable.c: New file.
86890         * modules/freadable: New file.
86891         * lib/freadable.h: New file.
86892         * lib/freadable.c: New file.
86893         * m4/freadable.m4: New file.
86895 2007-04-13  Bruno Haible  <bruno@clisp.org>
86897         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
86898         MOSTLYCLEANFILES.
86900 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
86902         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
86903         gzip bootstrap.conf to avoid dragging in i18n machinery.
86904         (gnulib_tool_option): Use it.
86906 2007-04-13  Bruno Haible  <bruno@clisp.org>
86908         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
86909         %F directives.
86910         * tests/test-vasprintf-posix.c (test_function): Likewise.
86911         * tests/test-snprintf-posix.h (test_function): Likewise.
86912         * tests/test-sprintf-posix.h (test_function): Likewise.
86913         * tests/test-fprintf-posix.h (test_function): Likewise.
86914         * tests/test-printf-posix.h (test_function): Likewise.
86915         * tests/test-fprintf-posix.out: Likewise.
86917 2007-04-13  Bruno Haible  <bruno@clisp.org>
86919         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
86920         * modules/tls-tests (configure.ac): Likewise.
86921         Reported by Arto C. Nirkko <anirkko@insel.ch>.
86923 2007-04-13  Bruno Haible  <bruno@clisp.org>
86925         * lib/tls.c (glthread_tls_get): Fix return type.
86926         Patch by Arto C. Nirkko <anirkko@insel.ch>.
86928 2007-04-12  Eric Blake  <ebb9@byu.net>
86930         * modules/gettime (Depends-on): Remove gettime.
86931         Reported by Dmitry V. Levin.
86933 2007-04-12  Bruno Haible  <bruno@clisp.org>
86935         * modules/fflush (Include): Mention <stdio.h>.
86936         * modules/strtoimax (Include): Mention <inttypes.h>.
86937         * modules/strtoumax (Include): Likewise.
86939 2007-04-12  Eric Blake  <ebb9@byu.net>
86941         * .cvsignore: New file.
86942         * .gitignore: Likewise.
86944 2007-04-12  Bruno Haible  <bruno@clisp.org>
86946         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
86947         not before, since $(LDADD) often contains libgnu.a.
86948         * modules/striconv-tests (test_striconv_LDADD): Likewise.
86949         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
86950         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
86951         Needed on Cygwin.
86953 2007-04-12  Eric Blake  <ebb9@byu.net>
86955         Work around glibc's failure to flush stdin on fclose.
86956         * lib/closein.c (close_stdin): Flush stdin before closing.
86958         Work around glibc's failure to reset seekable stdin on exit.
86959         * modules/closein: New module.
86960         * lib/closein.c: New file.
86961         * lib/closein.h: Likewise.
86962         * m4/closein.m4: Likewise.
86963         * MODULES.html.sh (File stream based Input/Output): Document it.
86965 2007-04-12  Simon Josefsson  <simon@josefsson.org>
86967         * gnulib-tool: Rename generated 'autobuild' script to
86968         'do-autobuild' in --create-megatestdir output.
86970         * doc/gnulib.texi (Build robot for gnulib): Fix.
86972 2007-04-12  Simon Josefsson  <simon@josefsson.org>
86974         * modules/sysexits (Depends-on): Add absolute-header.
86976 2007-04-12  Eric Blake  <ebb9@byu.net>
86978         No need to preserve errno on success.
86979         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
86980         Reported by Bruno Haible.
86982 2007-04-12  Simon Josefsson  <simon@josefsson.org>
86984         * MODULES.html.sh (Support for maintaining and releasing
86985         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
86987 2007-04-12  Simon Josefsson  <simon@josefsson.org>
86989         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
86991 2007-04-12  Simon Josefsson  <simon@josefsson.org>
86993         * modules/autobuild: New module.
86995         * m4/autobuild.m4: New file.
86997 2007-04-11  Bruno Haible  <bruno@clisp.org>
86999         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
87000         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
87001         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
87002         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
87003         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87004         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87005         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87006         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87007         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87008         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87009         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
87010         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87011         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87012         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
87013         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87014         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87015         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
87016         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87017         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87018         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
87019         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87020         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87021         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
87022         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87023         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87024         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
87025         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
87026         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
87027         Reported by Eric Blake.
87029 2007-04-11  Bruno Haible  <bruno@clisp.org>
87031         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
87033 2007-04-10  Bruno Haible  <bruno@clisp.org>
87035         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
87036         for NaN and Infinity. Needed on FreeBSD 6.1.
87037         * tests/test-vasnprintf-posix.c (test_function): Undo last change
87038         regarding results for "%010a" of Infinity and NaN.
87039         * tests/test-vasprintf-posix.c (test_function): Likewise.
87040         * tests/test-snprintf-posix.h (test_function): Likewise.
87041         * tests/test-sprintf-posix.h (test_function): Likewise.
87042         * tests/test-fprintf-posix.h (test_function): Likewise.
87043         * tests/test-printf-posix.h (test_function): Likewise.
87044         * tests/test-fprintf-posix.out: Likewise.
87046 2007-04-10  Bruno Haible  <bruno@clisp.org>
87048         * modules/locale-tests: New file.
87049         * tests/test-locale.c: New file.
87051         * modules/locale: New file.
87052         * lib/locale_.h: New file.
87053         * m4/locale_h.m4: New file.
87055 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
87056             Bruno Haible  <bruno@clisp.org>
87058         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
87059         be determined, test for availability of the copysignf, copysign,
87060         copysignl functions.
87061         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
87062         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
87063         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
87065 2007-04-09  Eric Blake  <ebb9@byu.net>
87067         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
87068         * modules/stdio (Makefile.am): Support fflush.
87069         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
87070         * modules/fflush: New file.
87071         * lib/fflush.c: Likewise.
87072         * m4/fflush.m4: Likewise.
87073         * modules/fflush-tests: New test.
87074         * tests/test-fflush.c: Likewise.
87075         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
87077 2007-04-06  Bruno Haible  <bruno@clisp.org>
87079         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
87080         (VASNPRINTF): Use signbit for faster determination whether to print a
87081         minus sign.
87082         * modules/vasnprintf (Files): Remove lib/float+.h.
87083         * modules/fprintf-posix (Depends-on): Add signbit.
87084         * modules/snprintf-posix (Depends-on): Likewise.
87085         * modules/sprintf-posix (Depends-on): Likewise.
87086         * modules/vasnprintf-posix (Depends-on): Likewise.
87087         * modules/vasprintf-posix (Depends-on): Likewise.
87088         * modules/vfprintf-posix (Depends-on): Likewise.
87089         * modules/vsnprintf-posix (Depends-on): Likewise.
87090         * modules/vsprintf-posix (Depends-on): Likewise.
87092 2007-04-06  Bruno Haible  <bruno@clisp.org>
87094         * tests/test-frexp.c (main): Test also the sign bit of zero results.
87095         * tests/test-frexpl.c (main): Likewise.
87096         * tests/test-ldexpl.c (main): Likewise.
87097         * modules/frexp-tests (Depends-on): Add signbit.
87098         * modules/frexpl-tests (Depdends-on): Likewise.
87099         * modules/ldexpl-tests (Depdends-on): Likewise.
87101 2007-04-06  Bruno Haible  <bruno@clisp.org>
87103         * modules/signbit-tests: New file.
87104         * tests/test-signbit.c: New file.
87106         * modules/signbit: New file.
87107         * lib/signbitf.c: New file.
87108         * lib/signbitd.c: New file.
87109         * lib/signbitl.c: New file.
87110         * m4/signbit.m4: New file.
87111         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
87112         (signbit): New macro.
87113         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
87114         REPLACE_SIGNBIT.
87115         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
87116         REPLACE_FREXPL into math.h.
87118 2007-04-06  Bruno Haible  <bruno@clisp.org>
87120         * modules/isnanf-nolibm-tests: New file.
87121         * tests/test-isnanf.c: New file.
87123         * modules/isnanf-nolibm: New file.
87124         * lib/isnanf.h: New file.
87125         * lib/isnanf.c: New file.
87126         * lib/isnan.c: Consider the USE_FLOAT macro.
87127         * m4/isnanf.m4: New file.
87129 2007-04-06  Bruno Haible  <bruno@clisp.org>
87131         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
87132         (Link): New section.
87134         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
87136 2007-04-06  Bruno Haible  <bruno@clisp.org>
87138         Assume the 'long double' type.
87139         * m4/longdouble.m4: Remove file.
87140         * config/srclist.txt: Don't mention longdouble.m4.
87141         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
87142         * lib/float+.h: Likewise.
87143         * lib/frexp.c: Likewise.
87144         * lib/printf-args.h: Likewise.
87145         * lib/printf-args.c: Likewise.
87146         * lib/printf-frexp.c: Likewise.
87147         * lib/printf-parse.c: Likewise.
87148         * lib/vasnprintf.c: Likewise.
87149         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
87150         * m4/intl.m4: Likewise.
87151         * m4/isnanl.m4: Likewise.
87152         * m4/printf.m4: Likewise.
87153         * m4/printf-frexpl.m4: Likewise.
87154         * m4/vasnprintf.m4: Likewise.
87155         * modules/allocsa (Files): Remove m4/longdouble.m4.
87156         * modules/gettext (Files): Likewise.
87157         * modules/relocatable-prog-wrapper (Files): Likewise.
87158         * modules/vasnprintf (Files): Likewise.
87159         * modules/isnanl (Files): Likewise.
87160         (Include): Simplify.
87161         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
87162         (Include): Simplify.
87163         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
87164         (Include): Simplify.
87165         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
87166         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87167         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
87168         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87169         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
87170         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87171         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
87172         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87173         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
87174         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87175         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
87176         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
87177         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
87178         * tests/test-isnanl.c: Likewise.
87179         * tests/test-snprintf-posix.h: Likewise.
87180         * tests/test-sprintf-posix.h: Likewise.
87181         * tests/test-vasnprintf-posix.c: Likewise.
87182         * tests/test-vasnprintf-posix2.c: Likewise.
87183         * tests/test-vasprintf-posix.c: Likewise.
87185 2007-04-06  Bruno Haible  <bruno@clisp.org>
87187         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
87188         * lib/math_.h [__DECC]: Include the overridden include file through
87189         #include_next, outside the double-inclusion guard.
87190         * lib/stdio_.h [__DECC]: Likewise.
87191         * lib/stdlib_.h [__DECC]: Likewise.
87192         * lib/string_.h [__DECC]: Likewise.
87193         * lib/time_.h [__DECC]: Likewise.
87194         * lib/wchar_.h [__DECC]: Likewise.
87195         * lib/wctype_.h [__DECC]: Likewise.
87196         * lib/inttypes_.h [__DECC]: Likewise.
87197         Reported by Albert Chin <china@thewrittenword.com> in
87198         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
87200 2007-04-04  Eric Blake  <ebb9@byu.net>
87202         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
87203         1.5.x.
87205 2007-04-04  Bruno Haible  <bruno@clisp.org>
87207         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
87208         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
87210 2007-04-04  Bruno Haible  <bruno@clisp.org>
87212         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
87213         results for "%010a" of Infinity and NaN.
87214         * tests/test-vasprintf-posix.c (test_function): Likewise.
87215         * tests/test-snprintf-posix.h (test_function): Likewise.
87216         * tests/test-sprintf-posix.h (test_function): Likewise.
87217         * tests/test-fprintf-posix.h (test_function): Remove these tests.
87218         * tests/test-printf-posix.h (test_function): Likewise.
87219         * tests/test-fprintf-posix.out: Update.
87220         Needed for FreeBSD 6.1.
87222 2007-04-04  Bruno Haible  <bruno@clisp.org>
87224         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
87225         directly used by the gnulib modules nor by gnulib-tool.
87227 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87229         * DEPENDENCIES: Give overall description of version dependency
87230         desirability.  Use more-typical names for apps.
87231         Add shell, coreutils, diffutils, grep, tar, gzip.
87233 2007-04-04  Simon Josefsson  <simon@josefsson.org>
87235         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
87237 2007-04-04  Karl Berry  <karl@gnu.org>
87239         * MODULES.html.sh (func_module): missing '.
87241 2007-04-03  Bruno Haible  <bruno@clisp.org>
87243         * modules/argmatch-tests (Makefile.am): New variable
87244         test_argmatch_LDADD.
87245         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
87246         * modules/array-list-tests (Makefile.am): New variable
87247         test_array_list_LDADD.
87248         * modules/array-oset-tests (Makefile.am): New variable
87249         test_array_oset_LDADD.
87250         * modules/avltree-list-tests (Makefile.am): New variable
87251         test_avltree_list_LDADD.
87252         * modules/avltree-oset-tests (Makefile.am): New variable
87253         test_avltree_oset_LDADD.
87254         * modules/avltreehash-list-tests (Makefile.am): New variable
87255         test_avltreehash_list_LDADD.
87256         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
87257         test_canonicalize_lgpl_LDADD.
87258         * modules/carray-list-tests (Makefile.am): New variable
87259         test_carray_list_LDADD.
87260         * modules/dirname-tests (Makefile.am): New variable
87261         test_dirname_LDADD.
87262         * modules/linked-list-tests (Makefile.am): New variable
87263         test_linked_list_LDADD.
87264         * modules/linkedhash-list-tests (Makefile.am): New variable
87265         test_linkedhash_list_LDADD.
87266         * modules/rbtree-list-tests (Makefile.am): New variable
87267         test_rbtree_list_LDADD.
87268         * modules/rbtree-oset-tests (Makefile.am): New variable
87269         test_rbtree_oset_LDADD.
87270         * modules/rbtreehash-list-tests (Makefile.am): New variable
87271         test_rbtreehash_list_LDADD.
87272         * modules/xvasprintf-tests (Makefile.am): New variable
87273         test_xvasprintf_LDADD.
87274         Reported by Eric Blake.
87276 2007-04-03  Eric Blake  <ebb9@byu.net>
87278         * DEPENDENCIES: Weaken m4 requirements.
87280 2007-04-03  Bruno Haible  <bruno@clisp.org>
87282         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
87283         * modules/isnanl-tests (configure.ac): Likewise.
87285 2007-04-03  Ben Pfaff  <blp@gnu.org>
87287         * modules/iconv_open: Add $(srcdir)/ to source directory
87288         references in Makefile fragments that call gperf, to fix VPATH
87289         builds.
87291 2007-04-03  Bruno Haible  <bruno@clisp.org>
87293         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
87294         * lib/ldexpl.c: Undo last change.
87296 2007-04-03  Bruno Haible  <bruno@clisp.org>
87298         * modules/printf-frexpl (Depends-on): Undo last change.
87299         (Files): Add m4/ldexpl.m4.
87301 2007-04-03  Bruno Haible  <bruno@clisp.org>
87303         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
87304         * modules/isnanl (Link): New section.
87306         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
87307         * modules/frexp (Link): New section.
87309         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
87310         * modules/frexpl (Link): New section.
87312         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
87313         * modules/ldexpl (Link): New section.
87315 2007-04-03  Bruno Haible  <bruno@clisp.org>
87317         * modules/TEMPLATE-EXTENDED: New file.
87318         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
87320 2007-04-03  Bruno Haible  <bruno@clisp.org>
87322         * DEPENDENCIES: New file.
87323         Suggested by Simon Josefsson.
87325 2007-04-03  Bruno Haible  <bruno@clisp.org>
87327         * doc/gnulib.texi: Escape @.
87329 2007-04-03  James Youngman  <jay@gnu.org>
87330         and Paul Eggert  <eggert@cs.ucla.edu>
87332         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
87333         birthtime on all systems that have birthtime, not just those which
87334         use st_birthtimensec rather than st_birthtim.  Putting zero in
87335         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
87336         that the birth time is not available for files on an NFS mount.
87338 2007-04-03  Simon Josefsson  <simon@josefsson.org>
87340         * modules/memxor: Move back from crypto/, suggested by Bruno.
87341         * modules/crypto/hmac-sha1: Fix memxor dependency.
87343         * modules/crypto/gc: Moved from ../.
87345 2007-04-02  Eric Blake  <ebb9@byu.net>
87347         * lib/ldexpl.c (includes): Avoid libm.
87349         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
87351 2007-04-02  Bruno Haible  <bruno@clisp.org>
87353         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
87354         on IRIX.
87356 2007-04-02  Bruno Haible  <bruno@clisp.org>
87358         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
87359         x86 or x86_64 platforms running MacOS X.
87360         Reported by Ryan Schmidt <@ryandesign.com>.
87362 2007-04-02  Bruno Haible  <bruno@clisp.org>
87364         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
87365         i386.
87367 2007-04-01  Simon Josefsson  <simon@josefsson.org>
87369         * modules/crypto/arcfour: Moved from ../.
87370         * modules/crypto/arcfour-tests: Moved from ../.
87371         * modules/crypto/arctwo: Moved from ../.
87372         * modules/crypto/arctwo-tests: Moved from ../.
87373         * modules/crypto/des: Moved from ../.
87374         * modules/crypto/des-tests: Moved from ../.
87375         * modules/crypto/gc-arcfour: Moved from ../.
87376         * modules/crypto/gc-arcfour-tests: Moved from ../.
87377         * modules/crypto/gc-arctwo: Moved from ../.
87378         * modules/crypto/gc-arctwo-tests: Moved from ../.
87379         * modules/crypto/gc-des: Moved from ../.
87380         * modules/crypto/gc-des-tests: Moved from ../.
87381         * modules/crypto/gc-hmac-md5: Moved from ../.
87382         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
87383         * modules/crypto/gc-hmac-sha1: Moved from ../.
87384         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
87385         * modules/crypto/gc-md2: Moved from ../.
87386         * modules/crypto/gc-md2-tests: Moved from ../.
87387         * modules/crypto/gc-md4: Moved from ../.
87388         * modules/crypto/gc-md4-tests: Moved from ../.
87389         * modules/crypto/gc-md5: Moved from ../.
87390         * modules/crypto/gc-md5-tests: Moved from ../.
87391         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
87392         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
87393         * modules/crypto/gc-random: Moved from ../.
87394         * modules/crypto/gc-rijndael: Moved from ../.
87395         * modules/crypto/gc-rijndael-tests: Moved from ../.
87396         * modules/crypto/gc-sha1: Moved from ../.
87397         * modules/crypto/gc-sha1-tests: Moved from ../.
87398         * modules/crypto/gc-tests: Moved from ../.
87399         * modules/crypto/hmac-md5: Moved from ../.
87400         * modules/crypto/hmac-md5-tests: Moved from ../.
87401         * modules/crypto/hmac-sha1: Moved from ../.
87402         * modules/crypto/hmac-sha1-tests: Moved from ../.
87403         * modules/crypto/md2: Moved from ../.
87404         * modules/crypto/md2-tests: Moved from ../.
87405         * modules/crypto/md4: Moved from ../.
87406         * modules/crypto/md4-tests: Moved from ../.
87407         * modules/crypto/md5: Moved from ../.
87408         * modules/crypto/md5-tests: Moved from ../.
87409         * modules/crypto/memxor: Moved from ../.
87410         * modules/crypto/rijndael: Moved from ../.
87411         * modules/crypto/rijndael-tests: Moved from ../.
87412         * modules/crypto/sha1: Moved from ../.
87414 2007-03-30  James Youngman  <jay@gnu.org>
87416         * tests/test-stat-time.c (prepare_test): use chmod() rather than
87417         rename() to change the ctime of a file (because ctime is unaffected
87418         by rename on jfs2 on AIX 5.1).
87419         (main): Start by doing cleanup, in case a previous run failed leaving
87420         test files behind.
87422 2007-03-31  Bruno Haible  <bruno@clisp.org>
87424         Support old proprietary implementations of iconv.
87425         * modules/iconv_open: New file.
87426         * lib/iconv_.h: New file.
87427         * m4/iconv_h.m4: New file.
87428         * lib/iconv_open.c: New file.
87429         * lib/iconv_open-aix.gperf: New file.
87430         * lib/iconv_open-hpux.gperf: New file.
87431         * lib/iconv_open-irix.gperf: New file.
87432         * lib/iconv_open-osf.gperf: New file.
87433         * m4/iconv_open.m4: New file.
87434         * modules/linebreak (Depends-on): Add iconv_open.
87435         * modules/striconv (Depends-on): Likewise.
87436         * modules/striconveh (Depends-on): Likewise.
87437         * modules/unicodeio (Depends-on): Likewise.
87438         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
87439         (iconv_t)(-1).
87440         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
87441         conversion if cd is (iconv_t)(-1).
87442         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
87443         is not possible.
87445 2007-03-31  Bruno Haible  <bruno@clisp.org>
87447         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
87448         work on Solaris either. Protect also second use of "autodetect_jp".
87450 2007-03-31  Bruno Haible  <bruno@clisp.org>
87452         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
87453         the function is not present.
87455 2007-03-31  Bruno Haible  <bruno@clisp.org>
87457         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
87458         the function is not present.
87460 2007-03-31  Bruno Haible  <bruno@clisp.org>
87462         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
87463         a bug in HP-UX iconv_open().
87465 2007-03-31  Bruno Haible  <bruno@clisp.org>
87467         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
87468         (Mathematics <math.h>): New section, add fpieee.
87469         (Input/output <stdio.h>): Add fseterr.
87470         (Mathematics <math.h>): New section, add printf-frexp.
87471         (Container data structures): Add sublist.
87472         (Core language properties): Add fpucw, inline.
87473         (Functions for greatest-width integer types <inttypes.h>): Add
87474         imaxabs, imaxdiv, inttypes.
87475         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
87476         isnanl-nolibm, ldexp.
87477         (Mathematics <math.h>): New section, add printf-frexpl.
87478         (Support for systems lacking POSIX:2001): Add fprintf-posix,
87479         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
87480         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
87481         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
87482         (Unicode string functions): Add unistr/u*-mbtoucr.
87483         (Java): Add javacomp-script, javaexec-script.
87484         (C#): Add csharpcomp-script, csharpexec-script.
87485         (Support for building libraries and executables): Add havelib,
87486         relocatable-*.
87487         (Support for maintaining and releasing projects): Renamed from
87488         'Support for maintaining and release projects'. Add announce-gen.
87490 2007-03-31  Bruno Haible  <bruno@clisp.org>
87492         * README: Talk primarily about git.
87493         (git and CVS): Renamed from CVS.
87494         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
87495         gnulib is available through git.
87496         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
87498 2007-03-30  Bruno Haible  <bruno@clisp.org>
87500         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
87501         * lib/poll_.h: Likewise.
87502         * lib/stat_.h: Likewise.
87503         * lib/sys_time_.h: Likewise.
87504         * lib/sysexit_.h: Likewise.
87505         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
87506         * lib/stdbool_.h: Likewise.
87507         * lib/byteswap_.h: Add double-inclusion guard.
87509 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
87511         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
87513 2007-03-30  Karl Berry  <karl@gnu.org>
87515         * config/srclist-update: double space after USA in the license
87516         substitution, since that's how it's usually (?) written.
87518 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
87520         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
87521         reported by Bruno Haible.
87523 2007-03-29  Bruno Haible  <bruno@clisp.org>
87525         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
87526         a bug in AIX iconv().
87528 2007-03-29  Bruno Haible  <bruno@clisp.org>
87530         * modules/ldexpl-tests: New file.
87531         * tests/test-ldexpl.c: New file.
87533 2007-03-29  Bruno Haible  <bruno@clisp.org>
87535         * lib/ldexpl.c: Include fpucw.h.
87536         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
87537         multiplication.
87538         * modules/ldexpl (Depends-on): Add fpucw.
87540 2007-03-29  Bruno Haible  <bruno@clisp.org>
87542         * modules/ldexpl: New file.
87543         * m4/ldexpl.m4: New file.
87544         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
87545         set.
87546         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
87547         REPLACE_LDEXPL.
87548         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
87549         REPLACE_LDEXPL.
87550         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
87551         gl_FUNC_LDEXPL_WORKS.
87552         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
87553         * modules/mathl (Files): Remove lib/ldexpl.c.
87554         (Depends-on): Add ldexpl.
87556 2007-03-29  Bruno Haible  <bruno@clisp.org>
87558         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
87560 2007-03-29  Bruno Haible  <bruno@clisp.org>
87562         * tests/test-striconveh.c (main): Don't assume that a direct conversion
87563         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
87564         and possibly also HP-UX.
87565         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
87566         work on AIX, IRIX, HP-UX, OSF/1.
87567         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
87568         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
87569         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
87570         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
87571         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
87572         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
87574 2007-03-29  Bruno Haible  <bruno@clisp.org>
87576         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
87578 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
87580         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
87581         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
87583 2007-03-29  Eric Blake  <ebb9@byu.net>
87585         * lib/acl-internal.h: Remove redundant include.
87586         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
87587         Cygwin when a file is locked.
87589 2007-03-29  Bruno Haible  <bruno@clisp.org>
87591         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
87592         file.
87593         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
87595 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
87597         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
87598         try to remove a parent directory if the child couldn't be removed
87599         (except for the first rmdir, which could fail because the child
87600         doesn't exist).  Problem reported by Jeff Blaine in
87601         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
87603 2007-03-28  Bruno Haible  <bruno@clisp.org>
87605         * lib/striconveh.c (utf8conv_carefully): New function.
87606         (mem_cd_iconveh_internal): Invoke it.
87608 2007-03-28  Bruno Haible  <bruno@clisp.org>
87610         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
87611         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
87612         input.
87613         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
87614         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
87615         unistr/u8-uctomb.
87617 2007-03-28  Bruno Haible  <bruno@clisp.org>
87619         * modules/unistr/u8-mbtoucr: New file.
87620         * lib/unistr/u8-mbtoucr.c: New file.
87621         * modules/unistr/u16-mbtoucr: New file.
87622         * lib/unistr/u16-mbtoucr.c: New file.
87623         * modules/unistr/u16-mbtoucr: New file.
87624         * lib/unistr/u16-mbtoucr.c: New file.
87625         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
87627 2007-03-27  Simon Josefsson  <simon@josefsson.org>
87628             Bruno Haible  <bruno@clisp.org>
87630         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
87631         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
87632         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
87634         * m4/stdio_h.m4: Add stubs for vasprintf too.
87636         * modules/stdio: Support vasprintf in sed command.
87638         * modules/vasprintf: Depend on stdio for prototypes.  Remove
87639         vasprintf.h.  Add stdio module indicator.
87641         * lib/stdio_.h: Declare asprintf and vasprintf, based on
87642         vasprintf.h.
87644         * lib/vasprintf.h: File removed.
87646         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
87647         * lib/vasprintf.c: Ditto.
87648         * lib/xvasprintf.c: Ditto.
87649         * tests/test-vasprintf-posix.c: Ditto.
87650         * tests/test-vasprintf.c: Ditto.
87652 2007-03-27  Bruno Haible  <bruno@clisp.org>
87654         Make vasnprintf multithread-safe.
87655         * lib/vasnprintf.c (decimal_point_char): New function.
87656         (VASNPRINTF): Use it.
87657         Suggested by Simon Josefsson.
87659 2007-03-27  Eric Blake  <ebb9@byu.net>
87661         Support sub-second birthtime on cygwin.
87662         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
87663         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
87664         (get_stat_birthtime): Also work with st_birthtim.
87666 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
87668         * lib/stat-time.h (USE_BIRTHTIME): Remove.
87669         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
87670         (get_stat_birthtime_ns): Do not try to use "spare" fields.
87671         (get_stat_birthtime_ns): Simplify compile-time tests.
87672         (get_stat_birthtime): Change the API to look like
87673         get_stat_mtime etc., except return a negative tv_nsec on error.
87674         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
87675         Don't check for "spare" fields.
87676         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
87677         or for struct stat.st_birthtime, as these tests aren't used.
87678         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
87680 2007-03-27  Bruno Haible  <bruno@clisp.org>
87682         * lib/stat-time.h: Include <sys/stat.h>.
87684 2007-03-27  James Youngman  <jay@gnu.org>
87686         * lib/stat-time.h (get_stat_birthtime): New function for
87687           retrieving st_birthtime as provided by UFS2 (hence *BSD).
87688         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
87689           and its variants.
87690         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
87691         * modules/stat-time-test: New file.
87692         * tests/test-stat-time.c: New test, devised by Bruno Haible.
87694 2007-03-26  Bruno Haible  <bruno@clisp.org>
87696         Better support of signalling NaNs.
87697         * lib/atanl.c: Include isnanl.h.
87698         (atanl): Perform test for NaN at the beginning of the function and
87699         through a call to isnanl.
87700         * lib/cosl.c: Include isnanl.h.
87701         (cosl): Perform test for NaN at the beginning of the function and
87702         through a call to isnanl.
87703         * lib/ldexpl.c: Include isnanl.h.
87704         (ldexpl): Perform test for NaN through a call to isnanl.
87705         * lib/logl.c: Include isnanl.h.
87706         (logl): Perform test for NaN at the beginning of the function and
87707         through a call to isnanl.
87708         * lib/sinl.c: Include isnanl.h.
87709         (sinl): Perform test for NaN at the beginning of the function and
87710         through a call to isnanl.
87711         * lib/sqrtl.c: Include isnanl.h.
87712         (sqrtl): Perform test for NaN at the beginning of the function and
87713         through a call to isnanl.
87714         * lib/tanl.c: Include isnanl.h.
87715         (tanl): Perform test for NaN at the beginning of the function and
87716         through a call to isnanl.
87717         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
87718         * modules/mathl (Depends-on): Add isnanl.
87720 2007-03-26  Eric Blake  <ebb9@byu.net>
87722         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
87723         regression in logic sense of previous patch.
87725 2007-03-26  Bruno Haible  <bruno@clisp.org>
87727         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
87728         unportable shell command "if ! ...".
87729         Reported by Ralf Wildenhues.
87731 2007-03-25  Bruno Haible  <bruno@clisp.org>
87733         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
87734         <sysexits.h> file, and only add EX_CONFIG.
87735         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
87736         absolute file name and whether it is sufficient. Substitute also
87737         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
87738         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
87739         ABSOLUTE_SYSEXITS_H into sysexits.h.
87741 2007-03-25  Bruno Haible  <bruno@clisp.org>
87743         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
87744         hints is NULL.
87746 2007-03-25  Bruno Haible  <bruno@clisp.org>
87748         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
87749         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
87751 2007-03-25  Bruno Haible  <bruno@clisp.org>
87753         * lib/vasnprintf.c: Include langinfo.h.
87754         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
87755         multithread-safe.
87756         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
87757         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
87758         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87759         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87760         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87761         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87762         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87763         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
87764         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87765         Reported by Simon Josefsson.
87767 2007-03-25  Bruno Haible  <bruno@clisp.org>
87769         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
87770         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
87771         * modules/vasnprintf (Depends-on): Add stdint.
87773 2007-03-25  Bruno Haible  <bruno@clisp.org>
87775         * modules/fpieee: New file.
87776         * m4/fpieee.m4: New file.
87777         * modules/isnan-nolibm (Depends-on): Add fpieee.
87778         * modules/isnanl-nolibm (Depends-on): Add fpieee.
87779         * modules/isnanl (Depends-on): Add fpieee.
87781 2007-03-25  Bruno Haible  <bruno@clisp.org>
87783         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
87785 2007-03-25  Bruno Haible  <bruno@clisp.org>
87787         Avoid test failures on IRIX 6.5.
87788         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
87789         (main): Use it.
87790         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
87791         macros.
87792         (main): Use them.
87794 2007-03-25  Bruno Haible  <bruno@clisp.org>
87796         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
87797         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
87798         exists but doesn't work.
87799         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
87800         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
87801         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
87802         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
87803         math.h.
87805 2007-03-25  Bruno Haible  <bruno@clisp.org>
87807         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
87808         returns inf. Needed on IRIX 6.5.
87810 2007-03-25  Bruno Haible  <bruno@clisp.org>
87812         * tests/test-frexpl.c: Include isnanl-nolibm.h.
87813         (main): Use isnanl instead of x != x idiom.
87814         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
87816         * tests/test-frexp.c: Include isnan.h.
87817         (main): Use isnan instead of x != x idiom.
87818         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
87820 2007-03-25  Bruno Haible  <bruno@clisp.org>
87822         * tests/test-frexp.c (NaN): New function/macro.
87823         (main): Use it instead of 0.0 / 0.0.
87824         * tests/test-isnan.c (NaN): New function/macro.
87825         (main): Use it instead of 0.0 / 0.0.
87826         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
87827         (test_function): Use it instead of 0.0 / 0.0.
87828         * tests/test-vasprintf-posix.c (NaN): New function/macro.
87829         (test_function): Use it instead of 0.0 / 0.0.
87830         * tests/test-snprintf-posix.h (NaN): New function/macro.
87831         (test_function): Use it instead of 0.0 / 0.0.
87832         * tests/test-sprintf-posix.h (NaN): New function/macro.
87833         (test_function): Use it instead of 0.0 / 0.0.
87834         * tests/test-fprintf-posix.h (NaN): New function/macro.
87835         (test_function): Use it instead of 0.0 / 0.0.
87836         * tests/test-printf-posix.h (NaN): New function/macro.
87837         (test_function): Use it instead of 0.0 / 0.0.
87839         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
87841 2007-03-25  Bruno Haible  <bruno@clisp.org>
87843         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
87845 2007-03-25  Bruno Haible  <bruno@clisp.org>
87847         * lib/regexec.c (merge_state_with_log): Make static.
87849 2007-03-25  Bruno Haible  <bruno@clisp.org>
87851         * lib/trigl.c (kernel_rem_pio2): Make static.
87853 2007-03-25  Bruno Haible  <bruno@clisp.org>
87855         * lib/sincosl.c (sincosl_table): Make static.
87857 2007-03-25  Bruno Haible  <bruno@clisp.org>
87859         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
87860         if the compiler does not support C99.
87862 2007-03-25  Bruno Haible  <bruno@clisp.org>
87864         * modules/time (Makefile.am): Ensure all rule action lines start with a
87865         tab.
87867 2007-03-24  Bruno Haible  <bruno@clisp.org>
87869         * modules/tsearch-tests: New file.
87870         * tests/test-tsearch.sh: New file.
87871         * tests/test-tsearch.c: New file, mostly copied from glibc.
87873         * modules/search-tests: New file.
87874         * tests/test-search.c: New file.
87876         * modules/search: New file.
87877         * lib/search_.h: New file, incorporating lib/tsearch.h.
87878         * m4/search_h.m4: New file.
87879         * lib/tsearch.h: Remove file.
87880         * lib/tsearch.c: Include search.h instead of tsearch.h.
87881         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
87882         HAVE_TSEARCH.
87883         * modules/tsearch (Files): Remove lib/tsearch.h.
87884         (Depends-on): Add search.
87885         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
87886         (Include): Change tsearch.h into search.h.
87888 2007-03-24  Bruno Haible  <bruno@clisp.org>
87890         * modules/fpucw: New file.
87891         * lib/fpucw.h: New file.
87892         * lib/frexp.c: Include fpucw.h.
87893         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
87894         (FUNC): Use them.
87895         * lib/printf-frexp.c: Include fpucw.h.
87896         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
87897         (FUNC): Use them.
87898         * lib/vasnprintf.c: Include fpucw.h.
87899         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
87900         'long double' calculations.
87901         * tests/test-frexpl.c: Include fpucw.h.
87902         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
87903         * tests/test-printf-frexpl.c: Include fpucw.h.
87904         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
87905         * modules/frexpl (Depends-on): Add fpucw.
87906         * modules/printf-frexpl (Depends-on): Likewise.
87907         * modules/fprintf-posix (Depends-on): Likewise.
87908         * modules/snprintf-posix (Depends-on): Likewise.
87909         * modules/sprintf-posix (Depends-on): Likewise.
87910         * modules/vasnprintf-posix (Depends-on): Likewise.
87911         * modules/vasprintf-posix (Depends-on): Likewise.
87912         * modules/vfprintf-posix (Depends-on): Likewise.
87913         * modules/vsnprintf-posix (Depends-on): Likewise.
87914         * modules/vsprintf-posix (Depends-on): Likewise.
87915         * modules/frexpl-tests (Depends-on): Likewise.
87916         * modules/printf-frexpl-tests (Depends-on): Likewise.
87918 2007-03-24  Bruno Haible  <bruno@clisp.org>
87920         * lib/float+.h: New file.
87921         * lib/isnan.c: Include float+.h.
87922         (SIZE): New macro.
87923         (FUNC): Compare only SIZE bytes of the value.
87924         * lib/vasnprintf.c: Include float+.h.
87925         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
87926         SIZEOF_LDBL or SIZEOF_DBL bytes.
87927         * modules/isnan-nolibm (Files): Add lib/float+.h.
87928         * modules/isnanl-nolibm (Files): Add lib/float+.h.
87929         * modules/isnanl (Files): Add lib/float+.h.
87930         * modules/vasnprintf (Files): Add lib/float+.h.
87932 2007-03-24  Bruno Haible  <bruno@clisp.org>
87934         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
87935         include isnanl-nolibm.h.
87937 2007-03-24  Bruno Haible  <bruno@clisp.org>
87939         * tests/test-read-file.c (main): Don't produce spurious output for
87940         expected situations. Make the test fail if it encountered unexpected
87941         results.
87943 2007-03-24  Bruno Haible  <bruno@clisp.org>
87945         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
87946         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
87948 2007-03-24  Bruno Haible  <bruno@clisp.org>
87950         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
87952 2007-03-24  Bruno Haible  <bruno@clisp.org>
87954         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
87955         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
87957         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
87958         * modules/utf8-ucs4: Turn into a symbolic link to module
87959         unistr/u8-mbtouc.
87961         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
87962         utf8-ucs4-unsafe.
87963         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
87964         unistr/u8-mbtouc-unsafe.
87966         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
87967         * modules/utf16-ucs4: Turn into a symbolic link to module
87968         unistr/u16-mbtouc.
87970         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
87971         utf16-ucs4-unsafe.
87972         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
87973         unistr/u16-mbtouc-unsafe.
87975         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
87976         * modules/ucs4-utf8: Turn into a symbolic link to module
87977         unistr/u8-ubtomb.
87979         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
87980         * modules/ucs4-utf16: Turn into a symbolic link to module
87981         unistr/u16-ubtomb.
87983 2007-03-24  Bruno Haible  <bruno@clisp.org>
87985         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
87986         Enable the function only if HAVE_INLINE.
87987         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
87988         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
87989         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
87990         Enable the function only if HAVE_INLINE.
87991         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
87992         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
87993         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
87994         Enable the function only if HAVE_INLINE.
87995         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
87996         Enable the function only if HAVE_INLINE.
87997         * modules/utf8-ucs4: Update.
87998         * modules/utf8-ucs4-unsafe: Update.
87999         * modules/utf16-ucs4: Update.
88000         * modules/utf16-ucs4-unsafe: Update.
88001         * modules/ucs4-utf8: Update.
88002         * modules/ucs4-utf16: Update.
88004 2007-03-24  Bruno Haible  <bruno@clisp.org>
88006         * lib/utf8-ucs4.h: Remove file.
88007         * lib/utf8-ucs4-unsafe.h: Remove file.
88008         * lib/utf16-ucs4.h: Remove file.
88009         * lib/utf16-ucs4-unsafe.h: Remove file.
88010         * lib/ucs4-utf8.h: Remove file.
88011         * lib/ucs4-utf16.h: Remove file.
88012         * lib/unistr.h: Include their previous contents.
88013         * m4/utf-ucs4.m4: Remove file.
88014         * m4/ucs4-utf.m4: Remove file.
88015         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
88016         (Depends-on): Add unistr/base.
88017         (configure.ac): Remove gl_UTF_UCS4.
88018         (Makefile.am): Update.
88019         (Include): Change to unistr.h.
88020         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
88021         (Depends-on): Add unistr/base.
88022         (configure.ac): Remove gl_UTF_UCS4.
88023         (Makefile.am): Update.
88024         (Include): Change to unistr.h.
88025         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
88026         (Depends-on): Add unistr/base.
88027         (configure.ac): Remove gl_UTF_UCS4.
88028         (Makefile.am): Update.
88029         (Include): Change to unistr.h.
88030         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
88031         (Depends-on): Add unistr/base.
88032         (configure.ac): Remove gl_UTF_UCS4.
88033         (Makefile.am): Update.
88034         (Include): Change to unistr.h.
88035         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
88036         (Depends-on): Add unistr/base.
88037         (configure.ac): Remove gl_UCS4_UTF.
88038         (Makefile.am): Update.
88039         (Include): Change to unistr.h.
88040         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
88041         (Depends-on): Add unistr/base.
88042         (configure.ac): Remove gl_UCS4_UTF.
88043         (Makefile.am): Update.
88044         (Include): Change to unistr.h.
88045         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
88046         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
88047         utf8-ucs4-unsafe.h.
88048         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
88049         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
88050         utf16-ucs4-unsafe.h.
88051         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
88052         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
88053         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
88054         * lib/unistr/u8-strchr.c: Likewise.
88055         * lib/unistr/u8-strrchr.c: Likewise.
88056         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
88057         * lib/unistr/u16-strchr.c: Likewise.
88058         * lib/unistr/u16-strrchr.c: Likewise.
88059         * lib/striconveh.c: Update.
88060         * lib/linebreak.c: Update.
88062 2007-03-24  Bruno Haible  <bruno@clisp.org>
88064         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
88065         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
88067 2007-03-22  Bruno Haible  <bruno@clisp.org>
88069         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
88071 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
88073         * MODULES.html.sh (File system functions): New module write-any-file.
88074         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
88075         * m4/write-any-file.m4: New files.
88077 2007-03-23  Eric Blake  <ebb9@byu.net>
88079         * gnulib-tool: Rearrange space-tab sequences, since some editors
88080         like to eat them.
88082 2007-03-23  Eric Blake  <ebb9@byu.net>
88084         * lib/version-etc.c (version_etc_va): Update license wording to
88085         be more concise.  Recommended by Richard Stallman.
88087 2007-03-22  Bruno Haible  <bruno@clisp.org>
88089         * lib/poll.c (MSG_PEEK): New fallback definition.
88091 2007-03-22  Bruno Haible  <bruno@clisp.org>
88093         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
88094         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
88095         (main): Update.
88096         Fixes a compilation error on BeOS.
88098 2007-03-22  Bruno Haible  <bruno@clisp.org>
88100         * modules/frexpl-tests: New file.
88101         * tests/test-frexpl.c: New file.
88103         * modules/frexpl: New file.
88104         * m4/frexpl.m4: New file.
88105         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
88106         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
88107         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
88108         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
88109         (Depends-on): Add frexpl. Remove isnanl-nolibm.
88110         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
88112 2007-03-22  Bruno Haible  <bruno@clisp.org>
88114         * lib/frexpl.c: Share code with lib/frexp.c.
88115         * modules/mathl (Files): Add lib/frexp.c.
88116         (Depends-on): Add isnanl-nolibm.
88118 2007-03-22  Bruno Haible  <bruno@clisp.org>
88120         * modules/printf-frexp (Files): Add m4/frexp.m4.
88121         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
88122         only if the found frexp function actually works.
88124 2007-03-22  Bruno Haible  <bruno@clisp.org>
88126         * lib/frexp.c: Remove older implementation that uses divisions.
88128 2007-03-21  Bruno Haible  <bruno@clisp.org>
88130         * modules/frexp-tests: New file.
88131         * tests/test-frexp.c: New file.
88133         * modules/frexp: New file.
88134         * lib/frexp.c: New file.
88135         * m4/frexp.m4: New file.
88136         * lib/math_.h (frexp): New declaration.
88137         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
88138         REPLACE_FREXP.
88139         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
88141 2007-03-21  Bruno Haible  <bruno@clisp.org>
88143         * modules/isnanl-tests: New file.
88144         * tests/test-isnanl.c: New file.
88146         * modules/isnanl: New file.
88147         * lib/isnanl.h: New file.
88148         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
88149         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
88150         gl_FUNC_ISNANL_WORKS.
88151         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
88152         New macros.
88154 2007-03-21  Bruno Haible  <bruno@clisp.org>
88156         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
88157         lib/isnanl.h.
88158         (Include): Update.
88159         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
88160         * lib/vasnprintf.c: Update.
88161         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
88162         tests/test-isnanl.h, remove tests/test-isnanl.c.
88163         (Makefile.am): Update.
88164         * tests/test-isnanl-nolibm.c: New file.
88165         * tests/test-isnanl.h: New file.
88166         * tests/test-isnanl.c: Remove file.
88168 2007-03-21  Jim Meyering  <jim@meyering.net>
88170         When trying to open ".", treat ESTALE like EACCES.
88171         * lib/savewd.c (savewd_save): Resort to forking not just upon
88172         failure with EACCES, but also when errno is ESTALE.
88174 2007-03-20  Bruno Haible  <bruno@clisp.org>
88176         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
88177         Needed on AIX 5.1. Reported by Matthew Woehlke.
88179 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
88181         Suggestions by Bruno Haible:
88182         * lib/acl-internal.h: Include "gettext.h" rather than rolling
88183         our own.
88184         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
88185         * modules/acl (Depends-on): Add gettext.
88187 2007-03-19  Bruno Haible  <bruno@clisp.org>
88189         * modules/iconvme: Remove file.
88190         * lib/iconvme.h: Remove file.
88191         * lib/iconvme.c: Remove file.
88192         * m4/iconvme.m4: Remove file.
88194 2007-03-19  Bruno Haible  <bruno@clisp.org>
88196         * doc/relocatable-maint.texi: Break long shell script line.
88197         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
88199 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
88201         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
88202         handle file_has_acl.
88203         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
88204         * lib/acl.c: Move header inclusions and related macro defns into
88205         lib/acl-internal.h.
88206         (S_ISLNK): Remove defn, since that's now done for us.
88207         (file_has_acl): Move to lib/file-has-acl.c.
88208         Call acl_trivial if available.  This is the crucial part of the fix.
88209         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
88210         shared within the library.  Rewrite a bit, partly to make it compatible
88211         with the GNU coding style.
88212         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
88213         Remove unnecessary double-quotes.
88214         Don't test for acl_to_text; the build will catch that.
88215         Replace acl_entries if it doesn't exist and it is needed.
88216         Check for -lsec and acl_trivial (as used on Solaris 10).
88217         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
88218         lib/file-has-acl.c.
88219         (Depends-on): Add sys_stat, for S_ISLNK.
88221 2007-03-19  Ben Pfaff  <blp@gnu.org>
88223         * doc/gnulib.texi: Fix typos.
88224         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
88226 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
88228         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
88229         If size is zero here, buf must be zero.
88231 2007-03-19  Simon Josefsson  <simon@josefsson.org>
88233         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
88234         <bruno@clisp.org>.
88236 2007-03-18  Bruno Haible  <bruno@clisp.org>
88238         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
88239         Suggested by Eric Blake.
88241 2007-03-18  Ben Pfaff  <blp@gnu.org>
88243         * doc/relocatable.texi: Recommend using as prefix a directory
88244         that does not exist and will never be created.  Based on
88245         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
88246         and others.
88248 2007-03-17  Bruno Haible  <bruno@clisp.org>
88250         * lib/fchownat.c: Include lchown.h.
88252 2007-03-17  Bruno Haible  <bruno@clisp.org>
88254         Fix endless loop when the given allocated size was > INT_MAX.
88255         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
88256         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
88257         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
88258         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
88259         * lib/sprintf.c (sprintf): Likewise.
88261 2007-03-17  Bruno Haible  <bruno@clisp.org>
88263         * tests/test-argp-2.sh (func_compare): Output a context diff.
88265 2007-03-17  Bruno Haible  <bruno@clisp.org>
88267         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
88268         locale's decimal-point character.
88270 2007-03-17  Bruno Haible  <bruno@clisp.org>
88272         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
88273         before comparing it. Needed because on some platforms (e.g. x86) a
88274         'long double' occupies less bytes than sizeof (long double).
88276 2007-03-17  Bruno Haible  <bruno@clisp.org>
88278         * tests/test-crc.c (main): Make printf statements 64-bit clean.
88279         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
88280         * tests/test-getaddrinfo.c (simple): Likewise.
88281         * tests/test-read-file.c (main): Likewise.
88283 2007-03-17  Bruno Haible  <bruno@clisp.org>
88285         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
88287 2007-03-17  Bruno Haible  <bruno@clisp.org>
88289         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
88290         unused variable.
88292 2007-03-17  Bruno Haible  <bruno@clisp.org>
88294         * tests/test-c-strcasecmp.c: Include c-strcase.h.
88295         * tests/test-c-strncasecmp.c: Likewise.
88297 2007-03-17  Bruno Haible  <bruno@clisp.org>
88299         * modules/stdlib (Depends-on): Add unistd.
88300         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
88301         Needed for MacOS X 10.3.
88303 2007-03-17  Bruno Haible  <bruno@clisp.org>
88305         * lib/unistr/u-strdup.h: Include <stdlib.h>.
88307 2007-03-17  Bruno Haible  <bruno@clisp.org>
88309         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
88311 2007-03-17  Bruno Haible  <bruno@clisp.org>
88313         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
88314         to reflect files copied from gnulib (with or without modifications).
88315         Suggested by Jim Meyering.
88317 2007-03-17  Eric Blake  <ebb9@byu.net>
88319         * NEWS: Document stdlib change from 2007-02-18.
88321 2007-03-17  Jim Meyering  <jim@meyering.net>
88323         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
88324         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
88325         someone uses a name containing shell meta-characters.
88326         Reported by Alfred M. Szmidt.
88328         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
88330 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
88332         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
88333         and copy gettext configuration files only if configure.ac contains
88334         a use of AM_GNU_GETTEXT_VERSION.
88336 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
88338         * build-aux/bootstrap (gnulib_name): New variable.
88339         (gnulib_tool_options): Use it.
88341 2007-03-13  Simon Josefsson  <simon@josefsson.org>
88343         * tests/test-des.c: Use new namespace.
88345 2007-03-15  Bruno Haible  <bruno@clisp.org>
88347         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
88348         Reported by James Youngman <jay@gnu.org>.
88350 2007-03-15  Bruno Haible  <bruno@clisp.org>
88352         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
88353         declared prototype. Needed with cc on OSF/1 5.1.
88355 2007-03-15  Bruno Haible  <bruno@clisp.org>
88357         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
88358         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
88359         (struct gl_list_implementation): Add dispose_fn argument to the
88360         'create_empty', 'create' methods.
88361         (struct gl_list_impl_base): Add field 'dispose_fn'.
88362         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
88363         argument.
88364         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
88365         dispose_fn argument.
88366         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
88367         dispose_fn on the dropped values.
88368         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
88369         dispose_fn argument.
88370         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
88371         dropped values.
88372         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
88373         (gl_tree_remove_node): Call dispose_fn on the dropped value.
88374         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
88375         (gl_tree_remove_node): Call dispose_fn on the dropped value.
88376         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
88377         argument.
88378         (gl_tree_list_free): Call dispose_fn on the dropped values.
88379         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
88380         the dropped values.
88381         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
88382         Add dispose_fn argument.
88383         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
88384         Call dispose_fn on the dropped values.
88385         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
88386         Add dispose_fn argument.
88387         (gl_sublist_create): Initialize the 'dispose_fn' field.
88388         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
88389         * tests/test-array_list.c (main): Update.
88390         * tests/test-carray_list.c (main): Update.
88391         * tests/test-avltree_list.c (main): Update.
88392         * tests/test-rbtree_list.c (main): Update.
88393         * tests/test-avltreehash_list.c (main): Update.
88394         * tests/test-rbtreehash_list.c (main): Update.
88395         * tests/test-linked_list.c (main): Update.
88396         * tests/test-linkedhash_list.c (main): Update.
88397         * tests/test-array_oset.c (main): Update.
88399 2007-03-15  Bruno Haible  <bruno@clisp.org>
88401         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
88402         (gl_oset_create_empty): Add dispose_fn argument.
88403         (struct gl_oset_implementation): Add dispose_fn argument to
88404         'create_empty' method.
88405         (struct gl_oset_impl_base): Add dispose_fn field.
88406         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
88407         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
88408         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
88409         values.
88410         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
88411         (gl_tree_oset_free): Call dispose_fn on the dropped values.
88412         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
88413         dropped value.
88414         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
88415         dropped value.
88416         * tests/test-array_oset.c (main): Update.
88417         * tests/test-avltree_oset.c (main): Update.
88418         * tests/test-rbtree_oset.c (main): Update.
88419         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
88421 2007-03-13  Bruno Haible  <bruno@clisp.org>
88423         * tests/test-stdbool.c (i): Update after last patch.
88425 2007-03-12  Bruno Haible  <bruno@clisp.org>
88427         * lib/quotearg.c: Include <wctype.h> early, before the definition of
88428         the iswprint macro. Needed on Solaris 2.5.1.
88430 2007-03-12  Bruno Haible  <bruno@clisp.org>
88432         * tests/test-printf-frexp.c (main): Declare x as volatile.
88434 2007-03-12  Simon Josefsson  <simon@josefsson.org>
88436         * doc/gnulib.texi (Build robot for gnulib): New section.
88438 2007-03-12  Jim Meyering  <jim@meyering.net>
88440         * build-aux/bootstrap: New file.
88441         * build-aux/bootstrap.conf: New file, from coreutils.
88443 2007-03-11  Bruno Haible  <bruno@clisp.org>
88445         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
88447 2007-03-12  Simon Josefsson  <simon@josefsson.org>
88449         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
88450         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
88451         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
88453 2007-03-11  Bruno Haible  <bruno@clisp.org>
88455         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
88456         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
88458 2007-03-11  Bruno Haible  <bruno@clisp.org>
88460         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
88461         formula. Needed for SunPRO C 5.0.
88463 2007-03-11  Bruno Haible  <bruno@clisp.org>
88465         * modules/long-options (Depends-on): Add getopt.
88467 2007-03-11  Bruno Haible  <bruno@clisp.org>
88469         * modules/modechange (Depends-on): Add stdbool.
88471 2007-03-11  Bruno Haible  <bruno@clisp.org>
88473         * modules/i-ring (Depends-on): Add stdbool.
88475 2007-03-11  Bruno Haible  <bruno@clisp.org>
88477         * modules/gc-des (Depends-on): Add stdbool.
88479 2007-03-11  Bruno Haible  <bruno@clisp.org>
88481         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
88483 2007-03-11  Bruno Haible  <bruno@clisp.org>
88485         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
88487 2007-03-11  Bruno Haible  <bruno@clisp.org>
88489         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
88491 2007-03-11  Bruno Haible  <bruno@clisp.org>
88493         * lib/vasnprintf.c (sprintf): Undefine.
88495 2007-03-11  Bruno Haible  <bruno@clisp.org>
88497         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
88498         initializers in SunPRO C and Compaq C compilers.
88500 2007-03-11  Bruno Haible  <bruno@clisp.org>
88502         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
88503         decrementing code ANSI C compliant.
88505 2007-03-11  Bruno Haible  <bruno@clisp.org>
88507         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
88508         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
88510 2007-03-11  Bruno Haible  <bruno@clisp.org>
88512         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
88513         <stdbool.h> substitute doesn't pass.
88515 2007-03-11  Bruno Haible  <bruno@clisp.org>
88517         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
88519 2007-03-11  Bruno Haible  <bruno@clisp.org>
88521         * gnulib-tool (func_create_megatestdir): Create also an autobuild
88522         script, for submission to autobuild.josefsson.org.
88524 2007-03-10  Bruno Haible  <bruno@clisp.org>
88526         * modules/canonicalize-lgpl-tests: New file.
88527         * tests/test-canonicalize-lgpl.sh: New file.
88528         * tests/test-canonicalize-lgpl.c: New file.
88530         * modules/c-strcase-tests: New file.
88531         * tests/test-c-strcase.sh: New file.
88532         * tests/test-c-strcasecmp.c: New file.
88533         * tests/test-c-strncasecmp.c: New file.
88535         * modules/atexit-tests: New file.
88536         * tests/test-atexit.sh: New file.
88537         * tests/test-atexit.c: New file.
88539 2007-03-10  Bruno Haible  <bruno@clisp.org>
88541         * tests/test-binary-io.sh: Use temporary filenames that are not so
88542         likely to clash with those of other tests (in a parallel make).
88543         * tests/test-binary-io.c: Likewise.
88545 2007-03-10  Bruno Haible  <bruno@clisp.org>
88547         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
88548         fallback; use #error instead.
88549         Suggested by Simon Josefsson.
88551 2007-03-10  Bruno Haible  <bruno@clisp.org>
88553         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
88554         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
88555         first and the last.
88557 2007-03-10  Bruno Haible  <bruno@clisp.org>
88559         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
88561 2007-03-10  Bruno Haible  <bruno@clisp.org>
88563         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
88564         "make distcheck".
88565         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
88566         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
88567         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
88569 2007-03-10  Bruno Haible  <bruno@clisp.org>
88571         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
88572         variable.
88573         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
88574         variable.
88576 2007-03-09  Eric Blake  <ebb9@byu.net>
88577         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
88579         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
88580         types are not being provided by gnulib.
88581         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
88582         types are supported.
88584 2007-03-10  Bruno Haible  <bruno@clisp.org>
88586         * lib/stdio_.h (__attribute__): New macro.
88587         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
88588         vsprintf): Specify __attribute__ __format__ for GCC.
88589         Suggested by Eric Blake.
88591 2007-03-09  Bruno Haible  <bruno@clisp.org>
88593         * modules/printf-posix-tests: New file.
88594         * tests/test-printf-posix.sh: New file.
88595         * tests/test-printf-posix.c: New file.
88597         * modules/printf-posix: New file.
88598         * lib/printf.c: New file.
88599         * m4/printf-posix-rpl.m4: New file.
88600         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
88601         REPLACE_PRINTF.
88602         * lib/stdio_.h (printf): New declaration.
88603         (format, __format__, ____printf____, ____scanf____, ____strftime____,
88604         ____strfmon____): New macros.
88605         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
88606         REPLACE_PRINTF.
88608 2007-03-09  Bruno Haible  <bruno@clisp.org>
88610         * tests/test-vasnprintf-posix2.sh: New file.
88611         * tests/test-vasnprintf-posix2.c: New file.
88612         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
88613         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
88614         (Makefile.am): Activate test-vasnprintf-posix2.sh.
88616         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
88617         a locale dependent decimal point, rather than always '.'.
88619 2007-03-09  Eric Blake  <ebb9@byu.net>
88621         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
88622         spite of platforms like Tandem/NSK that define it to -1.
88624 2007-03-08  Bruno Haible  <bruno@clisp.org>
88626         * modules/vprintf-posix-tests: New file.
88627         * tests/test-vprintf-posix.sh: New file.
88628         * tests/test-vprintf-posix.c: New file.
88629         * tests/test-printf-posix.h: New file.
88631         * modules/vprintf-posix: New file.
88632         * lib/vprintf.c: New file.
88633         * m4/vprintf-posix.m4: New file.
88634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
88635         REPLACE_VPRINTF.
88636         * lib/stdio_.h (vprintf): New declaration.
88637         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
88638         REPLACE_VPRINTF.
88640 2007-03-08  Bruno Haible  <bruno@clisp.org>
88642         * modules/fprintf-posix-tests: New file.
88643         * tests/test-fprintf-posix.sh: New file.
88644         * tests/test-fprintf-posix.c: New file.
88646         * modules/fprintf-posix: New file.
88647         * lib/fprintf.c: New file.
88648         * m4/fprintf-posix.m4: New file.
88649         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
88650         REPLACE_FPRINTF.
88651         * lib/stdio_.h (fprintf): New declaration.
88652         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
88653         REPLACE_FPRINTF.
88655 2007-03-08  Bruno Haible  <bruno@clisp.org>
88657         * modules/vfprintf-posix-tests: New file.
88658         * tests/test-vfprintf-posix.sh: New file.
88659         * tests/test-vfprintf-posix.c: New file.
88660         * tests/test-fprintf-posix.h: New file.
88661         * tests/test-fprintf-posix.out: New file.
88663         * modules/vfprintf-posix: New file.
88664         * lib/vfprintf.c: New file.
88665         * m4/vfprintf-posix.m4: New file.
88666         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
88667         REPLACE_VFPRINTF.
88668         * lib/stdio_.h (vfprintf): New declaration.
88669         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
88670         REPLACE_VFPRINTF.
88672 2007-03-08  Bruno Haible  <bruno@clisp.org>
88674         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
88676 2007-03-08  Bruno Haible  <bruno@clisp.org>
88678         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
88679         instead of 'expr' invocations.
88680         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
88681         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
88682         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
88683         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88684         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
88685         Suggested by Paul Eggert.
88687 2007-03-08  Bruno Haible  <bruno@clisp.org>
88689         * modules/fseterr-tests: New file.
88690         * tests/test-fseterr.c: New file.
88692         * modules/fseterr: New file.
88693         * lib/fseterr.h: New file.
88694         * lib/fseterr.c: New file.
88696 2007-03-08  Bruno Haible  <bruno@clisp.org>
88698         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
88699         * lib/getopt_.h: Likewise.
88700         * lib/mbswidth.h: Likewise.
88701         * lib/setenv.h: Likewise.
88702         * lib/vasnprintf.h: Likewise.
88703         * lib/vasprintf.h: Likewise.
88704         * lib/verror.h: Likewise.
88705         * lib/xsetenv.h: Likewise.
88706         * lib/xvasprintf.h: Likewise.
88708 2007-03-08  Jim Meyering  <jim@meyering.net>
88710         * users.txt: Add parted.
88712         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
88714 2007-03-07  Bruno Haible  <bruno@clisp.org>
88716         * m4/printf.m4: Make the shell script snippets copy&pastable.
88718 2007-03-02  Bruno Haible  <bruno@clisp.org>
88720         * lib/netinet_in_.h: New file.
88721         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
88722         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
88723         * modules/netinet_in (Files): Add lib/netinet_in_.h.
88724         (Depends-on): Add absolute-header.
88725         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
88726         into netinet/in.h.
88728 2007-03-03  Bruno Haible  <bruno@clisp.org>
88730         * lib/sys_select_.h: New file.
88731         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
88732         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
88733         * modules/sys_select (Files): Add lib/sys_select_.h.
88734         (Depends-on): Add absolute-header.
88735         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
88736         into sys/select.h.
88738 2007-03-02  Bruno Haible  <bruno@clisp.org>
88740         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
88741         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
88742         values.
88743         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
88744         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
88745         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
88746         * modules/sys_socket (Depends-on): Add absolute-header.
88747         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
88748         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
88749         (Include): Remove requirement of inclusion of <sys/types.h>.
88751 2007-03-02  Bruno Haible  <bruno@clisp.org>
88753         * lib/byteswap_.h (bswap_32): Fix formula.
88755 2007-03-06  Bruno Haible  <bruno@clisp.org>
88757         * modules/sprintf-posix-tests: New file.
88758         * tests/test-sprintf-posix.c: New file.
88760         * modules/sprintf-posix: New file.
88761         * lib/sprintf.c: New file.
88762         * m4/sprintf-posix.m4: New file.
88763         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
88764         REPLACE_SPRINTF.
88765         * lib/stdio_.h (sprintf): New declaration.
88766         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
88767         REPLACE_SPRINTF.
88769 2007-03-06  Bruno Haible  <bruno@clisp.org>
88771         * modules/vsprintf-posix-tests: New file.
88772         * tests/test-vsprintf-posix.c: New file.
88773         * tests/test-sprintf-posix.h: New file.
88775         * modules/vsprintf-posix: New file.
88776         * lib/vsprintf.c: New file.
88777         * m4/vsprintf-posix.m4: New file.
88778         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
88779         REPLACE_VSPRINTF.
88780         * lib/stdio_.h (vsprintf): New declaration.
88781         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
88782         REPLACE_VSPRINTF.
88784 2007-03-06  Bruno Haible  <bruno@clisp.org>
88786         * modules/vsnprintf (Depend-on): Remove minmax.
88788 2007-03-06  Bruno Haible  <bruno@clisp.org>
88790         * modules/snprintf-posix-tests: New file.
88791         * tests/test-snprintf-posix.c: New file.
88793         * modules/snprintf-posix: New file.
88794         * m4/snprintf-posix.m4: New file.
88795         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
88796         gl_FUNC_SNPRINTF.
88797         (gl_FUNC_SNPRINTF): Invoke it.
88798         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
88799         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
88800         is set.
88801         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
88803 2007-03-06  Bruno Haible  <bruno@clisp.org>
88805         * modules/vsnprintf-posix-tests: New file.
88806         * tests/test-vsnprintf-posix.c: New file.
88807         * tests/test-snprintf-posix.h: New file.
88809         * modules/vsnprintf-posix: New file.
88810         * m4/vsnprintf-posix.m4: New file.
88811         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
88812         gl_FUNC_VSNPRINTF.
88813         (gl_FUNC_VSNPRINTF): Invoke it.
88814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
88815         * lib/stdio_.h (vsnprintf): Define as a replacement if
88816         REPLACE_VSNPRINTF is set.
88817         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
88819 2007-03-06  Bruno Haible  <bruno@clisp.org>
88821         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
88822         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
88824 2007-03-06  Bruno Haible  <bruno@clisp.org>
88826         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
88827         (asinl): Declare also if HAVE_DECL_ASINL is set.
88828         (atanl): Declare also if HAVE_DECL_ATANL is set.
88829         (ceill): Declare also if HAVE_DECL_CEILL is set.
88830         (cosl): Declare also if HAVE_DECL_COSL is set.
88831         (expl): Declare also if HAVE_DECL_EXPL is set.
88832         (floorl): Declare also if HAVE_DECL_FLOORL is set.
88833         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
88834         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
88835         (logl): Declare also if HAVE_DECL_LOGL is set.
88836         (sinl): Declare also if HAVE_DECL_SINL is set.
88837         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
88838         (tanl): Declare also if HAVE_DECL_TANL is set.
88839         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
88840         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
88841         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
88842         declaration of frexpl, ldexpl.
88843         * modules/printf-frexpl (Depends-on): Add math.
88844         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
88846 2007-03-05  Bruno Haible  <bruno@clisp.org>
88848         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
88849         frexpl and ldexpl are declared.
88850         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
88852 2007-03-05  Bruno Haible  <bruno@clisp.org>
88854         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
88855         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
88857 2007-03-05  Bruno Haible  <bruno@clisp.org>
88859         * lib/stdio_.h: Include <stddef.h>.
88861 2007-03-05  Bruno Haible  <bruno@clisp.org>
88863         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
88865 2007-03-05  Bruno Haible  <bruno@clisp.org>
88867         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
88868         NetBSD 4, from Ralf Wildenhues.
88870 2007-03-04  Bruno Haible  <bruno@clisp.org>
88872         * lib/vasprintf.h: Update #if logic for the case when the functions
88873         exist but are overridden.
88875 2007-03-04  Bruno Haible  <bruno@clisp.org>
88877         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
88878         implementations: glibc-2.4 and MacOS X 10.3.
88879         * tests/test-vasnprintf-posix.c (test_function): Test also the case
88880         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
88881         * tests/test-vasprintf-posix.c (test_function): Likewise.
88883 2007-03-04  Bruno Haible  <bruno@clisp.org>
88885         * modules/vasprintf-posix-tests: New file.
88886         * tests/test-vasprintf-posix.c: New file.
88888         * modules/vasprintf-posix: New file.
88889         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
88890         defined.
88891         * m4/vasprintf-posix.m4: New file.
88892         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
88893         gl_FUNC_VASPRINTF.
88894         (gl_FUNC_VASPRINTF): Invoke it.
88895         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
88896         here.
88897         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
88899 2007-03-04  Bruno Haible  <bruno@clisp.org>
88901         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
88902         REPLACE_GETTIMEOFDAY.
88903         * modules/sys_time (Makefile.am): Likewise.
88904         * m4/sys_time_h.m4: Likewise.
88905         * m4/gettimeofday.m4: Likewise.
88907 2007-03-04  Bruno Haible  <bruno@clisp.org>
88909         * modules/vasnprintf-posix-tests: New file.
88910         * tests/test-vasnprintf-posix.c: New file.
88912         * modules/vasnprintf-posix: New file.
88913         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
88914         printf-frexpl.h.
88915         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
88916         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
88917         REPLACE_VASNPRINTF is defined.
88918         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
88919         gl_FUNC_VASNPRINTF.
88920         (gl_FUNC_VASNPRINTF): Invoke it.
88921         * m4/vasnprintf-posix.m4: New file.
88922         * m4/printf.m4: New file.
88924 2007-03-04  Bruno Haible  <bruno@clisp.org>
88926         Compile progreloc.c only if --enable-relocatable is specified.
88927         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
88928         if --enable-relocatable was specified.
88929         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
88930         lib_SOURCES.
88932 2007-03-04  Jim Meyering  <jim@meyering.net>
88934         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
88935         Use it consistently, rather than enumerating errno constants.
88937 2007-03-04  Bruno Haible  <bruno@clisp.org>
88939         * modules/xvasprintf-tests: New file.
88940         * tests/test-xvasprintf.c: New file.
88942         * modules/vasprintf-tests: New file.
88943         * tests/test-vasprintf.c: New file.
88945         * modules/vasnprintf-tests: New file.
88946         * tests/test-vasnprintf.c: New file.
88948         * modules/vsnprintf-tests: New file.
88949         * tests/test-vsnprintf.c: New file.
88951         * modules/snprintf-tests: New file.
88952         * tests/test-snprintf.c: New file.
88954 2007-03-04  Bruno Haible  <bruno@clisp.org>
88956         Compile relocatable.c only if --enable-relocatable is specified.
88957         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
88958         gl_RELOCATABLE_LIBRARY.
88959         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
88960         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
88961         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
88962         gl_RELOCATABLE_LIBRARY.
88963         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
88964         (Makefile.am): Remove lib_SOURCES.
88965         * modules/relocatable-lib-lgpl (configure.ac): Invoke
88966         gl_RELOCATABLE_LIBRARY.
88967         (Makefile.am): Remove lib_SOURCES.
88968         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
88969         always.
88970         * modules/relocatable-prog-wrapper (configure.ac): Invoke
88971         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
88973 2007-03-04  Bruno Haible  <bruno@clisp.org>
88975         * modules/argmatch-tests: New file.
88976         * tests/test-argmatch.c: New file.
88978         * tests/test-allocsa.c (main): Halve the number of loop runs.
88980         * modules/alloca-opt-tests: New file.
88981         * tests/test-alloca-opt.c: New file.
88983 2007-03-04  Jim Meyering  <jim@meyering.net>
88985         Work around difference between Linux ACLs and Solaris 10 ZFS.
88986         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
88987         for EINVAL.
88989 2007-03-03  Bruno Haible  <bruno@clisp.org>
88991         * modules/relocatable-prog (Depends-on): Add back progreloc's
88992         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
88994 2007-03-03  Bruno Haible  <bruno@clisp.org>
88996         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
88997         * modules/relocatable-lib: New file.
88999 2007-03-03  Bruno Haible  <bruno@clisp.org>
89001         * modules/relocatable-prog: Renamed from modules/relocatable.
89002         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
89004 2007-03-03  Bruno Haible  <bruno@clisp.org>
89006         * modules/relocatable-script (Files): Add doc/relocatable.texi,
89007         m4/relocatable-lib.m4.
89008         (Depends-on): Remove 'relocatable'.
89009         (configure.ac): Add gl_RELOCATABLE_NOP.
89011 2007-03-03  Bruno Haible  <bruno@clisp.org>
89013         * modules/relocatable-prog-wrapper: New file.
89014         * modules/relocatable (Depends-on): Add it. Remove all other
89015         dependencies except progname.
89016         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
89018         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
89019         (gl_FUNC_STRERROR): Nop.
89020         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
89022         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
89023         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
89025         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
89026         (gl_FUNC_READLINK): Update.
89028         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
89030 2007-03-03  Bruno Haible  <bruno@clisp.org>
89032         * lib/xreadlink.c: Include <unistd.h> unconditionally.
89033         * modules/xreadlink (Depends-on): Add unistd.
89034         * modules/xreadlink-with-size (Depends-on): Likewise.
89036 2007-03-03  Bruno Haible  <bruno@clisp.org>
89038         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
89039         extracted from gt_FUNC_SETENV.
89040         (gt_FUNC_SETENV): Remove macro.
89041         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
89042         remove gt_FUNC_SETENV.
89044 2007-03-03  Bruno Haible  <bruno@clisp.org>
89046         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
89047         ENABLE_RELOCATABLE here.
89048         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
89050 2007-03-03  Bruno Haible  <bruno@clisp.org>
89052         * modules/rbtreehash-list-tests (Depends-on): Add progname.
89053         * tests/test-rbtreehash_list.c: Include progname.h.
89054         (main): Call set_program_name.
89056         * modules/rbtree-oset-tests (Depends-on): Add progname.
89057         * tests/test-rbtree_oset.c: Include progname.h.
89058         (main): Call set_program_name.
89060         * modules/rbtree-list-tests (Depends-on): Add progname.
89061         * tests/test-rbtree_list.c: Include progname.h.
89062         (main): Call set_program_name.
89064         * modules/linked-list-tests (Depends-on): Add progname.
89065         * tests/test-linked_list.c: Include progname.h.
89066         (main): Call set_program_name.
89068 2007-03-03  Bruno Haible  <bruno@clisp.org>
89070         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
89071         All uses of __restrict changed to _Restrict_.
89072         * lib/glob_.h (__restrict): Remove macro.
89074 2007-03-02  Bruno Haible  <bruno@clisp.org>
89076         * modules/gettext (configure.ac): Require gettext infrastructure
89077         from version 0.16.1.
89079 2007-03-02  Bruno Haible  <bruno@clisp.org>
89081         * modules/linkedhash-list-tests (Depends-on): Add progname.
89082         * tests/test-linkedhash_list.c: Include progname.h.
89083         (main): Call set_program_name.
89085         * modules/carray-list-tests (Depends-on): Add progname.
89086         * tests/test-carray_list.c: Include progname.h.
89087         (main): Call set_program_name.
89089         * modules/avltreehash-list-tests (Depends-on): Add progname.
89090         * tests/test-avltreehash_list.c: Include progname.h.
89091         (main): Call set_program_name.
89093         * modules/avltree-oset-tests (Depends-on): Add progname.
89094         * tests/test-avltree_oset.c: Include progname.h.
89095         (main): Call set_program_name.
89097         * modules/avltree-list-tests (Depends-on): Add progname.
89098         * tests/test-avltree_list.c: Include progname.h.
89099         (main): Call set_program_name.
89101         * modules/array-oset-tests (Depends-on): Add progname.
89102         * tests/test-array_oset.c: Include progname.h.
89103         (main): Call set_program_name.
89105         * modules/array-list-tests (Depends-on): Add progname.
89106         * tests/test-array_list.c: Include progname.h.
89107         (main): Call set_program_name.
89109         * modules/argp-tests (Depends-on): Add progname.
89110         * tests/test-argp.c: Include argp.h first. Include progname.h.
89111         (main): Call set_program_name.
89113 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
89115         * doc/gnulib-tool.texi (Initial import): Reword description of
89116         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
89117         limited effect even if defined after the first system include.
89119 2007-03-01  Bruno Haible  <bruno@clisp.org>
89121         * build-aux/config.libpath: Update to libtool-1.5.22.
89122         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
89124 2007-03-01  Bruno Haible  <bruno@clisp.org>
89126         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
89127         foo_CFLAGS.
89128         Reported by Ralf Wildenhues.
89130 2007-03-01  Bruno Haible  <bruno@clisp.org>
89132         * build-aux/install-reloc: Remove object files left over by some
89133         compilers.
89134         Reported by Ralf Wildenhues.
89136 2007-03-01  Bruno Haible  <bruno@clisp.org>
89138         * build-aux/install-reloc: Break long lines.
89140 2007-03-01  Bruno Haible  <bruno@clisp.org>
89142         * doc/relocatable.texi: Document that it may not work on OpenBSD.
89143         Reported by Ralf Wildenhues.
89145 2007-03-01  Bruno Haible  <bruno@clisp.org>
89147         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
89148         include ordering constraints.
89150 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
89152         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
89153         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
89154         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
89155         as another example.
89156         * lib/time_.h: Fix misspelling.
89157         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
89158         Require gl_HEADER_TIME_H_DEFAULTS.
89159         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
89160         * m4/time_r.m4 (gl_TIME_R): Likewise.
89161         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
89163 2007-03-01  Bruno Haible  <bruno@clisp.org>
89165         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
89166         * m4/utimens.m4 (gl_UTIMENS): Likewise.
89168 2007-03-01  Jim Meyering  <jim@meyering.net>
89170         * modules/xreadlink (Maintainer): Add my name.
89171         * modules/xreadlink-with-size (Depends-on): Alphabetize.
89173 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
89174             Bruno Haible  <bruno@clisp.org>
89176         * build-aux/install-reloc: Compile also c-ctype.c.
89177         * build-aux/relocatable.sh.in: New file.
89178         * doc/relocatable.texi: New file.
89179         * doc/relocatable-maint.texi: New file.
89180         * doc/gnulib.texi: Include relocatable-maint.texi.
89181         * lib/progreloc.c: Include unistd.h unconditionally.
89182         * lib/relocwrapper.c: Include unistd.h unconditionally.
89183         Include c-ctype.h.
89184         (add_dotbin): Use c_tolower.
89185         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
89186         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
89187         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
89188         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
89189         to m4/relocatable-lib.m4.
89190         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
89191         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
89192         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
89193         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
89194         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
89195         * modules/relocatable: New file.
89196         * modules/relocatable-lib: New file.
89197         * modules/relocatable-script: New file.
89199 2007-02-28  Bruno Haible  <bruno@clisp.org>
89201         Import --enable-relocatable infrastructure.
89202         * build-aux/config.libpath: New file, from GNU gettext.
89203         * build-aux/install-reloc: New file, from GNU gettext.
89204         * build-aux/reloc-ldflags: New file, from GNU gettext.
89205         * lib/relocatable.h: New file, from GNU gettext.
89206         * lib/relocatable.c: New file, from GNU gettext.
89207         * lib/relocwrapper.c: New file, from GNU gettext.
89208         * m4/relocatable.m4: New file, from GNU gettext.
89210 2007-02-28  Bruno Haible  <bruno@clisp.org>
89212         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
89214         * modules/xreadlink: New file, from GNU gettext with modifications.
89215         * lib/xreadlink.c: New file, from GNU gettext.
89216         * lib/xreadlink.h: Add comments.
89217         (xreadlink): New declaration.
89219         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
89220         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
89221         lib/xreadlink-with-size.c.
89222         (configure.ac): Remove gl_XREADLINK invocation.
89223         (Makefile.am): Augment lib_SOURCES.
89224         * m4/xreadlink.m4: Remove file.
89225         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
89226         (xreadlink_with_size): Renamed from xreadink.
89227         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
89228         * modules/canonicalize (Depends-on): Replace xreadlink with
89229         xreadlink-with-size.
89230         * lib/canonicalize.c (canonicalize_filename_mode): Update.
89232 2007-02-25  Jim Meyering  <jim@meyering.net>
89234         * build-aux/announce-gen: When complaining about excess arguments,
89235         list them.
89237 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
89239         * README: Document signed integer overflow situation more
89240         accurately.
89242 2007-02-25  Bruno Haible  <bruno@clisp.org>
89244         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
89245         'a' or 'A' conversion.
89247 2007-02-25  Bruno Haible  <bruno@clisp.org>
89249         * modules/filename: Renamed from modules/pathname.
89250         (Files): Replace lib/pathname.h with lib/filename.h. Replace
89251         lib/concatpath.c with lib/concat-filename.c.
89252         (Makefile.am): Update.
89253         (Include): Replace pathname.h with filename.h.
89254         * lib/filename.h: Renamed from lib/pathname.h.
89255         (concatenated_filename): Renamed from concatenated_pathname.
89256         * lib/concat-filename.c: Renamed from lib/concatpath.c.
89257         (concatenated_filename): Renamed from concatenated_pathname.
89258         * lib/findprog.c: Include filename.h instead of pathname.h.
89259         (find_in_path): Update.
89260         * lib/javacomp.c: Include filename.h instead of pathname.h.
89261         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
89262         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
89263         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
89264         is_oldgcj_14_13_usable, is_javac_usable): Update.
89265         * lib/javaexec.c: Include filename.h instead of pathname.h.
89266         (execute_java_class): Update.
89267         * modules/findprog: Update.
89268         * modules/javacomp: Update.
89269         * modules/javaexec: Update.
89270         * MODULES.html.sh (File system functions): Add 'filename', remove
89271         'pathname'.
89273 2007-02-25  Bruno Haible  <bruno@clisp.org>
89275         * modules/printf-frexpl-tests: New file.
89276         * tests/test-printf-frexpl.c: New file.
89278         * modules/printf-frexpl: New file.
89279         * lib/printf-frexpl.h: New file.
89280         * lib/printf-frexpl.c: New file.
89281         * m4/printf-frexpl.m4: New file.
89283 2007-02-25  Bruno Haible  <bruno@clisp.org>
89285         * modules/printf-frexp-tests: New file.
89286         * tests/test-printf-frexp.c: New file.
89288         * modules/printf-frexp: New file.
89289         * lib/printf-frexp.h: New file.
89290         * lib/printf-frexp.c: New file.
89291         * m4/printf-frexp.m4: New file.
89293 2007-02-25  Bruno Haible  <bruno@clisp.org>
89295         Assume automake >= 1.10 for the tests.
89296         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
89297         * modules/arctwo-tests: Likewise.
89298         * modules/argp-tests: Likewise.
89299         * modules/avltree-list-tests: Likewise.
89300         * modules/avltree-oset-tests: Likewise.
89301         * modules/avltreehash-list-tests: Likewise.
89302         * modules/carray-list-tests: Likewise.
89303         * modules/crc-tests: Likewise.
89304         * modules/des-tests: Likewise.
89305         * modules/gc-arcfour-tests: Likewise.
89306         * modules/gc-arctwo-tests: Likewise.
89307         * modules/gc-des-tests: Likewise.
89308         * modules/gc-hmac-md5-tests: Likewise.
89309         * modules/gc-hmac-sha1-tests: Likewise.
89310         * modules/gc-md2-tests: Likewise.
89311         * modules/gc-md4-tests: Likewise.
89312         * modules/gc-md5-tests: Likewise.
89313         * modules/gc-pbkdf2-sha1-tests: Likewise.
89314         * modules/gc-rijndael-tests: Likewise.
89315         * modules/gc-sha1-tests: Likewise.
89316         * modules/gc-tests: Likewise.
89317         * modules/getaddrinfo-tests: Likewise.
89318         * modules/hmac-md5-tests: Likewise.
89319         * modules/hmac-sha1-tests: Likewise.
89320         * modules/linked-list-tests: Likewise.
89321         * modules/linkedhash-list-tests: Likewise.
89322         * modules/lock-tests: Likewise.
89323         * modules/md2-tests: Likewise.
89324         * modules/md4-tests: Likewise.
89325         * modules/md5-tests: Likewise.
89326         * modules/rbtree-list-tests: Likewise.
89327         * modules/rbtree-oset-tests: Likewise.
89328         * modules/rbtreehash-list-tests: Likewise.
89329         * modules/read-file-tests: Likewise.
89330         * modules/rijndael-tests: Likewise.
89331         * modules/stdint-tests: Likewise.
89332         * modules/tls-tests: Likewise.
89334 2007-02-24  Bruno Haible  <bruno@clisp.org>
89336         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
89337         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
89338         function; instead check whether isnan with a double argument links.
89339         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
89340         function; instead check whether isnan with a 'long double' argument
89341         links.
89342         Reported by Eric Blake <ebb9@byu.net>.
89344 2007-02-24  Bruno Haible  <bruno@clisp.org>
89346         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
89347         defined.
89348         * lib/isnanl.c: Remove all code. Just include isnan.c.
89349         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
89351 2007-02-25  Jim Meyering  <jim@meyering.net>
89353         Avoid conflicting types for 'unsetenv' on FreeBSD.
89354         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
89355         conflicting with FreeBSD's (5.0 and 6.1) function declaration
89356         in stdlib.h.
89358 2007-02-24  Bruno Haible  <bruno@clisp.org>
89360         * modules/isnanl-nolibm-tests: New file.
89361         * tests/test-isnanl.c: New file.
89363         * modules/isnanl-nolibm: New file.
89364         * lib/isnanl.h: New file.
89365         * lib/isnanl.c: New file.
89366         * m4/isnanl.m4: New file.
89368 2007-02-24  Bruno Haible  <bruno@clisp.org>
89370         * modules/isnan-nolibm-tests: New file.
89371         * tests/test-isnan.c: New file.
89373         * modules/isnan-nolibm: New file.
89374         * lib/isnan.h: New file.
89375         * lib/isnan.c: New file.
89376         * m4/isnan.m4: New file.
89378 2007-02-24  Bruno Haible  <bruno@clisp.org>
89380         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
89381         assume that an exponent fits in 20 bits.
89383 2007-02-24  Jim Meyering  <jim@meyering.net>
89385         * m4/regex.m4: Update the description of the configure-time option,
89386         --without-included-regex, to state accurately what the defaults are,
89387         and perhaps to give people an idea why using this option is risky.
89389 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
89391         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
89392         loops on small arguments.  This attempts to avoid the problem
89393         Bruno Haible reported for AIX 4.3.2 in
89394         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
89396 2007-02-23  Bruno Haible  <bruno@clisp.org>
89398         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
89399         Needed for help2man.
89401 2007-02-23  Karl Berry  <karl@gnu.org>
89403         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
89404         exists, foo.h should be cvs-ignored, not committed.
89406 2007-02-23  Eric Blake  <ebb9@byu.net>
89408         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
89409         * lib/stat-time.h (includes): Likewise.
89410         * lib/utimecmp.c (includes): Likewise.
89411         * lib/utimens.h (includes): Likewise.
89412         * lib/getdate.y (includes): Also include "timespec.h" for use
89413         internal to the module.
89414         * modules/utimens (Depends-on): Revert yesterday's patch.
89415         * modules/nanosleep (Depends-on): Add missing dependency.
89417 2007-02-22  Bruno Haible  <bruno@clisp.org>
89419         * lib/glob.c: Don't include getlogin_r.h.
89421 2007-02-22  Jim Meyering  <jim@meyering.net>
89423         * modules/utimens (Depends-on): Add timespec, required for
89424         utimens.h's inclusion of timespec.h.
89426 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
89428         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
89429         long unreadable paths in GNU/Linux.  Problem reported by Andreas
89430         Schwab in
89431         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
89432         I'll try to think of a better way to fix the Solaris problem.
89434         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
89435         like glibc; on Solaris 10, it fails with errno == EINVAL.
89436         POSIX says the behavior is unspecified if the first argument is NULL,
89437         so play it safe and never pass NULL to the system getcwd.
89439 2007-02-21  Jim Meyering  <jim@meyering.net>
89441         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
89442         of gettimeofday.  It would conflict with the one now always
89443         provided via sys_time_.h.  Reported by Matthew Woehlke, as
89444         an IRIX 6.5 build failure.
89446 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
89448         Minor fixups to port to Solaris 10 with Sun C 5.8.
89449         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
89450         * modules/getcwd (Depends-on): Add dirfd.
89451         * lib/putenv.c (putenv): #undef it.
89452         (rpl_putenv): New decl.
89453         (malloc, free): Include <stdlib.h> rather than prototyping separately.
89455 2007-02-20  Bruno Haible  <bruno@clisp.org>
89457         * modules/stdio-tests: New file.
89458         * tests/test-stdio.c: New file.
89460         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
89461         (Depends-on): Add stdio.
89462         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
89463         (Include): Use <stdio.h> instead of vsnprintf.h.
89464         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
89465         HAVE_DECL_VSNPRINTF.
89466         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
89468         * modules/snprintf (Files): Remove lib/snprintf.h.
89469         (Depends-on): Add stdio.
89470         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
89471         (Include): Use <stdio.h> instead of snprintf.h.
89472         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
89473         HAVE_DECL_SNPRINTF.
89474         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
89475         * lib/getaddrinfo.c: Likewise.
89477         * modules/stdio: New file.
89478         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
89479         * lib/snprintf.h: Remove file.
89480         * lib/vsnprintf.h: Remove file.
89481         * lib/.cppi-disable: Remove snprintf.h.
89482         * m4/stdio_h.m4: New file.
89483         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
89485 2007-02-20  Jim Meyering  <jim@meyering.net>
89487         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
89488         used by e.g., mingw.  From Bruno Haible.
89490 2007-02-19  Bruno Haible  <bruno@clisp.org>
89492         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
89493         warnings.
89494         Reported by Ben Pfaff <blp@cs.stanford.edu>.
89496 2007-02-19  Bruno Haible  <bruno@clisp.org>
89498         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
89499         from mingw users.
89501 2007-02-19  Bruno Haible  <bruno@clisp.org>
89503         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
89504         warnings.
89505         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
89507 2007-02-19  Jim Meyering  <jim@meyering.net>
89509         Don't use FD after a successful "fdopendir (fd)".
89510         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
89511         Reset it by calling dirfd on the just-obtained DIR*.
89513         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
89514         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
89516 2007-02-18  Bruno Haible  <bruno@clisp.org>
89518         * lib/readlink.c: Include <unistd.h>.
89519         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
89520         HAVE_READLINK.
89521         * modules/readlink (Depends-on): Add unistd.
89522         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89523         (Include): Add <unistd.h>.
89525         * lib/getlogin_r.h: Remove file.
89526         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
89527         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
89528         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
89529         HAVE_DECL_GETLOGIN_R.
89530         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
89531         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89532         (Include): Use <unistd.h> instead of getlogin_r.h.
89534         * lib/getcwd.h: Remove file.
89535         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
89536         * lib/xgetcwd.c: Likewise.
89537         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
89538         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
89539         * modules/getcwd (Files): Remove lib/getcwd.h.
89540         (Depends-on): Add unistd.
89541         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89542         (Include): Use <unistd.h> instad of getcwd.h.
89544         * lib/ftruncate.c: Include <unistd.h> first.
89545         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
89546         Set HAVE_FTRUNCATE.
89547         * modules/ftruncate (Depends-on): Add unistd.
89548         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89550         * lib/fchdir.c: Include <unistd.h> first.
89551         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
89552         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
89553         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
89554         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89555         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
89557         * lib/dup2.c: Include <unistd.h> first.
89558         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
89559         HAVE_DUP2.
89560         * modules/dup2 (Depends-on): Add unistd.
89561         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89563         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
89564         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
89565         REPLACE_CHOWN. Don't define chown as a macro here.
89566         * modules/chown (Depends-on): Add unistd.
89567         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89569         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
89570         Add definition for GL_LINK_WARNING.
89571         (chown, dup2): New declarations.
89572         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
89573         link warning.
89574         (ftruncate): New declaration.
89575         (getcwd): New declaration, taken from old getcwd.h.
89576         (getlogin_r): New declaration, taken from old getlogin_r.h.
89577         (readlink): New declaration.
89578         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
89579         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
89580         (gl_PREREQ_UNISTD): Remove macro.
89581         (gl_UNISTD_MODULE_INDICATOR): New macro.
89582         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
89583         many new variables. Don't set UNISTD_H.
89584         * modules/unistd (Description): Change.
89585         (Depends-on): Add link-warning.
89586         (configure.ac): Update.
89587         (Makefile.am): Create unistd.h always. Substitute many new variables
89588         into it.
89590 2007-02-18  Bruno Haible  <bruno@clisp.org>
89592         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
89593         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
89594         HAVE_GETSUBOPT.
89595         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
89596         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
89597         * lib/getsubopt.h: Remove file.
89598         * modules/getsubopt (Files): Remove lib/getsubopt.h.
89599         (Depends-on): Add stdlib.
89600         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89601         (Includes): Use <stdlib.h> instead of getsubopt.h.
89602         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
89603         Set HAVE_GETSUBOPT.
89604         * lib/getsubopt.c: Don't include getsubopt.h.
89606 2007-02-18  Bruno Haible  <bruno@clisp.org>
89608         * modules/fchdir (Depends-on): Add dup2.
89610 2007-02-18  Bruno Haible  <bruno@clisp.org>
89612         * lib/stdlib_.h: Handle glibc's special invocation convention
89613         specially.
89615 2007-02-18  Bruno Haible  <bruno@clisp.org>
89617         * modules/stdlib-tests: New file.
89618         * tests/test-stdlib.c: New file.
89620         * modules/mkstemp (Files): Remove lib/mkstemp.h.
89621         (Depends-on): Add stdlib.
89622         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89623         (Includes): Use <stdlib.h> instead of mkstemp.h.
89624         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
89625         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
89626         * lib/mkstemp.c: Don't include mkstemp.h.
89627         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
89628         * lib/stdlib--.h: Don't include mkstemp.h.
89630         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
89631         (Depends-on): Add stdlib.
89632         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89633         (Includes): Use <stdlib.h> instead of mkdtemp.h.
89634         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
89635         HAVE_MKDTEMP.
89636         * lib/mkdtemp.c: Don't include mkdtemp.h.
89637         * lib/clean-temp.c: Don't include mkdtemp.h.
89639         * modules/exit (Files): Remove lib/exit.h.
89640         (Depends-on): Add stdlib.
89641         (Makefile.am): Remove lib_SOURCES.
89642         (Include): Use <stdlib.h> instead of exit.h.
89643         * lib/argmatch.c: Don't include exit.h.
89644         * lib/execute.c: Likewise.
89645         * lib/pagealign_alloc.c: Likewise.
89646         * lib/pipe.c: Likewise.
89647         * lib/wait-process.c: Likewise.
89648         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
89649         * lib/exitfail.c: Likewise.
89650         * lib/savewd.c: Likewise.
89651         * lib/xsetenv.c: Likewise.
89653         * modules/stdlib: New file.
89654         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
89655         and extra comments about mkstemp().
89656         * lib/exit.h: Remove file.
89657         * lib/mkdtemp.h: Remove file.
89658         * lib/mkstemp.h: Remove file.
89659         * m4/stdlib_h.m4: New file.
89660         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
89662 2007-02-18  Bruno Haible  <bruno@clisp.org>
89664         * modules/math-tests: New file.
89665         * tests/test-math.c: New file.
89667         * modules/math: New file.
89668         * modules/mathl (Files): Remove lib/mathl.h.
89669         (Depends-on): Add math.
89670         (Makefile.am): Don't mention mathl.h.
89671         (Include): Use <math.h> instead of mathl.h.
89672         * lib/math_.h: New file.
89673         * lib/mathl.h: Remove file.
89674         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
89675         mathl.h.
89676         * lib/asinl.c: Likewise.
89677         * lib/atanl.c: Likewise.
89678         * lib/ceill.c: Likewise.
89679         * lib/cosl.c: Likewise.
89680         * lib/expl.c: Likewise.
89681         * lib/floorl.c: Likewise.
89682         * lib/frexpl.c: Likewise.
89683         * lib/ldexpl.c: Likewise.
89684         * lib/logl.c: Likewise.
89685         * lib/sincosl.c: Likewise.
89686         * lib/sinl.c: Likewise.
89687         * lib/sqrtl.c: Likewise.
89688         * lib/tanl.c: Likewise.
89689         * lib/trigl.c: Likewise.
89690         * m4/math_h.m4: New file.
89691         * MODULES.html.sh (Mathematics): Add math.
89693 2007-02-17  Bruno Haible  <bruno@clisp.org>
89695         * modules/wctype-tests: New file.
89696         * tests/test-wctype.c: New file.
89698         * modules/wchar-tests: New file.
89699         * tests/test-wchar.c: New file.
89701         * modules/unistd-tests: New file.
89702         * tests/test-unistd.c: New file.
89704         * modules/time-tests: New file.
89705         * tests/test-time.c: New file.
89707         * modules/sysexits-tests: New file.
89708         * tests/test-sysexits.c: New file.
89710         * modules/sys_time-tests: New file.
89711         * tests/test-sys_time.c: New file.
89713         * modules/sys_stat-tests: New file.
89714         * tests/test-sys_stat.c: New file.
89716         * modules/sys_socket-tests: New file.
89717         * tests/test-sys_socket.c: New file.
89719         * modules/sys_select-tests: New file.
89720         * tests/test-sys_select.c: New file.
89722         * modules/string-tests: New file.
89723         * tests/test-string.c: New file.
89725         * modules/stdbool-tests: New file.
89726         * tests/test-stdbool.c: New file.
89728         * modules/netinet_in-tests: New file.
89729         * tests/test-netinet_in.c: New file.
89731         * modules/inttypes-tests: New file.
89732         * tests/test-inttypes.c: New file.
89734         * modules/fcntl-tests: New file.
89735         * tests/test-fcntl.c: New file.
89737         * modules/byteswap-tests: New file.
89738         * tests/test-byteswap.c: New file.
89740         * modules/arpa_inet-tests: New file.
89741         * tests/test-arpa_inet.c: New file.
89743 2007-02-17  Bruno Haible  <bruno@clisp.org>
89745         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
89746         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
89747         if the corresponding module is not enabled. Emit link warnings if
89748         the function is used nevertheless.
89749         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
89750         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
89751         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
89752         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
89753         * modules/inttypes (Depends-on): Add link-warning.
89754         (Makefile.am): Copy the contents of build-aux/link-warning.h into
89755         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
89756         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
89757         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
89758         * modules/imaxdiv (configure.ac): Likewise.
89759         * modules/strtoimax (configure.ac): Likewise.
89760         * modules/strtoumax (configure.ac): Likewise.
89762 2007-02-17  Bruno Haible  <bruno@clisp.org>
89764         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
89765         gl_STRING_MODULE_INDICATOR_DEFAULTS.
89766         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
89767         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
89769 2007-02-17  Bruno Haible  <bruno@clisp.org>
89771         * modules/link-warning: New file.
89772         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
89773         * lib/string_.h (GL_LINK_WARNING): Remove definition.
89774         * modules/string (Depends-on): Add link-warning.
89775         (Makefile.am): Copy the contents of build-aux/link-warning.h into
89776         string.h.
89777         * MODULES.html.sh (Support for building libraries and executables): Add
89778         link-warning.
89780 2007-02-17  Bruno Haible  <bruno@clisp.org>
89782         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
89783         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
89784         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
89785         long lines.
89787 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
89788             Bruno Haible  <bruno@clisp.org>
89790         * modules/tmpfile: New file.
89791         * lib/tmpfile.c: New file.
89792         * m4/tmpfile.m4: New file.
89793         * MODULES.html.sh (func_all_modules): New section "Input/output".
89795 2007-02-15  Bruno Haible  <bruno@clisp.org>
89797         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
89798         (supports_delete_on_close): New function.
89799         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
89801 2007-02-14  Bruno Haible  <bruno@clisp.org>
89803         * modules/mbspcasecmp-tests: New file.
89804         * tests/test-mbspcasecmp.sh: New file.
89805         * tests/test-mbspcasecmp.c: New file.
89807         New module mbspcasecmp.
89808         * modules/mbspcasecmp: New file.
89809         * lib/mbspcasecmp.c: New file.
89810         * lib/string_.h (strncasecmp): Change warning message.
89811         (mbspcasecmp): New declaration.
89812         * m4/mbspcasecmp.m4: New file.
89813         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
89814         GNULIB_MBSPCASECMP.
89815         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
89816         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
89818 2007-02-14  Bruno Haible  <bruno@clisp.org>
89820         * modules/mbsncasecmp-tests: New file.
89821         * tests/test-mbsncasecmp.sh: New file.
89822         * tests/test-mbsncasecmp.c: New file.
89824         New module mbsncasecmp.
89825         * modules/mbsncasecmp: New file.
89826         * lib/mbsncasecmp.c: New file.
89827         * lib/string_.h (mbsncasecmp): New declaration.
89828         * m4/mbsncasecmp.m4: New file.
89829         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
89830         GNULIB_MBSNCASECMP.
89831         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
89832         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
89834 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
89836         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
89837         Verify that it doesn't overlap with our flags.
89838         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
89839         do not have the desired effect in multibyte locales; instead, use
89840         mbscasecmp.
89841         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
89842         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
89843         we don't require GNU fnmatch ourselves (if our users require it, they
89844         should do so explicitly).
89846         Fix regex code so it doesn't rely on strcasecmp.
89847         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
89848         Otherwise, include gnulib's langinfo.h.
89849         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
89850         undesirable behavior in non-C locales.  Instead, rely on localecharset.
89851         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
89852         * modules/regex (FILES): Remove m4/codeset.m4.
89853         (Depends-on): Add localcharset.  Remove strcase.
89855 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89857         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
89858         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
89860 2007-02-13  Bruno Haible  <bruno@clisp.org>
89862         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
89863         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
89865 2007-02-12  Bruno Haible  <bruno@clisp.org>
89867         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
89868         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
89869         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
89870         time warning rather than a link error.
89872 2007-02-12  Bruno Haible  <bruno@clisp.org>
89874         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
89875         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
89876         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
89878 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
89880         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
89881         args, not 2.
89883 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
89885         New module 'time', so that apps can include <time.h> as per
89886         POSIX and GNU instead of separate include files like time_r.h
89887         and timegm.h.  This implementation tries out a simpler approach
89888         for replacing decls in standard include files (as compared to
89889         the string module), somewhat as an experiment.
89891         * config/srclist.txt: Comment out mktime.c for now.
89892         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
89893         since it doesn't apply any more.  Use generic wording instead.
89894         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
89895         'time'.
89896         * lib/time_.h, m4/time_h.m4, modules/time: New files.
89897         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
89898         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
89899         Don't include <sys/types.h>; no longer needed since we assume C89.
89900         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
89901         * lib/strftime.c: Likewise.
89902         * lib/time_r.c: Likewise.
89903         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
89904         * lib/nanosleep.c: Include <time.h> first, to check interface.
89905         * lib/strptime.c: Likewise.
89906         * lib/time_r.c: Likewise.
89907         * lib/timegm.c: Likewise.
89908         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
89909         needed.
89910         * lib/timegm.c: Don't include timegm.h; no longer needed.
89911         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
89912         time.h now handles any problems in that area.
89913         (struct timespec, nanosleep): Remove; time.h now arranges for these.
89914         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
89915         that time.h defines struct timespec.
89916         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
89917         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
89918         handles that.
89919         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
89920         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
89921         needed.  Set REPLACE_LOCALTIME.
89922         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
89923         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
89924         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
89925         nanosleep; time_h.m4 now does that.  Don't require
89926         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
89927         module handles this now.
89928         * modules/getdate (Depends-on): Remove timespec.  Add time.
89929         * modules/nanosleep (Depends-on): Likewise.
89930         * modules/stat-time (Depends-on): Likewise.
89931         * modules/nanosleep (Include): Include time.h, not timespec.h.
89932         * modules/strptime (Files): Remove lib/strptime.h.
89933         (Depends-on): Add extensions, time.
89934         (Include): Include time.h, not strptime.h.
89935         * modules/time_r (Files): Remove lib/time_r.h.
89936         (Depends-on): Add time.
89937         (Include): Include time.h, not time_r.h.
89938         * modules/timegm: Likewise.
89939         * modules/timespec (Description): Now does timespec-related decls
89940         of our own, instead of struct timespec itself.
89941         (Depends-on): Add time; remove extensions.
89942         (Maintainer): Add self.
89943         * modules/utimecmp (Depends-on): Add time; remove timespec.
89944         * modules/utimens (Depends-on): Likewise.
89945         * modules/xnanosleep (Depends-on): Likewise.
89947 2007-02-11  Bruno Haible  <bruno@clisp.org>
89949         * lib/c-strstr.c: Include allocsa.h.
89950         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
89951         * lib/c-strcasestr.c: Include allocsa.h.
89952         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
89953         * lib/strcasestr.c: Include allocsa.h.
89954         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
89955         * lib/mbsstr.c: Include allocsa.h.
89956         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
89957         allocsa/freesa instead of malloc/free.
89958         * lib/mbscasestr.c: Include allocsa.h.
89959         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
89960         allocsa/freesa instead of malloc/free.
89961         * modules/c-strstr (Depends-on): Add allocsa.
89962         * modules/c-strcasestr (Depends-on): Likewise.
89963         * modules/strcasestr (Depends-on): Likewise.
89964         * modules/mbsstr (Depends-on): Likewise.
89965         * modules/mbscasestr (Depends-on): Likewise.
89967 2007-02-11  Bruno Haible  <bruno@clisp.org>
89969         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
89971         * modules/mbsspn-tests: New file.
89972         * tests/test-mbsspn.sh: New file.
89973         * tests/test-mbsspn.c: New file.
89975 2007-02-11  Bruno Haible  <bruno@clisp.org>
89977         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
89979         * modules/mbspbrk-tests: New file.
89980         * tests/test-mbspbrk.sh: New file.
89981         * tests/test-mbspbrk.c: New file.
89983 2007-02-11  Bruno Haible  <bruno@clisp.org>
89985         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
89986         unneeded cast.
89988         * modules/mbscspn-tests: New file.
89989         * tests/test-mbscspn.sh: New file.
89990         * tests/test-mbscspn.c: New file.
89992 2007-02-11  Bruno Haible  <bruno@clisp.org>
89994         * modules/mbscasecmp-tests: New file.
89995         * tests/test-mbscasecmp.sh: New file.
89996         * tests/test-mbscasecmp.c: New file.
89998 2007-02-11  Bruno Haible  <bruno@clisp.org>
90000         Ensure O(n) worst-case complexity of mbscasestr.
90001         * lib/mbscasestr.c: Include stdbool.h.
90002         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
90003         functions.
90004         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
90005         the bookkeeping indicates that it's worth it.
90006         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
90008         * modules/mbscasestr-tests: New file.
90009         * tests/test-mbscasestr1.c: New file.
90010         * tests/test-mbscasestr2.sh: New file.
90011         * tests/test-mbscasestr2.c: New file.
90012         * tests/test-mbscasestr3.sh: New file.
90013         * tests/test-mbscasestr3.c: New file.
90014         * tests/test-mbscasestr4.sh: New file.
90015         * tests/test-mbscasestr4.c: New file.
90016         * m4/locale-tr.m4: New file.
90018 2007-02-11  Bruno Haible  <bruno@clisp.org>
90020         Ensure O(n) worst-case complexity of mbsstr.
90021         * lib/mbsstr.c: Include stdbool.h.
90022         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
90023         functions.
90024         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
90025         bookkeeping indicates that it's worth it.
90026         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
90028         * modules/mbsstr-tests: New file.
90029         * tests/test-mbsstr1.c: New file.
90030         * tests/test-mbsstr2.sh: New file.
90031         * tests/test-mbsstr2.c: New file.
90032         * tests/test-mbsstr3.sh: New file.
90033         * tests/test-mbsstr3.c: New file.
90034         * m4/locale-fr.m4: New file.
90036 2007-02-11  Bruno Haible  <bruno@clisp.org>
90038         * lib/mbsrchr.c (mbsrchr): Fix bug.
90040         * modules/mbsrchr-tests: New file.
90041         * tests/test-mbsrchr.sh: New file.
90042         * tests/test-mbsrchr.c: New file.
90044 2007-02-11  Bruno Haible  <bruno@clisp.org>
90046         * lib/mbschr.c (mbschr): Fix bug.
90048         * modules/mbschr-tests: New file.
90049         * tests/test-mbschr.sh: New file.
90050         * tests/test-mbschr.c: New file.
90051         * m4/locale-zh.m4: New file.
90053 2007-02-11  Bruno Haible  <bruno@clisp.org>
90055         Support for copying multibyte string iterators.
90056         * lib/mbiter.h: Include <string.h>.
90057         (mbiter_multi_copy): New function.
90058         (mbi_copy): New macro.
90059         * lib/mbuiter.h: Include <string.h>.
90060         (mbuiter_multi_copy): New function.
90061         (mbui_copy): New macro.
90063 2007-02-11  Bruno Haible  <bruno@clisp.org>
90065         New module mbslen.
90066         * modules/mbslen: New file.
90067         * lib/mbslen.c: New file.
90068         * lib/string_.h (mbslen): New declaration.
90069         * m4/mbslen.m4: New file.
90070         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90071         GNULIB_MBSLEN.
90072         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
90073         * MODULES.html.sh (Internationalization functions): Add mbslen.
90075 2007-02-11  Bruno Haible  <bruno@clisp.org>
90077         Ensure O(n) worst-case complexity of strcasestr substitute.
90078         * lib/strcasestr.c: Include stdbool.h.
90079         (knuth_morris_pratt): New function.
90080         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
90081         bookkeeping indicates that it's worth it.
90082         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
90084         * modules/strcasestr-tests: New file.
90085         * tests/test-strcasestr.c: New file.
90087 2007-02-11  Bruno Haible  <bruno@clisp.org>
90089         Ensure O(n) worst-case complexity of c_strcasestr.
90090         * lib/c-strcasestr.c: Include stdbool.h, string.h.
90091         (knuth_morris_pratt): New function.
90092         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
90093         the bookkeeping indicates that it's worth it.
90094         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
90096         * modules/c-strcasestr-tests: New file.
90097         * tests/test-c-strcasestr.c: New file.
90099 2007-02-11  Bruno Haible  <bruno@clisp.org>
90101         Ensure O(n) worst-case complexity of c_strstr.
90102         * lib/c-strstr.c: Include stdbool.h, string.h.
90103         (knuth_morris_pratt): New function.
90104         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
90105         bookkeeping indicates that it's worth it.
90106         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
90108         * lib/c-strstr.c: Complete rewrite for maintainability.
90110         * modules/c-strstr-tests: New file.
90111         * tests/test-c-strstr.c: New file.
90113 2007-02-11  Bruno Haible  <bruno@clisp.org>
90115         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
90116         5.2.1 and earlier, whereby \055 was treated just like the range
90117         delimiter '-'.
90118         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
90120 2007-02-08  Bruno Haible  <bruno@clisp.org>
90122         * modules/regex (Depends-on): Add stdbool.
90123         Reported by Dalibor Topic <robilad@kaffe.org>.
90125 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
90127         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
90128         Prefer returning from main to exiting from it.
90129         Remove unnecessary parens after sizeof.
90131 2007-02-05  Bruno Haible  <bruno@clisp.org>
90133         New module mbssep.
90134         * modules/mbssep: New file.
90135         * lib/mbssep.c: New file.
90136         * lib/string_.h (strsep): Add a conditional link warning.
90137         (mbssep): New declaration.
90138         * m4/mbssep.m4: New file.
90139         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90140         GNULIB_MBSSEP.
90141         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
90142         * MODULES.html.sh (Internationalization functions): Add mbssep.
90144 2007-02-05  Bruno Haible  <bruno@clisp.org>
90146         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
90147         Optimize search in case of 1 delimiter.
90149 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
90151         * lib/acl.h: Include sys/types.h before sys/acl.h.
90153 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
90155         Merge upstream fix for glibc bugzilla #3957:
90157         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
90159         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
90160         bit for RE_HAT_LISTS_NOT_NEWLINE.
90161         (build_charclass_op): Remove bogus comment.
90163 2007-02-05  Simon Josefsson  <simon@josefsson.org>
90165         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
90167 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
90169         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
90170         * lib/memmem.c [!defined _LIBC]: Include config.h.
90172 2007-02-04  Bruno Haible  <bruno@clisp.org>
90174         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
90175         warning message.
90177 2007-02-04  Bruno Haible  <bruno@clisp.org>
90179         New module mbstok_r.
90180         * modules/mbstok_r: New file.
90181         * lib/mbstok_r.c: New file.
90182         * lib/string_.h (strtok_r): Change argument names to match the
90183         comments. Add a conditional link warning.
90184         (mbstok_r): New declaration.
90185         * m4/mbstok_r.m4: New file.
90186         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90187         GNULIB_MBSTOK_R.
90188         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
90189         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
90191 2007-02-04  Bruno Haible  <bruno@clisp.org>
90193         New module mbsspn.
90194         * modules/mbsspn: New file.
90195         * lib/mbsspn.c: New file.
90196         * lib/string_.h (strspn): Add a conditional link warning.
90197         (mbsspn): New declaration.
90198         * m4/mbsspn.m4: New file.
90199         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90200         GNULIB_MBSSPN.
90201         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
90202         * MODULES.html.sh (Internationalization functions): Add mbsspn.
90204 2007-02-04  Bruno Haible  <bruno@clisp.org>
90206         New module mbspbrk.
90207         * modules/mbspbrk: New file.
90208         * lib/mbspbrk.c: New file.
90209         * lib/string_.h (strpbrk): Add a conditional link warning.
90210         (mbspbrk): New declaration.
90211         * m4/mbspbrk.m4: New file.
90212         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90213         GNULIB_MBSPBRK.
90214         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
90215         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
90217 2007-02-04  Bruno Haible  <bruno@clisp.org>
90219         New module mbscspn.
90220         * modules/mbscspn: New file.
90221         * lib/mbscspn.c: New file.
90222         * lib/string_.h (strcspn): Add a conditional link warning.
90223         (mbscspn): New declaration.
90224         * m4/mbscspn.m4: New file.
90225         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90226         GNULIB_MBSCSPN.
90227         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
90228         * MODULES.html.sh (Internationalization functions): Add mbscspn.
90230 2007-02-04  Bruno Haible  <bruno@clisp.org>
90232         New module mbscasestr, reduced goal of strcasestr.
90233         * modules/mbscasestr: New file.
90234         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
90235         (mbscasestr): Renamed from strcasestr.
90236         * lib/strcasestr.c: Don't include mbuiter.h.
90237         (strcasestr): Remove support for multibyte locales.
90238         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
90239         Change the conditional link warning.
90240         (mbscasestr): New declaration.
90241         * m4/mbscasestr.m4: New file.
90242         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
90243         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
90244         REPLACE_STRCASESTR.
90245         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
90246         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
90247         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
90248         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
90249         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
90250         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
90251         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
90252         (Depends-on): Remove mbuiter.
90253         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
90255 2007-02-04  Bruno Haible  <bruno@clisp.org>
90257         Simplify handling of strncasecmp.
90258         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
90259         the conditional link warning.
90260         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
90261         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
90262         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
90263         * modules/strcase (configure.ac): Don't invoke
90264         gl_STRING_MODULE_INDICATOR.
90265         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
90267 2007-02-04  Bruno Haible  <bruno@clisp.org>
90269         New module mbscasecmp, reduced goal of strcasecmp.
90270         * modules/mbscasecmp: New file.
90271         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
90272         (mbscasecmp): Renamed from strcasecmp.
90273         * lib/strcasecmp.c: Don't include mbuiter.h.
90274         (strcasecmp): Remove support for multibyte locales.
90275         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
90276         Change the conditional link warning.
90277         (mbscasecmp): New declaration.
90278         * m4/mbscasecmp.m4: New file.
90279         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
90280         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
90281         REPLACE_STRCASECMP.
90282         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
90283         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90284         GNULIB_MBSCASECMP.
90285         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
90286         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
90287         * modules/strcase (Files): Remove m4/mbrtowc.m4.
90288         (Depends-on): Remove mbuiter.
90289         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
90291 2007-02-04  Bruno Haible  <bruno@clisp.org>
90293         New module mbsstr. Remove module strstr.
90294         * modules/mbsstr: New file.
90295         * modules/strstr: Remove file.
90296         * lib/mbsstr.c: Renamed from lib/strstr.c.
90297         (mbsstr): Renamed from strstr.
90298         * lib/string_.h (strstr): Remove declaration. Change the conditional
90299         link warning.
90300         (mbsstr): New declaration.
90301         * m4/mbsstr.m4: New file.
90302         * m4/strstr.m4: Remove file.
90303         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
90304         REPLACE_STRSTR.
90305         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
90306         Don't initialize GNULIB_STRSTR.
90307         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
90308         substitute GNULIB_STRSTR and REPLACE_STRSTR.
90309         * MODULES.html.sh (Internationalization functions): Add mbsstr.
90310         (Support for systems lacking ANSI C 89): Remove strstr.
90312 2007-02-04  Bruno Haible  <bruno@clisp.org>
90314         New module mbsrchr.
90315         * modules/mbsrchr: New file.
90316         * lib/mbsrchr.c: New file.
90317         * lib/string_.h (strrchr): Add a conditional link warning.
90318         (mbsrchr): New declaration.
90319         * m4/mbsrchr.m4: New file.
90320         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90321         GNULIB_MBSRCHR.
90322         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
90323         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
90325 2007-02-04  Bruno Haible  <bruno@clisp.org>
90327         New module mbschr.
90328         * modules/mbschr: New file.
90329         * lib/mbschr.c: New file.
90330         * lib/string_.h (strchr): Add a conditional link warning.
90331         (mbschr): New declaration.
90332         * m4/mbschr.m4: New file.
90333         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
90334         GNULIB_MBSCHR.
90335         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
90336         * MODULES.html.sh (Internationalization functions): Add mbschr.
90338 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
90340         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
90342         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
90344 2007-02-04  Bruno Haible  <bruno@clisp.org>
90346         New module description section 'configure.ac-early'.
90347         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
90348         (func_get_autoconf_early_snippet): New function.
90349         (func_import, func_create_testdir): Use it. Remove special cases for
90350         modules 'extensions' and 'lock'.
90351         * modules/extensions (configure.ac-early): Require
90352         gl_USE_SYSTEM_EXTENSIONS.
90353         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
90355 2007-02-04  Bruno Haible  <bruno@clisp.org>
90357         Make use of gcj-4.3's -fsource and -ftarget option.
90358         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
90359         and if so try the options -fsource and -ftarget.
90360         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
90361         source_version, ftarget_option, target_version arguments.
90362         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
90363         (is_envjavac_oldgcj_14_14_usable): Renamed from
90364         is_envjavac_gcj_14_14_usable.
90365         (is_envjavac_oldgcj_14_13_usable): Renamed from
90366         is_envjavac_gcj_14_13_usable.
90367         (is_gcj_present): Update.
90368         (is_gcj_43, is_gcj43_usable): New functions.
90369         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
90370         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
90371         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
90372         try the options -fsource and -ftarget.
90374 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
90376         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
90377         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
90378         larger value.
90380 2007-02-03  Jim Meyering  <jim@meyering.net>
90382         Give tools a better chance to allocate space for very large buffers.
90383         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
90385         Make pwd and readlink work also when run with an unreadable parent dir
90386         on systems with openat support.
90387         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
90388         provided getcwd function, even when we have openat support.
90389         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
90391 2007-02-02  Bruno Haible  <bruno@clisp.org>
90393         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
90394         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
90395         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
90396         portability problems if one of these functions is only used on specific
90397         platforms.
90398         Reported by Paul Eggert.
90400 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
90402         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
90403         is causing more trouble than it's curing.
90404         * lib/regex_internal.h (__mempcpy): Remove.
90405         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
90406         (and make the code a tad smaller to boot).
90407         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
90409 2007-02-02  Jim Meyering  <jim@meyering.net>
90411         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
90412         section, not in the Makefile.am: one.
90414 2007-02-02  Eric Blake  <ebb9@byu.net>
90416         * lib/strchrnul.c: Always include config.h first.
90418         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
90419         gnulib strstr is not necessary here.
90421 2007-02-02  Simon Josefsson  <simon@josefsson.org>
90423         * m4/socklen.m4: Fix typo.
90425 2007-02-02  Eric Blake  <ebb9@byu.net>
90427         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
90428         * modules/netinet_in (Makefile.am): Likewise.
90430 2007-02-01  Bruno Haible  <bruno@clisp.org>
90432         * lib/string_.h (GL_LINK_WARNING): New macro.
90433         (strcasecmp, strstr, strcasestr): If provided by the system,
90434         conditionally define as a macro that leads to a warning instead of to
90435         an error.
90436         (strncasecmp): Conditionally define as a macro that leads to a warning.
90438 2007-02-01  Karl Berry  <karl@gnu.org>
90440         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
90442 2007-02-01  Bruno Haible  <bruno@clisp.org>
90444         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
90445         renamings.
90447 2007-02-01  Eric Blake  <ebb9@byu.net>
90449         * modules/regex (Depends-on): Revert dependence on mempcpy.
90450         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
90451         module's definition of mempcpy.
90452         Reported by Paul Eggert.
90454 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
90456         * lib/string_.h: If the gnulib module XYZ is not present, undefine
90457         the symbol XYZ before redefining it.  This fixes a problem with
90458         programs that don't use XYZ, when compiled on systems that define
90459         XYZ to something else.
90461 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
90463         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
90464         occurs when "mkdir -m foo" creates a setgid directory that is (1)
90465         writeable to group or other and (2) is intended to have a special
90466         mode bit that is set or cleared.  In such a case, the directory
90467         should be neither group- nor other-writeable until the special
90468         mode bits are right.
90470 2007-01-31  Eric Blake  <ebb9@byu.net>
90472         * modules/mountlist (Depends-on): Add strstr.
90474         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
90475         bug.
90476         * modules/string (Makefile.am): Remove redundant replacement.
90477         * modules/regex (Depends-on): Add mempcpy.
90479 2007-01-31  Bruno Haible  <bruno@clisp.org>
90481         New module description field 'Link'.
90482         * gnulib-tool (func_usage): Document --extract-link-directive.
90483         (sed_extract_prog): Recognize 'Link' directive.
90484         (func_get_link_directive): New function.
90485         (func_import): Show summary of link directives.
90486         Handle --extract-link-directive option.
90487         * modules/acl (Link): New section.
90488         * modules/clock-time (Link): New section.
90489         * modules/euidaccess (Link): New section.
90490         * modules/gettext (Link): New section.
90491         * modules/iconv (Link): New section.
90492         * modules/lock (Link): New section.
90493         * modules/nanosleep (Link): New section.
90494         * modules/readline (Link): New section.
90496 2007-01-27  Bruno Haible  <bruno@clisp.org>
90498         Enforce the use of gnulib modules for unportable <string.h> functions.
90499         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
90500         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
90501         (gl_HEADER_STRING_H_BODY): Require it.
90502         * lib/string_.h: If the gnulib module XYZ is not present, redefine
90503         the symbol XYZ to one that gives a link error.
90504         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
90505         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
90506         * modules/mempcpy (configure.ac): Likewise.
90507         * modules/memrchr (configure.ac): Likewise.
90508         * modules/stpcpy (configure.ac): Likewise.
90509         * modules/stpncpy (configure.ac): Likewise.
90510         * modules/strcase (configure.ac): Likewise.
90511         * modules/strcasestr (configure.ac): Likewise.
90512         * modules/strchrnul (configure.ac): Likewise.
90513         * modules/strdup (configure.ac): Likewise.
90514         * modules/strndup (configure.ac): Likewise.
90515         * modules/strnlen (configure.ac): Likewise.
90516         * modules/strpbrk (configure.ac): Likewise.
90517         * modules/strsep (configure.ac): Likewise.
90518         * modules/strstr (configure.ac): Likewise.
90519         * modules/strtok_r (configure.ac): Likewise.
90521 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
90523         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
90525 2007-01-30  Jim Meyering  <jim@meyering.net>
90527         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
90529 2007-01-29  Bruno Haible  <bruno@clisp.org>
90531         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
90532         * lib/execute.c: Likewise.
90533         * lib/pipe.c: Likewise.
90534         * lib/printf-args.h: Likewise.
90535         * lib/printf-args.c: Likewise.
90536         * lib/printf-parse.c: Likewise.
90537         * lib/vasnprintf.c: Likewise.
90539 2007-01-29  Eric Blake  <ebb9@byu.net>
90541         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
90542         declaration.
90544 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
90546         * lib/strptime.h (strptime): Use 'restrict' for args where
90547         POSIX requires this.
90548         * lib/strptime.c (strptime): Likewise.
90549         Change license notice from LGPL to GPL, since gnulib-tool will
90550         change this as needed.
90551         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
90552         defined.
90553         Include "strptime.h" first, to check interface.
90554         Do not #undef _LIBC and _NL_CURRENT.
90555         Do not include <stdlib.h>; no longer needed.
90556         Include "time_r.h" and declare ptime_locale_status
90557         only if _LIBC is not defined.
90558         (__P): Remove unused macro.
90559         (match_string): Bring back glibc version, but use it only if _LIBC
90560         is defined.
90561         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
90562         Remove unnecessary assertion and abort() call.
90563         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
90564         * m4/strptime.m4: Fix serial number comment.
90565         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
90566         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
90567         (Depends-on): Add time_r.
90569 2007-01-29  Bruno Haible  <bruno@clisp.org>
90571         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90572         strptime.
90573         * modules/strptime (Depends-on): Add stdbool.
90574         * lib/strptime.h: Include <time.h> always. Add comments.
90576 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90578         * modules/strptime: New file.
90579         * lib/strptime.h: New file.
90580         * lib/strptime.c: New file.
90581         * m4/strptime.m4: New file.
90583 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
90585         * MODULES.html.sh: New module mpsort.
90586         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
90588         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
90589         a circularity problem with HP-UX ia64 reported by Bob Proulx in
90590         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
90591         All uses changed.
90592         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
90593         All uses changed.
90594         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
90595         to _Restrict_.
90596         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
90597         the parameter matches the prototype.
90599 2007-01-28  Jim Meyering  <jim@meyering.net>
90601         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
90602         sys/time.h here, reverting that part of the previous patch:
90603         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
90605 2007-01-28  Bruno Haible  <bruno@clisp.org>
90607         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
90608         value of $(SYS_TIME_H).
90609         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
90610         remove it conditionally, too. [added by Jim Meyering]
90611         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
90612         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
90613         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
90614         GETTIMEOFDAY_REPLACEMENT to 1.
90616 2007-01-28  Bruno Haible  <bruno@clisp.org>
90618         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
90619         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
90620         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
90621         Set UNISTD_H instead of UNISTD_H2.
90622         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
90624 2007-01-28  Bruno Haible  <bruno@clisp.org>
90626         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
90627         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
90629 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90631         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
90632         (func_create_testdir): Ensure C locale for `grep' and `tr'
90633         character ranges.
90634         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
90635         ACLOCAL_AMFLAGS parsing state machine.
90637 2007-01-27  Bruno Haible  <bruno@clisp.org>
90639         * modules/unistr/base: Update.
90641 2007-01-27  Bruno Haible  <bruno@clisp.org>
90643         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
90644         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
90645         * modules/unistr/u32-mbtouc-unsafe: Renamed from
90646         modules/unistr/u32-mbtouc.
90647         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
90648         * lib/unistr.h: Update.
90649         * lib/linebreak.c: Update.
90650         * modules/unistr/u32-mbtouc: Renamed from
90651         modules/unistr/u32-mbtouc-safe.
90652         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
90653         * lib/unistr.h: Update.
90654         * lib/unistr/u32-to-u8.c: Update.
90655         * lib/unistr/u32-to-u16.c: Update.
90657 2007-01-27  Bruno Haible  <bruno@clisp.org>
90659         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
90660         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
90661         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
90662         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
90663         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
90664         * modules/unistr/u16-mbtouc-unsafe: Renamed from
90665         modules/unistr/u16-mbtouc.
90666         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
90667         * lib/unistr.h: Update.
90668         * lib/linebreak.c: Update.
90669         * modules/linebreak: Update.
90670         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
90671         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
90672         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
90673         * modules/unistr/u16-mbtouc: Renamed from
90674         modules/unistr/u16-mbtouc-safe.
90675         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
90676         * lib/unistr.h: Update.
90677         * lib/unistr/u16-to-u8.c: Update.
90678         * modules/unistr/u16-to-u8: Update.
90679         * lib/unistr/u16-to-u32.c: Update.
90680         * modules/unistr/u16-to-u32: Update.
90682 2007-01-27  Bruno Haible  <bruno@clisp.org>
90684         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
90685         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
90686         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
90687         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
90688         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
90689         * modules/unistr/u8-mbtouc-unsafe: Renamed from
90690         modules/unistr/u8-mbtouc.
90691         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
90692         * lib/unistr.h: Update.
90693         * lib/striconveh.c: Update.
90694         * modules/striconveh: Update.
90695         * lib/linebreak.c: Update.
90696         * modules/linebreak: Update.
90697         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
90698         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
90699         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
90700         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
90701         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
90702         * lib/unistr.h: Update.
90703         * lib/striconveh.c: Update.
90704         * modules/striconveh: Update.
90705         * lib/unistr/u8-to-u16.c: Update.
90706         * modules/unistr/u8-to-u16: Update.
90707         * lib/unistr/u8-to-u32.c: Update.
90708         * modules/unistr/u8-to-u32: Update.
90710 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90712         Sync from Libtool.
90713         * lib/argz.c: Do not include strings.h nor memory.h, include
90714         string.h unconditionally.  Patch by Simon Josefsson.
90716 2007-01-27  Bruno Haible  <bruno@clisp.org>
90718         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
90719         from gl_HEADER_STRING_H_BODY.
90720         (gl_HEADER_STRING_H_BODY): Require it.
90721         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
90722         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
90723         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
90724         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
90725         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
90726         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
90727         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
90728         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
90729         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
90730         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
90731         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
90732         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
90733         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
90734         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
90735         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
90737 2007-01-27  Bruno Haible  <bruno@clisp.org>
90739         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
90740         check_PROGRAMS into noinst_PROGRAMS.
90741         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
90742         check_PROGRAMS in this case.
90743         (func_import): Set for_test to false.
90744         (func_create_testdir): Set for_test to true.
90746 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90747             Bruno Haible  <bruno@clisp.org>
90749         * modules/strcasestr (Files): Remove lib/strcasestr.h.
90750         (Depends-on): Add string.
90751         (Includes): Use <string.h> instead of strcasestr.h.
90752         * modules/string (Makefile.am): Also substitute the value of
90753         REPLACE_STRCASESTR.
90754         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
90755         assume strcasestr is declared in <string.h> not <strings.h>. Also
90756         set REPLACE_STRCASESTR.
90757         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
90758         REPLACE_STRCASESTR.
90759         * lib/strcasestr.h: Remove file.
90760         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
90761         * lib/string_.h (strcasestr): New declaration.
90763 2007-01-27  Bruno Haible  <bruno@clisp.org>
90765         * lib/string_.h: Use 'extern'.
90767 2007-01-27  Jim Meyering  <jim@meyering.net>
90769         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
90770         of set-but-not-used local, "q".
90772         * lib/mempcpy.c: Include <config.h> before <string.h>.
90773         This fixes a compilation error on HP-UX, due to the system's
90774         "restrict"-using mempcpy prototype.
90776 2007-01-26  Bruno Haible  <bruno@clisp.org>
90778         Small optimization.
90779         * lib/javacomp.c: Include c-strstr.h.
90780          (is_envjavac_gcj): Use c_strstr instead of strstr.
90781         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
90783 2007-01-26  Bruno Haible  <bruno@clisp.org>
90785         * MODULES.html.sh (Unicode string functions): Add the new modules.
90787         * modules/uniconv/u32-strconv-to-locale: New file.
90788         * lib/uniconv/u32-strconv-to-locale.c: New file.
90790         * modules/uniconv/u16-strconv-to-locale: New file.
90791         * lib/uniconv/u16-strconv-to-locale.c: New file.
90793         * modules/uniconv/u8-strconv-to-locale: New file.
90794         * lib/uniconv/u8-strconv-to-locale.c: New file.
90796         * modules/uniconv/u32-strconv-from-locale: New file.
90797         * lib/uniconv/u32-strconv-from-locale.c: New file.
90799         * modules/uniconv/u16-strconv-from-locale: New file.
90800         * lib/uniconv/u16-strconv-from-locale.c: New file.
90802         * modules/uniconv/u8-strconv-from-locale: New file.
90803         * lib/uniconv/u8-strconv-from-locale.c: New file.
90805         * modules/uniconv/u32-strconv-to-enc: New file.
90806         * lib/uniconv/u32-strconv-to-enc.c: New file.
90807         * modules/uniconv/u32-strconv-to-enc-tests: New file.
90808         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
90810         * modules/uniconv/u16-strconv-to-enc: New file.
90811         * lib/uniconv/u16-strconv-to-enc.c: New file.
90812         * lib/uniconv/u-strconv-to-enc.h: New file.
90813         * modules/uniconv/u16-strconv-to-enc-tests: New file.
90814         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
90816         * modules/uniconv/u8-strconv-to-enc: New file.
90817         * lib/uniconv/u8-strconv-to-enc.c: New file.
90818         * modules/uniconv/u8-strconv-to-enc-tests: New file.
90819         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
90821         * modules/uniconv/u32-strconv-from-enc: New file.
90822         * lib/uniconv/u32-strconv-from-enc.c: New file.
90823         * modules/uniconv/u32-strconv-from-enc-tests: New file.
90824         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
90826         * modules/uniconv/u16-strconv-from-enc: New file.
90827         * lib/uniconv/u16-strconv-from-enc.c: New file.
90828         * modules/uniconv/u16-strconv-from-enc-tests: New file.
90829         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
90831         * modules/uniconv/u8-strconv-from-enc: New file.
90832         * lib/uniconv/u8-strconv-from-enc.c: New file.
90833         * lib/uniconv/u-strconv-from-enc.h: New file.
90834         * modules/uniconv/u8-strconv-from-enc-tests: New file.
90835         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
90837         * modules/uniconv/u32-conv-from-enc: New file.
90838         * lib/uniconv/u32-conv-from-enc.c: New file.
90839         * modules/uniconv/u32-conv-from-enc-tests: New file.
90840         * tests/uniconv/test-u32-conv-from-enc.c: New file.
90842         * modules/uniconv/u16-conv-from-enc: New file.
90843         * lib/uniconv/u16-conv-from-enc.c: New file.
90844         * lib/uniconv/u-conv-from-enc.h: New file.
90845         * modules/uniconv/u16-conv-from-enc-tests: New file.
90846         * tests/uniconv/test-u16-conv-from-enc.c: New file.
90848         * modules/uniconv/u8-conv-from-enc: New file.
90849         * lib/uniconv/u8-conv-from-enc.c: New file.
90850         * modules/uniconv/u8-conv-from-enc-tests: New file.
90851         * tests/uniconv/test-u8-conv-from-enc.c: New file.
90853         * modules/uniconv/base: New file.
90854         * lib/uniconv.h: New file.
90856 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
90858         * doc/gnulib-tool.texi (Initial import): Update to match current
90859         behavior with strdup module.
90860         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
90861         * lib/memmem.h: Remove; all uses removed.  This is now done
90862         by <string.h>.
90863         * lib/mempcpy.h: Likewise.
90864         * lib/memrchr.h: Likewise.
90865         * lib/stpcpy.h: Likewise.
90866         * lib/stpncpy.h: Likewise.
90867         * lib/strcase.h: Likewise.
90868         * lib/strchrnul.h: Likewise.
90869         * lib/strdup.h: Likewise.
90870         * lib/strndup.h: Likewise.
90871         * lib/strnlen.h: Likewise.
90872         * lib/strpbrk.h: Likewise.
90873         * lib/strsep.h: Likewise.
90874         * lib/strstr.h: Likewise.
90875         * lib/strtok_r.h: Likewise.
90876         * lib/string_.h: New file.
90877         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
90878         Rely on <string.h> instead.
90879         * lib/canon-host.c: Likewise.
90880         * lib/chdir-long.c: Likewise.
90881         * lib/concatpath.c: Likewise.
90882         * lib/exclude.c: Likewise.
90883         * lib/fchdir.c: Likewise.
90884         * lib/getaddrinfo.c: Likewise.
90885         * lib/getcwd.c: Likewise.
90886         * lib/getsubopt.c: Likewise.
90887         * lib/glob.c: Likewise.
90888         * lib/hard-locale.c: Likewise.
90889         * lib/iconvme.c: Likewise.
90890         * lib/javacomp.c: Likewise.
90891         * lib/mempcpy.c: Likewise.
90892         * lib/memrchr.c: Likewise.
90893         * lib/regex_internal.h: Likewise.
90894         * lib/stpncpy.c: Likewise.
90895         * lib/strcasecmp.c: Likewise.
90896         * lib/strchrnul.c: Likewise.
90897         * lib/strdup.c: Likewise.
90898         * lib/striconv.c: Likewise.
90899         * lib/striconveh.c: Likewise.
90900         * lib/striconveha.c: Likewise.
90901         * lib/strncasecmp.c: Likewise.
90902         * lib/strndup.c: Likewise.
90903         * lib/strnlen.c: Likewise.
90904         * lib/strsep.c: Likewise.
90905         * lib/strstr.c: Likewise.
90906         * lib/strtok_r.c: Likewise.
90907         * lib/userspec.c: Likewise.
90908         * lib/w32spawn.h: Likewise.
90909         * lib/xstrndup.c: Likewise.
90910         * lib/mountlist.c (strstr): Remove decl.
90911         * m4/string_h.m4: New file.
90912         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
90913         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
90914         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
90915         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
90916         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
90917         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
90918         Set REPLACE_STRCASECMP if necessary.
90919         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
90920         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
90921         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
90922         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
90923         HAVE_DECL_STRDUP if necessary.
90924         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
90925         since gl_FUNC_STRNDUP does that now.
90926         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
90927         Check for decl here...
90928         (gl_PREREQ_STRNLEN): ... not here.
90929         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
90930         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
90931         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
90932         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
90933         necessary.
90934         * modules/string: New file.
90935         * modules/memmem (Files): Remove special-purpose include file.
90936         (Depends-on): Add string.
90937         (Include): Include <string.h>, not the removed file.
90938         * modules/mempcpy: Likewise.
90939         * modules/memrchr: Likewise.
90940         * modules/stpcpy: Likewise.
90941         * modules/stpncpy: Likewise.
90942         * modules/strcase: Likewise.
90943         * modules/strchrnul: Likewise.
90944         * modules/strdup: Likewise.
90945         * modules/strndup: Likewise.
90946         * modules/strnlen: Likewise.
90947         * modules/strpbrk: Likewise.
90948         * modules/strsep: Likewise.
90949         * modules/strstr: Likewise.
90950         * modules/strtok_r: Likewise.
90951         * tests/test-dirname.c: Don't include "strdup.h", since
90952         <string.h> now suffices.
90953         * tests/test-memmem.c: Don't include "memmem.h", since
90954         <string.h> now suffices.
90956 2007-01-25  Bruno Haible  <bruno@clisp.org>
90958         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
90959         *resultp is 0.
90961         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
90962         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
90963         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
90964         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
90966         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
90967         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
90968         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
90969         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
90970         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
90971         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
90973 2007-01-24  Bruno Haible  <bruno@clisp.org>
90975         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
90976         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
90977         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
90978         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
90979         gl_FUNC_FTS_CORE.
90980         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
90981         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
90982         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90983         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
90984         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
90985         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
90986         gl_FUNC_FCHOWNAT.
90987         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
90988         gl_FUNC_STRFTIME.
90989         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
90990         Reported by Ralf Wildenhues.
90992 2007-01-24  Bruno Haible  <bruno@clisp.org>
90994         Drop AC_REQUIRE calls that are redundant with the module dependencies.
90995         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
90996         gl_GETADDRINFO.
90997         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
90998         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
90999         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
91001 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
91003         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
91004         Don't use 'exit'; just return from 'main'.
91005         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
91007         * lib/fnmatch_.h: Readjust white space and comments to match
91008         glibc, to avoid spurious diffs.
91010 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
91012         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
91013         2004-12-01 change by Jakub Jelinek, since this code won't compile
91014         if !LIBC.  Problem reported by Bob Proulx.
91016 2007-01-23  Bruno Haible  <bruno@clisp.org>
91018         * lib/striconveh.c: Include c-strcaseeq.h.
91019         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
91020         * modules/striconveh (Depends-on): Add c-strcaseeq.
91022 2007-01-23  Bruno Haible  <bruno@clisp.org>
91024         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
91026         * modules/c-strcaseeq: New file.
91027         * lib/c-strcaseeq.h: New file.
91029         * modules/streq: New file.
91030         * lib/streq.h: New file.
91032 2007-01-23  Bruno Haible  <bruno@clisp.org>
91034         * modules/striconveha-tests: New file.
91035         * tests/test-striconveha.c: New file.
91037         * lib/striconveha.h: Include <stdbool.h>.
91038         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
91039         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
91040         (mem_iconveha_notranslit): Renamed from mem_iconveha.
91041         (mem_iconveha): New function.
91042         (str_iconveha_notranslit): Renamed from str_iconveha.
91043         (str_iconveha): New function.
91044         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
91045         c-strcase.
91047 2007-01-23  Bruno Haible  <bruno@clisp.org>
91049         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
91050         encodings without forgiving before trying any encoding with handler.
91051         (str_iconveha): Try all encodings without forgiving before trying any
91052         encoding with handler.
91054 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
91056         Import the following changes from libc.
91058         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
91060         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
91062         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
91064         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
91065         normal_bracket label.
91067         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
91069         [BZ #361]
91070         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
91071         to normal_bracket after fetching the next character.
91073 2007-01-22  Bruno Haible  <bruno@clisp.org>
91075         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
91076         argument.
91077         * lib/striconveh.c (iconv_carefully_1): New function.
91078         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
91079         argument.
91080         (str_cd_iconveh): Update.
91081         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
91082         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
91083         * tests/test-striconveh.c (MAGIC): New macro.
91084         (new_offsets): New function.
91085         (main): Test call with and without offsets.
91087 2007-01-22  Bruno Haible  <bruno@clisp.org>
91089         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
91090         * modules/sys_select (Makefile.am): Likewise.
91091         * modules/sys_socket (Makefile.am): Likewise.
91092         * modules/sys_time (Makefile.am): Likewise.
91094 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
91096         * modules/gettimeofday (License): Change from GPL to LGPL, since
91097         gettimeofday is a library function.
91099 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91101         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
91103 2007-01-21  Bruno Haible  <bruno@clisp.org>
91105         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
91107 2007-01-21  Bruno Haible  <bruno@clisp.org>
91109         * modules/striconveha: New file.
91110         * lib/striconveha.h: New file.
91111         * lib/striconveha.c: New file.
91112         * MODULES.html.sh (Internationalization functions): Add striconveha.
91113         * lib/striconv.c (str_iconv): Optimize the case of an empty input
91114         string.
91115         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
91117 2007-01-21  Bruno Haible  <bruno@clisp.org>
91119         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
91120         * lib/striconveh.c (str_iconveh): Likewise.
91122 2007-01-21  Bruno Haible  <bruno@clisp.org>
91124         * lib/striconveh.h (mem_iconveh): New declaration.
91125         * lib/striconveh.c (mem_iconveh): New function.
91126         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
91128 2007-01-21  Bruno Haible  <bruno@clisp.org>
91130         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
91132         * lib/striconveh.h (mem_cd_iconveh): Change specification.
91133         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
91134         original result buffer.
91135         (str_cd_iconveh): Update.
91136         * tests/test-striconveh.c (main): Update.
91138         * lib/striconv.h (mem_cd_iconv): Change specification.
91139         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
91140         result buffer.
91141         (str_cd_iconv): Update.
91142         * tests/test-striconv.c (main): Update.
91144 2007-01-21  Bruno Haible  <bruno@clisp.org>
91146         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
91148 2007-01-20  Jim Meyering  <jim@meyering.net>
91150         * lib/userspec.c (parse_with_separator): If a user or group string
91151         starts with "+", skip the corresponding name-to-ID look-up, since
91152         such a look-up must fail: user and group names may not include "+".
91154 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
91156         * lib/poll.c: Include sys/time.h and time.h unconditionally,
91157         since we now assume the sys_time module.
91158         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
91159         check for sys/time.h; no longer needed.
91160         * modules/poll (Depends-on): Depend on sys_time.
91162 2007-01-18  Bruno Haible  <bruno@clisp.org>
91164         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
91165         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
91167         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
91168         gettimeofday.
91170         * tests/test-gettimeofday.c: Include <time.h>.
91171         (dummy): Remove variable.
91173         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
91174         gl_HEADER_SYS_TIME_H.
91175         (gl_HEADER_SYS_TIME_H): New macro.
91177         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
91178         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
91179         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
91180         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
91181         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
91182         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
91183         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
91184         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
91185         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
91186         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
91187         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
91189         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
91190         last change; it caused a compilation error when cross-compiling to
91191         Cygwin.
91193 2007-01-18  Jim Meyering  <jim@meyering.net>
91195         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
91196         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
91197         than the race-prone "test -d sys || mkdir sys".
91198         (configure.ac): Use AC_PROG_MKDIR_P.
91199         * modules/sys_select: Likewise.
91200         * modules/sys_socket: Likewise.
91201         * modules/sys_time: Likewise.
91203 2007-01-18  Eric Blake  <ebb9@byu.net>
91205         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
91206         replace gettimeofday.
91207         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
91208         name, to avoid infinite recursion.
91210 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
91212         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
91213         module sys_time.
91214         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
91215         assume timespec.h defines struct timeval.
91216         * lib/settime.c: Likewise.
91217         * lib/utimens.c: Likewise.
91218         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
91219         since we now assume the gettimeofday module.
91220         * lib/tempname.c (__gen_tempname): Likewise.
91221         * lib/gettimeofday.h: Remove.
91222         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
91223         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
91224         Include <time.h>, for 'time()'.
91225         (localtime_buffer_addr): Also use this workaround if
91226         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
91227         to simplify the uses.  All uses changed.
91228         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
91229         that #undef is inside {}, and 'const' follows type name consistently.
91230         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
91231         (gettimeofday): Do not use the maximum possible value for
91232         tv->tv_usec, since that might break usages other than ls.c.
91233         Instead, we'll leave ls.c alone.  This undoes today's patch
91234         by Bruno.  Add a compile-time warning for 1s-clock resolution;
91235         we've never observed the problem but might as well keep the
91236         canary.
91237         * lib/nanosleep.c: Include timespec.h first, for interface check.
91238         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
91239         now assume the sys_time module.
91240         * lib/tempname.c: Likewise.
91241         * lib/timespec.h: Likewise.
91242         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
91243         needed.
91244         * lib/strftime.c: Likewise.
91245         * lib/timespec.h: Likewise.
91246         * lib/posixtm.c: Include posixtm.h first, for interface check.
91247         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
91248         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
91249         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
91250         * lib/sys_time_.h: New file.
91251         * lib/timespec.h (struct timespec): Use long int, not long.
91252         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
91253         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
91254         Remove obsolescent call to AC_HEADER_TIME.
91255         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
91256         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
91257         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
91258         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
91259         Likewise.
91260         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
91261         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
91262         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
91263         into the sys_time module.  Check for gettimeofday just once.
91264         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
91265         for gettimeofday signature to just check the signature.  Merely
91266         compile it, since linking doesn't test signature.  Improve test for
91267         whether gettimeofday.o is actually needed.
91268         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
91269         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
91270         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
91271         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
91272         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
91273         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
91274         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
91275         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
91276         than worrying about sys/time.h.
91277         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
91278         Don't bother worrying about TIME_WITH_SYS_TIME.
91279         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
91280         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
91281         * m4/sys_time_h.m4: New file.
91282         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
91283         Don't include sys/time.h.  Return from main rather than exiting.
91284         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
91285         all uses changed.
91286         * modules/gethrxtime (Depends-on): Add sys_time.
91287         * modules/gettime (Depends-on): Likewise.
91288         * modules/gettimeofday (Depends-on): Likewise.
91289         * modules/nanosleep (Depends-on): Likewise.
91290         * modules/settime (Depends-on): Likewise.
91291         * modules/tempname (Depends-on): Likewise.
91292         * modules/utimens (Depends-on): Likewise.
91293         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
91294         (Include): Change back to <sys/time.h>.
91295         (Maintainer): Add self.
91296         * modules/sys_time: New file.
91297         * modules/tempname (Depends-on): Add gettimeofday.
91298         * tests/test-gettimeofday.c: Include <sys/time.h>
91299         rather than gettimeofday.h.
91301 2007-01-17  Bruno Haible  <bruno@clisp.org>
91303         * gnulib-tool (func_get_license): Revert last patch. Instead, let
91304         the license default to GPL.
91305         (func_create_testdir): Don't complain if a module is LGPL and its
91306         tests module depends on GPLed modules.
91308 2007-01-17  Bruno Haible  <bruno@clisp.org>
91310         * lib/gettimeofday.c (gettimeofday): Add code for the case
91311         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
91312         maximum possible value for tv->tv_usec, rather than the minimum one.
91314 2005-10-08  Martin Lambers  <marlam@marlam.de>
91315 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
91316 2007-01-16  Bruno Haible  <bruno@clisp.org>
91318         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
91319         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
91320         gl_FUNC_GETTIMEOFDAY.
91321         (Include): Add gettimeofday.h.
91322         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
91323         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
91324         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
91325         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
91326         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
91327         * lib/gettimeofday.h: New file.
91328         * lib/gettimeofday.c: Include <sys/timeb.h>.
91329         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
91330         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
91331         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
91332         fall back on time().
91334         * tests/test-gettimeofday.c: New file.
91335         * modules/gettimeofday-tests: New file.
91337 2007-01-16  Eric Blake  <ebb9@byu.net>
91339         * modules/fnmatch (Depends-on): Depend on wchar.
91340         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
91341         * m4/fnmatch.m4: Likewise.
91342         * modules/mbchar (Makefile.am): Assume <wchar.h>.
91343         * m4/mbchar.m4: Likewise.
91344         * modules/mbswidth (Depends-on): Depend on wchar.
91345         * lib/mbswidth.c: Assume <wchar.h>.
91346         * m4/mbswidth.m4: Likewise.
91347         * modules/quotearg (Depends-on): Depend on wchar.
91348         * lib/quotearg.c: Assume <wchar.h>.
91349         * m4/quotearg.m4: Likewise.
91350         * modules/regex (Depends-on): Depend on wchar.
91351         * lib/regex_internal.h: Assume <wchar.h>.
91352         * m4/regex.m4: Likewise.
91353         * modules/stdint (Depends-on): Depend on wchar.
91354         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
91355         * m4/stdint.m4: Likewise.
91356         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
91357         * modules/strftime (Depends-on): Depend on wchar.
91358         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
91359         * modules/strtol (Depends-on): Depend on wchar.
91360         * lib/strtol.c: Assume <wchar.h>.
91361         * modules/wcwidth (Depends-on): Depend on wchar.
91362         * lib/wcwidth.h: Assume <wchar.h>.
91363         * m4/wcwidth.m4: Likewise.
91365 2007-01-16  Bruno Haible  <bruno@clisp.org>
91367         * modules/csharpexec-script: New, created from...
91368         * modules/csharpexec: ... this.
91370 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
91372         * modules/javaexec-script: New, created from...
91373         * modules/javaexec: ... this.
91375 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91377         * modules/poll (Dependencies): Add sys_select.
91379 2007-01-15  Jim Meyering  <jim@meyering.net>
91381         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
91382         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
91383         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
91384         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
91386 2007-01-15  Bruno Haible  <bruno@clisp.org>
91388         * modules/striconveh: New file.
91389         * lib/striconveh.h: New file.
91390         * lib/striconveh.c: New file.
91391         * MODULES.html.sh (Internationalization functions): Add striconveh.
91393         * modules/striconveh-tests: New file.
91394         * tests/test-striconveh.c: New file.
91396 2007-01-15  Bruno Haible  <bruno@clisp.org>
91398         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
91399         not from GNU libiconv or GNU libc.
91401 2007-01-15  Bruno Haible  <bruno@clisp.org>
91403         * doc/gnulib-intro.texi (Copyright): Explain the different license
91404         terms for module descriptions, autoconf macros, tests, documentation.
91406 2007-01-14  Bruno Haible  <bruno@clisp.org>
91408         * modules/striconv-tests: New file.
91409         * tests/test-striconv.c: New file.
91411 2007-01-14  Bruno Haible  <bruno@clisp.org>
91413         * modules/iconv-tests: New file.
91414         * tests/test-iconv.c: New file.
91416 2007-01-14  Bruno Haible  <bruno@clisp.org>
91418         * gnulib-tool (func_get_license): For test modules, use the license of
91419         the main module.
91421 2007-01-14  Bruno Haible  <bruno@clisp.org>
91423         * modules/iconv (Include): Clarify that <iconv.h> can only be included
91424         if iconv is found to exist.
91426 2007-01-14  Bruno Haible  <bruno@clisp.org>
91428         * modules/c-ctype-tests: New file.
91429         * tests/test-c-ctype.c: New file.
91431 2007-01-14  Bruno Haible  <bruno@clisp.org>
91433         * modules/binary-io-tests: New file.
91434         * tests/test-binary-io.sh: New file.
91435         * tests/test-binary-io.c: New file.
91437 2007-01-14  Bruno Haible  <bruno@clisp.org>
91439         * modules/array-oset-tests: New file.
91440         * tests/test-array_oset.c: New file.
91442 2007-01-14  Bruno Haible  <bruno@clisp.org>
91444         * modules/array-list-tests: New file.
91445         * tests/test-array_list.c: New file.
91447 2007-01-14  Bruno Haible  <bruno@clisp.org>
91449         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
91450         and make.
91451         Reported by Simon Josefsson in
91452         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
91454 2007-01-14  Bruno Haible  <bruno@clisp.org>
91456         * modules/allocsa-tests: New file.
91457         * tests/test-allocsa.c: New file.
91459 2007-01-14  Bruno Haible  <bruno@clisp.org>
91461         * modules/fchdir (Depends-on): Add absolute-header.
91462         * modules/unistd (Depends-on): Likewise.
91464 2006-12-30  Bruno Haible  <bruno@clisp.org>
91466         * modules/fchdir: New file.
91467         * modules/unistd (Files): Add lib/unistd_.h.
91468         (Makefile.am): Generate unistd.h from unistd_.h.
91469         * lib/fchdir.c: New file.
91470         * lib/dirent_.h: New file.
91471         * lib/unistd_.h: New file.
91472         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
91473         * m4/fchdir.m4: New file.
91474         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
91475         (gl_HEADER_UNISTD): Invoke it.
91476         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
91477         function.
91478         * lib/backupfile.c (opendir, closedir): Undefine.
91479         * lib/chown.c (open, close): Undefine.
91480         * lib/clean-temp.c (open, close): Undefine.
91481         * lib/copy-file.c (open, close): Undefine.
91482         * lib/execute.c (open, close): Undefine.
91483         * lib/fsusage.c (open, close): Undefine.
91484         * lib/gc-gnulib.c (open, close): Undefine.
91485         * lib/getcwd.c (opendir, closedir): Undefine.
91486         * lib/glob.c (opendir, closedir): Undefine.
91487         * lib/javacomp.c (open, close): Undefine.
91488         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
91489         * lib/openat-proc.c (open, close): Undefine.
91490         * lib/pagealign_alloc.c (open, close): Undefine.
91491         * lib/pipe.c (open, close): Undefine.
91492         * lib/progreloc.c (open, close): Undefine.
91493         * lib/savedir.c (opendir, closedir): Undefine.
91494         * lib/utime.c (open, close): Undefine.
91495         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
91497 2007-01-10  Bruno Haible  <bruno@clisp.org>
91499         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
91501 2007-01-12  Eric Blake  <ebb9@byu.net>
91503         Provide a robust <wchar.h>.  Further simplifications are now
91504         possible in other modules, but not included here.
91505         * modules/wchar: New module.
91506         * m4/wchar.m4: New file.
91507         * lib/wchar_.h: Likewise.
91508         * modules/mbchar (Depends-on): Depend on wchar, as the first use
91509         of the new module.
91510         * MODULES.html.sh (Extended multibyte and wide character utilities):
91511         New section.
91513 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
91515         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
91516         to a reasonable default for memory allocation.
91517         (xreadlink): Don't allocate a huge buffer, to work around a buggy
91518         file system that reports garbage st_size values for symlinks.
91519         Problem reported by Liyang Hu.
91521 2007-01-11  Simon Josefsson  <simon@josefsson.org>
91523         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
91524         Emacs .#* auto-save files).
91526 2007-01-11  Bruno Haible  <bruno@clisp.org>
91528         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
91529         directory.
91531 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
91533         Use @...@ consistently in lib/wctype_.h.
91534         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
91535         on it being set to 1 or 0.
91536         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
91537         go back to AC_SUBSTing it.
91538         * modules/wctype (Makefile.am): Undo previous change.
91540 2007-01-10  Eric Blake  <ebb9@byu.net>
91542         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
91543         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
91544         * modules/wctype (Makefile.am): Likewise.
91545         Reported by Chris McGuire.
91547 2007-01-10  Jim Meyering  <jim@meyering.net>
91549         fts.c: a small readability/maintainability improvement
91550         * lib/fts.c (fts_read): Make this code slightly more readable and
91551         maintainable by hoisting the "sp->fts_cur = p" assignments to
91552         immediately follow the statements that set P.  Derived from
91553         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
91555 2007-01-10  Eric Blake  <ebb9@byu.net>
91557         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
91558         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
91559         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
91560         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
91561         Reported by Chris McGuire.
91563 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91565         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
91566         in sed script.
91568 2007-01-09  Bruno Haible  <bruno@clisp.org>
91570         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
91571         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
91572         variables.
91573         (func_module): Use them.
91575 2007-01-09  Bruno Haible  <bruno@clisp.org>
91577         * modules/unistr/base: New file.
91578         * lib/unistr.h: New file.
91580         * modules/unistr/u8-to-u16: New file.
91581         * lib/unistr/u8-to-u16.c: New file.
91583         * modules/unistr/u8-to-u32: New file.
91584         * lib/unistr/u8-to-u32.c: New file.
91586         * modules/unistr/u16-to-u8: New file.
91587         * lib/unistr/u16-to-u8.c: New file.
91589         * modules/unistr/u16-to-u32: New file.
91590         * lib/unistr/u16-to-u32.c: New file.
91592         * modules/unistr/u32-to-u8: New file.
91593         * lib/unistr/u32-to-u8.c: New file.
91595         * modules/unistr/u32-to-u16: New file.
91596         * lib/unistr/u32-to-u16.c: New file.
91598         * modules/unistr/u8-check: New file.
91599         * modules/unistr/u16-check: New file.
91600         * modules/unistr/u32-check: New file.
91601         * lib/unistr/u8-check.c: New file.
91602         * lib/unistr/u16-check.c: New file.
91603         * lib/unistr/u32-check.c: New file.
91605         * modules/unistr/u8-chr: New file.
91606         * modules/unistr/u16-chr: New file.
91607         * modules/unistr/u32-chr: New file.
91608         * lib/unistr/u8-chr.c: New file.
91609         * lib/unistr/u16-chr.c: New file.
91610         * lib/unistr/u32-chr.c: New file.
91612         * modules/unistr/u8-cmp: New file.
91613         * modules/unistr/u16-cmp: New file.
91614         * modules/unistr/u32-cmp: New file.
91615         * lib/unistr/u8-cmp.c: New file.
91616         * lib/unistr/u16-cmp.c: New file.
91617         * lib/unistr/u32-cmp.c: New file.
91619         * modules/unistr/u8-cpy: New file.
91620         * modules/unistr/u16-cpy: New file.
91621         * modules/unistr/u32-cpy: New file.
91622         * lib/unistr/u8-cpy.c: New file.
91623         * lib/unistr/u16-cpy.c: New file.
91624         * lib/unistr/u32-cpy.c: New file.
91625         * lib/unistr/u-cpy.h: New file.
91627         * modules/unistr/u8-cpy-alloc: New file.
91628         * modules/unistr/u16-cpy-alloc: New file.
91629         * modules/unistr/u32-cpy-alloc: New file.
91630         * lib/unistr/u8-cpy-alloc.c: New file.
91631         * lib/unistr/u16-cpy-alloc.c: New file.
91632         * lib/unistr/u32-cpy-alloc.c: New file.
91633         * lib/unistr/u-cpy-alloc.h: New file.
91635         * modules/unistr/u8-endswith: New file.
91636         * modules/unistr/u16-endswith: New file.
91637         * modules/unistr/u32-endswith: New file.
91638         * lib/unistr/u8-endswith.c: New file.
91639         * lib/unistr/u16-endswith.c: New file.
91640         * lib/unistr/u32-endswith.c: New file.
91641         * lib/unistr/u-endswith.h: New file.
91643         * modules/unistr/u8-mblen: New file.
91644         * modules/unistr/u16-mblen: New file.
91645         * modules/unistr/u32-mblen: New file.
91646         * lib/unistr/u8-mblen.c: New file.
91647         * lib/unistr/u16-mblen.c: New file.
91648         * lib/unistr/u32-mblen.c: New file.
91650         * modules/unistr/u8-mbtouc: New file.
91651         * modules/unistr/u16-mbtouc: New file.
91652         * modules/unistr/u32-mbtouc: New file.
91653         * lib/unistr/u8-mbtouc.c: New file.
91654         * lib/unistr/u16-mbtouc.c: New file.
91655         * lib/unistr/u32-mbtouc.c: New file.
91657         * modules/unistr/u8-mbtouc-safe: New file.
91658         * modules/unistr/u16-mbtouc-safe: New file.
91659         * modules/unistr/u32-mbtouc-safe: New file.
91660         * lib/unistr/u8-mbtouc-safe.c: New file.
91661         * lib/unistr/u16-mbtouc-safe.c: New file.
91662         * lib/unistr/u32-mbtouc-safe.c: New file.
91664         * modules/unistr/u8-move: New file.
91665         * modules/unistr/u16-move: New file.
91666         * modules/unistr/u32-move: New file.
91667         * lib/unistr/u8-move.c: New file.
91668         * lib/unistr/u16-move.c: New file.
91669         * lib/unistr/u32-move.c: New file.
91670         * lib/unistr/u-move.h: New file.
91672         * modules/unistr/u8-next: New file.
91673         * modules/unistr/u16-next: New file.
91674         * modules/unistr/u32-next: New file.
91675         * lib/unistr/u8-next.c: New file.
91676         * lib/unistr/u16-next.c: New file.
91677         * lib/unistr/u32-next.c: New file.
91679         * modules/unistr/u8-prev: New file.
91680         * modules/unistr/u16-prev: New file.
91681         * modules/unistr/u32-prev: New file.
91682         * lib/unistr/u8-prev.c: New file.
91683         * lib/unistr/u16-prev.c: New file.
91684         * lib/unistr/u32-prev.c: New file.
91686         * modules/unistr/u8-set: New file.
91687         * modules/unistr/u16-set: New file.
91688         * modules/unistr/u32-set: New file.
91689         * lib/unistr/u8-set.c: New file.
91690         * lib/unistr/u16-set.c: New file.
91691         * lib/unistr/u32-set.c: New file.
91692         * lib/unistr/u-set.h: New file.
91694         * modules/unistr/u8-startswith: New file.
91695         * modules/unistr/u16-startswith: New file.
91696         * modules/unistr/u32-startswith: New file.
91697         * lib/unistr/u8-startswith.c: New file.
91698         * lib/unistr/u16-startswith.c: New file.
91699         * lib/unistr/u32-startswith.c: New file.
91700         * lib/unistr/u-startswith.h: New file.
91702         * modules/unistr/u8-stpcpy: New file.
91703         * modules/unistr/u16-stpcpy: New file.
91704         * modules/unistr/u32-stpcpy: New file.
91705         * lib/unistr/u8-stpcpy.c: New file.
91706         * lib/unistr/u16-stpcpy.c: New file.
91707         * lib/unistr/u32-stpcpy.c: New file.
91708         * lib/unistr/u-stpcpy.h: New file.
91710         * modules/unistr/u8-stpncpy: New file.
91711         * modules/unistr/u16-stpncpy: New file.
91712         * modules/unistr/u32-stpncpy: New file.
91713         * lib/unistr/u8-stpncpy.c: New file.
91714         * lib/unistr/u16-stpncpy.c: New file.
91715         * lib/unistr/u32-stpncpy.c: New file.
91716         * lib/unistr/u-stpncpy.h: New file.
91718         * modules/unistr/u8-strcat: New file.
91719         * modules/unistr/u16-strcat: New file.
91720         * modules/unistr/u32-strcat: New file.
91721         * lib/unistr/u8-strcat.c: New file.
91722         * lib/unistr/u16-strcat.c: New file.
91723         * lib/unistr/u32-strcat.c: New file.
91724         * lib/unistr/u-strcat.h: New file.
91726         * modules/unistr/u8-strchr: New file.
91727         * modules/unistr/u16-strchr: New file.
91728         * modules/unistr/u32-strchr: New file.
91729         * lib/unistr/u8-strchr.c: New file.
91730         * lib/unistr/u16-strchr.c: New file.
91731         * lib/unistr/u32-strchr.c: New file.
91733         * modules/unistr/u8-strcmp: New file.
91734         * modules/unistr/u16-strcmp: New file.
91735         * modules/unistr/u32-strcmp: New file.
91736         * lib/unistr/u8-strcmp.c: New file.
91737         * lib/unistr/u16-strcmp.c: New file.
91738         * lib/unistr/u32-strcmp.c: New file.
91740         * modules/unistr/u8-strcpy: New file.
91741         * modules/unistr/u16-strcpy: New file.
91742         * modules/unistr/u32-strcpy: New file.
91743         * lib/unistr/u8-strcpy.c: New file.
91744         * lib/unistr/u16-strcpy.c: New file.
91745         * lib/unistr/u32-strcpy.c: New file.
91746         * lib/unistr/u-strcpy.h: New file.
91748         * modules/unistr/u8-strcspn: New file.
91749         * modules/unistr/u16-strcspn: New file.
91750         * modules/unistr/u32-strcspn: New file.
91751         * lib/unistr/u8-strcspn.c: New file.
91752         * lib/unistr/u16-strcspn.c: New file.
91753         * lib/unistr/u32-strcspn.c: New file.
91754         * lib/unistr/u-strcspn.h: New file.
91756         * modules/unistr/u8-strdup: New file.
91757         * modules/unistr/u16-strdup: New file.
91758         * modules/unistr/u32-strdup: New file.
91759         * lib/unistr/u8-strdup.c: New file.
91760         * lib/unistr/u16-strdup.c: New file.
91761         * lib/unistr/u32-strdup.c: New file.
91762         * lib/unistr/u-strdup.h: New file.
91764         * modules/unistr/u8-strlen: New file.
91765         * modules/unistr/u16-strlen: New file.
91766         * modules/unistr/u32-strlen: New file.
91767         * lib/unistr/u8-strlen.c: New file.
91768         * lib/unistr/u16-strlen.c: New file.
91769         * lib/unistr/u32-strlen.c: New file.
91770         * lib/unistr/u-strlen.h: New file.
91772         * modules/unistr/u8-strmblen: New file.
91773         * modules/unistr/u16-strmblen: New file.
91774         * modules/unistr/u32-strmblen: New file.
91775         * lib/unistr/u8-strmblen.c: New file.
91776         * lib/unistr/u16-strmblen.c: New file.
91777         * lib/unistr/u32-strmblen.c: New file.
91779         * modules/unistr/u8-strmbtouc: New file.
91780         * modules/unistr/u16-strmbtouc: New file.
91781         * modules/unistr/u32-strmbtouc: New file.
91782         * lib/unistr/u8-strmbtouc.c: New file.
91783         * lib/unistr/u16-strmbtouc.c: New file.
91784         * lib/unistr/u32-strmbtouc.c: New file.
91786         * modules/unistr/u8-strncat: New file.
91787         * modules/unistr/u16-strncat: New file.
91788         * modules/unistr/u32-strncat: New file.
91789         * lib/unistr/u8-strncat.c: New file.
91790         * lib/unistr/u16-strncat.c: New file.
91791         * lib/unistr/u32-strncat.c: New file.
91792         * lib/unistr/u-strncat.h: New file.
91794         * modules/unistr/u8-strncmp: New file.
91795         * modules/unistr/u16-strncmp: New file.
91796         * modules/unistr/u32-strncmp: New file.
91797         * lib/unistr/u8-strncmp.c: New file.
91798         * lib/unistr/u16-strncmp.c: New file.
91799         * lib/unistr/u32-strncmp.c: New file.
91801         * modules/unistr/u8-strncpy: New file.
91802         * modules/unistr/u16-strncpy: New file.
91803         * modules/unistr/u32-strncpy: New file.
91804         * lib/unistr/u8-strncpy.c: New file.
91805         * lib/unistr/u16-strncpy.c: New file.
91806         * lib/unistr/u32-strncpy.c: New file.
91807         * lib/unistr/u-strncpy.h: New file.
91809         * modules/unistr/u8-strnlen: New file.
91810         * modules/unistr/u16-strnlen: New file.
91811         * modules/unistr/u32-strnlen: New file.
91812         * lib/unistr/u8-strnlen.c: New file.
91813         * lib/unistr/u16-strnlen.c: New file.
91814         * lib/unistr/u32-strnlen.c: New file.
91815         * lib/unistr/u-strnlen.h: New file.
91817         * modules/unistr/u8-strpbrk: New file.
91818         * modules/unistr/u16-strpbrk: New file.
91819         * modules/unistr/u32-strpbrk: New file.
91820         * lib/unistr/u8-strpbrk.c: New file.
91821         * lib/unistr/u16-strpbrk.c: New file.
91822         * lib/unistr/u32-strpbrk.c: New file.
91823         * lib/unistr/u-strpbrk.h: New file.
91825         * modules/unistr/u8-strrchr: New file.
91826         * modules/unistr/u16-strrchr: New file.
91827         * modules/unistr/u32-strrchr: New file.
91828         * lib/unistr/u8-strrchr.c: New file.
91829         * lib/unistr/u16-strrchr.c: New file.
91830         * lib/unistr/u32-strrchr.c: New file.
91832         * modules/unistr/u8-strspn: New file.
91833         * modules/unistr/u16-strspn: New file.
91834         * modules/unistr/u32-strspn: New file.
91835         * lib/unistr/u8-strspn.c: New file.
91836         * lib/unistr/u16-strspn.c: New file.
91837         * lib/unistr/u32-strspn.c: New file.
91838         * lib/unistr/u-strspn.h: New file.
91840         * modules/unistr/u8-strstr: New file.
91841         * modules/unistr/u16-strstr: New file.
91842         * modules/unistr/u32-strstr: New file.
91843         * lib/unistr/u8-strstr.c: New file.
91844         * lib/unistr/u16-strstr.c: New file.
91845         * lib/unistr/u32-strstr.c: New file.
91846         * lib/unistr/u-strstr.h: New file.
91848         * modules/unistr/u8-strtok: New file.
91849         * modules/unistr/u16-strtok: New file.
91850         * modules/unistr/u32-strtok: New file.
91851         * lib/unistr/u8-strtok.c: New file.
91852         * lib/unistr/u16-strtok.c: New file.
91853         * lib/unistr/u32-strtok.c: New file.
91854         * lib/unistr/u-strtok.h: New file.
91856         * modules/unistr/u8-uctomb: New file.
91857         * modules/unistr/u16-uctomb: New file.
91858         * modules/unistr/u32-uctomb: New file.
91859         * lib/unistr/u8-uctomb.c: New file.
91860         * lib/unistr/u16-uctomb.c: New file.
91861         * lib/unistr/u32-uctomb.c: New file.
91863         * MODULES.html.sh (Unicode string functions): Add the new modules.
91865 2007-01-08  Bruno Haible  <bruno@clisp.org>
91867         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
91868         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
91869         subdirectories.
91871 2007-01-08  Karl Berry  <karl@gnu.org>
91873         * doc/error.texi: mention that main() fns must set program_name
91874         when progname is used.
91876 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
91878         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
91879         WCTYPE_H is empty, for the benefit of builds from non-distclean
91880         directories.  Problem reported by Eric Blake in
91881         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
91883 2007-01-08  Bruno Haible  <bruno@clisp.org>
91885         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
91886         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
91887         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
91888         PROVIDE_CANONICALIZE_FILENAME_MODE.
91889         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
91891 2007-01-08  Bruno Haible  <bruno@clisp.org>
91893         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
91894         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
91895         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
91896         * lib/fts.c: Likewise.
91897         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
91899 2006-12-25  Bruno Haible  <bruno@clisp.org>
91901         * modules/utf8-ucs4-safe: New file.
91902         * lib/utf8-ucs4-safe.h: New file.
91903         * lib/unistr/utf8-ucs4-safe.c: New file.
91905         * modules/utf16-ucs4-safe: New file.
91906         * lib/utf16-ucs4-safe.h: New file.
91907         * lib/unistr/utf16-ucs4-safe.c: New file.
91909         * MODULES.html.sh (Unicode string functions): Add the new modules.
91911 2007-01-08  Bruno Haible  <bruno@clisp.org>
91913         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
91914         (Depends-on): Add unitypes.
91915         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
91916         (u8_mbtouc_aux): Move out to separate file.
91917         (u8_mbtouc): Use ucs4_t, uint8_t types.
91918         * lib/unistr/utf8-ucs4.c: New file.
91920         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
91921         (Depends-on): Add unitypes.
91922         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
91923         (u16_mbtouc_aux): Move out to separate file.
91924         (u16_mbtouc): Use ucs4_t, uint16_t types.
91925         * lib/unistr/utf16-ucs4.c: New file.
91927         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
91928         (Depends-on): Add unitypes.
91929         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
91930         (u8_uctomb_aux): Move out to separate file.
91931         (u8_uctomb): Use ucs4_t, uint8_t types.
91932         * lib/unistr/ucs4-utf8.c: New file.
91934         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
91935         (Depends-on): Add unitypes.
91936         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
91937         (u16_uctomb_aux): Move out to separate file.
91938         (u16_uctomb): Use ucs4_t, uint16_t types.
91939         * lib/unistr/ucs4-utf16.c: New file.
91941 2006-12-25  Bruno Haible  <bruno@clisp.org>
91943         * modules/unitypes: New file.
91944         * lib/unitypes.h: New file.
91945         * MODULES.html.sh (func_all_modules): New section "Unicode string
91946         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
91947         this section. Add unitypes.
91949 2007-01-08  Bruno Haible  <bruno@clisp.org>
91951         Avoid variable names that conflict with those from libtool.
91952         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
91953         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
91954         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
91955         library_names_spec to acl_library_names_spec, hardcode_* to
91956         acl_hardcode_*.
91957         Reported by Ralf Wildenhues.
91959 2007-01-08  Bruno Haible  <bruno@clisp.org>
91961         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
91962         definition.
91963         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
91964         definition.
91965         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
91966         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
91967         definition.
91968         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
91969         definition.
91970         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
91971         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
91972         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
91973         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
91974         definition.
91975         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
91976         definition.
91977         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
91978         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
91979         GC_USE_<algorithm>.
91980         * lib/gc-libgcrypt.c: Likewise.
91981         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
91982         * modules/gc-arctwo (configure.ac): Likewise.
91983         * modules/gc-des (configure.ac): Likewise.
91984         * modules/gc-hmac-md5 (configure.ac): Likewise.
91985         * modules/gc-hmac-sha1 (configure.ac): Likewise.
91986         * modules/gc-md2 (configure.ac): Likewise.
91987         * modules/gc-md4 (configure.ac): Likewise.
91988         * modules/gc-md5 (configure.ac): Likewise.
91989         * modules/gc-random (configure.ac): Likewise.
91990         * modules/gc-rijndael (configure.ac): Likewise.
91991         * modules/gc-sha1 (configure.ac): Likewise.
91993 2007-01-08  Bruno Haible  <bruno@clisp.org>
91995         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
91996         macro definition.
91997         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
91998         definition.
91999         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
92000         definition.
92001         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
92002         * modules/fcntl-safer (configure.ac): Likewise.
92003         * modules/fopen-safer (configure.ac): Likewise.
92004         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
92005         GNULIB_FWRITEERROR macro definition.
92007 2007-01-08  Bruno Haible  <bruno@clisp.org>
92009         * m4/gnulib-common.m4: New file.
92010         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
92011         (func_get_filelist): Add m4/gnulib-common.m4.
92013 2007-01-08  Bruno Haible  <bruno@clisp.org>
92015         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
92016         command.
92018 2007-01-08  Jim Meyering  <jim@meyering.net>
92020         Use a more robust test for a "can't happen" condition.
92021         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
92022         narrowed the st_size value.  Presuming the "can't happen" condition
92023         is true, that narrowing could conceivably convert an invalid st_size
92024         value into a valid one.  Instead, use a change based on Matthew
92025         Woehlke's original patch.
92027         Slight readability improvement: use an assert-like macro
92028         in place of literal "abort ()" uses.
92029         * lib/fts.c (fts_assert): Define.
92030         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
92031         Use this macro instead of a bare 'abort'.
92033 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
92035         Don't worry about using IRIX 5.3's wctype.h broken definitions;
92036         simply work around them.
92037         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
92038         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
92039         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
92040         declaring.
92041         Don't bother to define as macros, since the standard doesn't require it.
92042         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
92043         longer worry about IRIX 5.3.
92044         (HAVE_WCTYPE_CTMP_BUG): Remove.
92046 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
92048         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
92049         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
92050         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
92051         Problems reported by Georg Schwarz for IRIX 5.3.
92053         * gnulib-tool (autoconf_minversion): Take the maximum version number
92054         found, not the minimum.  Problem reported by James Youngman.
92056 2007-01-03  Karl Berry  <karl@gnu.org>
92058         * doc/error.texi: new file, explaining interaction with progname.
92059         * doc/gnulib.texi: include it.  Update copyright.
92061 2007-01-03  Simon Josefsson  <simon@josefsson.org>
92063         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
92064         AC_CANONICAL_HOST, to improve autobuild outputs.
92066 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
92067             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
92069         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
92070         sockets, server sockets, and other file descriptors.  Count errors
92071         to compute the return value.  Reorder the code a bit to be easier
92072         to follow.  Don't set event bits that were not requested (except
92073         POLLERR and POLLHUP).
92075 2007-01-01  Bruno Haible  <bruno@clisp.org>
92077         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
92079 2007-01-03  Jim Meyering  <jim@meyering.net>
92081         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
92083 2007-01-02  Bruno Haible  <bruno@clisp.org>
92085         * modules/settime (Include): Require timespec.h.
92086         * modules/nanosleep (Include): Likewise.
92088 2007-01-01  Bruno Haible  <bruno@clisp.org>
92090         * gnulib-tool (func_emit_copyright_notice): Bump year.
92091         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
92093 2007-01-01  Bruno Haible  <bruno@clisp.org>
92095         Improve support for OpenBSD.
92096         * build-aux/config.rpath (libname_spec): Export.
92097         (library_names_spec): New variable. Export.
92098         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
92099         library_names_spec from the config.rpath output. Locate shared library
92100         through the name pattern in library_names_spec.
92102 2007-01-01  Eric Blake  <ebb9@byu.net>
92104         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
92106 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
92108         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
92109         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
92110         assume the C locale, and avoid an "eval" that could cause trouble.
92111         Problem with SORT reported by Bob Proulx.
92113         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
92114         Define.  Trivial patch from Henning Nielsen Lund, originally
92115         sent to bug-grep@gnu.org today.
92117 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
92119         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
92120         struct stat.  Problem reported by Henning Nielsen Lund.
92121         * lib/acl.c: Include acl.h first, to check interface.  Don't
92122         bother to include sys/types.h and sys/stat.h again.
92124 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
92126         Import the following change from libc; problem reported by
92127         Sven Verdoolaege.
92129         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
92131         [BZ #1373]
92132         * lib/argp.h: Remove __NTH for __argp_usage inline function.
92134 2006-12-28  Jim Meyering  <jim@meyering.net>
92136         * build-aux/announce-gen: Do not assume that the package
92137         builds any of tar.gz, tar.bz2, and .xdelta files.
92138         Suggestion from Simon Josefsson.
92140 2006-12-28  Simon Josefsson  <simon@josefsson.org>
92142         * modules/announce-gen: New file.
92144 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
92146         * lib/mbchar.h: Just include <wctype.h>; the wctype module
92147         handles its gotchas now.
92148         * lib/mbswidth.c: Likewise.
92149         * lib/wcwidth.h: Likewise.
92150         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
92151         and iswcntrl; the wctype module does this stuff now.
92152         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
92153         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
92154         * modules/mbchar (Depends-on): Add wctype.
92155         * modules/mbswidth (Depends-on): Likewise.
92156         * modules/wcwidth (Depends-on): Likewise.
92158 2006-12-27  Eric Blake  <ebb9@byu.net>
92160         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
92161         module uses more than what <wctype.h> is required to provide.
92163 2006-12-26  Eric Blake  <ebb9@byu.net>
92165         * gnulib-tool (sed_extract_prog): Avoid space-tab.
92167 2006-12-26  Eric Blake  <ebb9@byu.net>
92169         * modules/absolute-header: New module.
92170         * modules/fcntl (Depends-on): Depend on it.
92171         * modules/inttypes (Depends-on): Likewise.
92172         * modules/stdint (Depends-on): Likewise.
92173         * modules/sys_stat (Depends-on): Likewise.
92174         * modules/wctype (Depends-on): Likewise.
92175         * MODULES.html.sh (Support for building libraries and
92176         executables): Document it.
92178 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
92180         * gnulib-tool (SED): Remove, undoing previous change.
92181         The problem was that it broke coreutils on Solaris, because
92182         "sed --posix" leaked into a makefile.
92183         (sed): New alias, if 'alias' and GNU sed.
92185 2006-12-24  Jim Meyering  <jim@meyering.net>
92187         Work around an fchownat bug in glibc-2.4:
92188         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
92189         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
92190         in spite of the -P option.
92191         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
92192         New macros.
92193         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
92194         * modules/openat (Files): Add lib/fchownat.c.
92195         * lib/openat.c (fchownat): Don't define here.  Move to...
92196         * lib/fchownat.c: ...this new file.
92198 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
92200         Fix bug reported by Bruno Haible in
92201         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
92202         where quotearg.c didn't compile on Mac OS X 10.2 because it
92203         lacks <wchar.h> and wint_t.
92204         * lib/wctype_.h (__wctype_wint_t): New type.
92205         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
92206         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
92207         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
92208         Arg is now of type __wctype_wint_t, not wint_t.
92209         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
92210         substitute HAVE_WINT_T.
92211         * modules/wctype (Files): Add m4/wint_t.m4.
92212         (wctype.h): Substitute HAVE_WINT_T.
92214 2006-12-23  Bruno Haible  <bruno@clisp.org>
92216         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
92218 2006-12-23  Bruno Haible  <bruno@clisp.org>
92220         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
92221         S_ISLNK.
92222         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
92223         mingw.
92225 2006-12-22  Bruno Haible  <bruno@clisp.org>
92227         * lib/copy-file.c: Include acl.h.
92228         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
92229         Close the file descriptors only after being done with copy_acl.
92230         * modules/copy-file (Depends-on): Add acl.
92232 2006-12-22  Bruno Haible  <bruno@clisp.org>
92234         * gnulib-tool (SED): New variable.
92235         Use $SED instead of sed everywhere.
92237 2006-12-22  Bruno Haible  <bruno@clisp.org>
92239         * modules/no-c++: New file.
92240         * m4/no-c++.m4: New file.
92241         * MODULES.html.sh (Support for building libraries and executables):
92242         Add no-c++.
92244 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
92246         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
92247         Include <limits.h>, and use its INT_MAX to rewrite the
92248         j loop so that it does not overflow 'int'.  Problem reported by
92249         Ralf Wildenhues in
92250         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
92251         Play it safe by shifting left by 1 rather than multiplying by 2,
92252         as GCC is less likely to optimize this away when the value
92253         is signed (when it assumes overflow leads to undefined behavior).
92254         Also, don't assume time_t uses two's complement.
92256 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
92258         * MODULES.html.sh: New module wctype.
92259         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
92260         * lib/fnmatch.c: Don't bother to include <wchar.h> before
92261         <wctype.h>, since the new wctype module should fix this.
92262         * lib/quotearg.c: Include <wctype.h> unconditionally, since
92263         the wctype module should arrange for it.
92264         * lib/regex_internal.h: Likewise.
92265         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
92266         since the wctype module should handle this now.
92267         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
92268         * modules/fnmatch (Depends-on): Add wctype.
92269         * modules/quotearg (Depends-on): Likewise.
92270         * modules/regex (Depends-on): Likewise.
92272 2006-12-19  Bruno Haible  <bruno@clisp.org>
92274         * lib/strdup.h [C++]: Wrap definitions in extern "C".
92275         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
92277 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92279         * modules/savewd (Depends-on): Fix dependency on fcntl.
92281 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
92283         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
92284         conforms to C99, rather than relying on the user's environment
92285         setting of STDINT_H.
92287 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
92288         and Eric Blake  <ebb9@byu.net>
92290         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
92291         This is more consistent with the other defines here.
92292         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
92293         Port to z/OS.  Problem reported by Paul Gilmartin.
92294         Change local vars to use gl_ prefix rather than ac_.
92295         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
92296         with other defines.
92297         * modules/double-slash-root: New module.
92298         * modules/dirname (Files): Remove m4/double-slash-root.m4.
92299         (Depends-on): Add double-slash-root.
92300         * MODULES.html.sh (File system functions): Mention new module.
92302 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
92304         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
92305         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
92306         This is for the benefit of gzip, which doesn't do i18n.
92308 2006-12-12  Jim Meyering  <jim@meyering.net>
92310         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
92311         Reported by Andreas Schwab <schwab@suse.de>.
92313 2006-12-12  Bruno Haible  <bruno@clisp.org>
92315         Merge these changes.
92316         2006-09-05  Bruno Haible  <bruno@clisp.org>
92317         * lib/iconvme.c (iconv_string): No need to save and restore errno when
92318         iconv_alloc succeeded.
92319         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
92320         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
92321         test for " && dest " at the end - dest is always != NULL there. Call
92322         iconv with 4xNULL arguments initially, to reset the state. Call iconv
92323         with 2xNULL arguments, also to flush the state storage. Handle the
92324         IRIX iconv behaviour. Realloc the final result, to throw away unused
92325         memory.
92327 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
92329         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
92330         and fchmodat unconditionally, since glibc 2.4 has them.
92331         Problem reported by Arkadiusz Miskiewicz.
92333 2006-12-10  Bruno Haible  <bruno@clisp.org>
92335         * gnulib-tool (func_import): Show the include files only for those
92336         modules that are copied and specified.
92337         Reported by Karl Berry.
92339 2006-12-08  Jim Meyering  <jim@meyering.net>
92341         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
92342         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
92344         * build-aux/announce-gen: Add two new options, both optional:
92345         --bootstrap-tools=TOOL_LIST
92346               a comma-separated list of tools, e.g.,
92347               autoconf,automake,bison,gnulib
92348         --gnulib-snapshot-date=DATE
92349               if gnulib is in the bootstrap tool list,
92350               then report this as the snapshot date.
92351               If not specified, use the current date/time.
92352               If you specify a date here, be sure it's UTC.
92354 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92356         * tests/test-argp-2.sh: Fix test to match actual output.
92357         (func_compare): Fix sed script to be portable.
92359 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
92361         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
92362         workaround for this case.  It is not autoconfigured now; offhand
92363         it's hard to see how to autoconfigure it.
92365 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
92367         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
92368         a directory that is about to be chowned.  Such a directory's
92369         initial file permissions should permit the owner only and this
92370         should not be changed until after the chown, since the group and
92371         other bits would be incorrect if they granted permission before
92372         the chown.
92374         Fix porting problem for iswctype reported by Georg Schwarz in:
92375         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
92376         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
92377         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
92378         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
92379         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
92381 2006-12-03  Jim Meyering  <jim@meyering.net>
92383         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
92384         p->fts_statp may not yet be defined.
92385         (fts_read): Instead, set it in the caller, once p->fts_statp is
92386         sure to be defined, and corresponds to a top-level directory.
92387         This bug made du -x fail.  Here's the coreutils test case:
92388         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
92389         Reported by Mike Frysinger.
92391 2006-12-01  Jim Meyering  <jim@meyering.net>
92393         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
92394         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
92395         Reported by Simon Josefsson.
92397 2006-11-30  Jim Meyering  <jim@meyering.net>
92399         * m4/warning.m4: Use the all-permissive copyright notice
92400         recommended by RMS (rather than LGPL).
92401         * m4/vararrays.m4: Likewise.
92402         * m4/flexmember.m4: Likewise.
92404 2006-11-29  Bruno Haible  <bruno@clisp.org>
92406         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
92407         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
92408         using +=.
92409         Reported by Simon Josefsson <simon@josefsson.org>.
92411 2006-11-28  James Youngman  <jay@gnu.org>
92413         * README: Advise users that they might find the bug-gnulib@gnu.org
92414         and autotools-announce@gnu.org mailing lists useful.
92416 2006-11-28  Bruno Haible  <bruno@clisp.org>
92418         * m4/ptrdiff_max.m4: Remove file.
92420 2006-11-21  Bruno Haible  <bruno@clisp.org>
92422         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
92423         _AC_COMPUTE_INT.
92424         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
92425         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
92426         _AC_COMPUTE_INT.
92427         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
92428         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
92429         _AC_COMPUTE_INT.
92430         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
92432 2006-11-28  Jim Meyering  <jim@meyering.net>
92434         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
92435         warning from "gcc -Wshadow" about shadowing the builtin.
92437 2006-11-27  Bruno Haible  <bruno@clisp.org>
92439         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
92440         _AC_COMPUTE_INT.
92441         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
92443 2006-11-27  Bruno Haible  <bruno@clisp.org>
92444             Paul Eggert  <eggert@cs.ucla.edu>
92446         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
92448 2006-11-26  Bruno Haible  <bruno@clisp.org>
92450         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
92451         noinst_LTLIBRARIES.
92453 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
92454             Bruno Haible  <bruno@clisp.org>
92456         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
92457         if compiling with "gcc -ansi".
92459 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
92461         Fix some incompatibilities with gcc -ansi -pedantic.
92462         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
92463         if compiling pedantically with GCC, unless it's C99 or later.
92464         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
92465         it mishandles gcc -ansi -pedantic as well.
92466         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
92467         if gcc -pedantic.
92468         * lib/regexec.c (check_node_accept_bytes): Don't use auto
92469         initializers for struct if -pedantic, unless it's C99 or later.
92471 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
92473         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
92474         Don't close an fd more than once. Identical atimes indicate
92475         success, not failure.
92477 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
92479         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
92481 2006-11-23  Jim Meyering  <jim@meyering.net>
92483         * build-aux/announce-gen: New file.  From coreutils.
92485 2006-11-22  Jim Meyering  <jim@meyering.net>
92487         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
92488         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
92489         (fts_read): Use a temporary to narrow the overused st_size member
92490         before using it in a switch statement.  Reported by Matthew Woehlke.
92492         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
92493         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
92495 2006-11-20  Bruno Haible  <bruno@clisp.org>
92497         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
92498         changequote instead of pairs of brackets.
92499         Reported by Andreas Schwab <schwab@suse.de>.
92501 2006-11-21  Jim Meyering  <jim@meyering.net>
92503         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
92504         so as to remain compatible with older compilers.
92505         Patch from Michael Deutschmann.
92507 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
92509         * MODULES.html.sh (File system functions): Add openat.
92511         * lib/openat.h (rpl_fstatat): New macro, if
92512         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
92513         (fstatat): Define to rpl_fstatat under the same conditions,
92514         unless COMPILING_FSTATAT.
92515         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
92516         seems to have the bug.
92517         * lib/fstatat.c: New file.
92518         * modules/openat (Files): Add it.
92520 2006-11-20  Bruno Haible  <bruno@clisp.org>
92522         * Makefile: New file.
92524 2006-11-20  Jim Meyering  <jim@meyering.net>
92526         The beginnings of syntax-related checks for gnulib.
92527         * lib/Makefile: New file.
92528         * lib/t-idcache: New script.  Ensure that the two halves of
92529         idcache.c stay in sync.
92531         * lib/idcache.c: Adjust comments in user- and group- portions to
92532         be more accurate, and to be consistent with one another.
92534 2006-11-20  Jim Meyering  <jim@meyering.net>
92536         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
92537         continue using the flexible array member (thus, this module performs
92538         half as many malloc calls), with the addition that...
92539         (getgroup, getuser): Consistently record a non-match via an empty
92540         "name" string, and map an empty string match to a NULL return value.
92541         * modules/idcache (Depends-on): Re-add flexmember.
92543         * lib/idcache.c (getuser): Remove all uses of the register keyword.
92544         (getuidbyname, getgroup, getgidbyname): Likewise.
92546         Use cleaner syntax: NULL rather than 0.
92547         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
92549 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
92551         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
92552         It mishandled the case where the group was missing.
92553         Problem reported by Greg Schafer.
92554         * modules/idcache: Likewise.
92556 2006-11-18  Jim Meyering  <jim@meyering.net>
92558         * check-module (%exempt_header): Add exception for some
92559         conditionally-included headers.
92561         * modules/i-ring (Depends-on): Add verify.
92562         (License): Change to LGPL.
92564 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
92566         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
92567         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
92568         and inttostr.h.  Use snprintf rather than uinttostr, so that
92569         LGPLed code doesn't depend on GPLed.
92571 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
92573         * modules/inline (License): Change from GPL to LGPL.
92575 2006-11-17  Jim Meyering  <jim@meyering.net>
92577         * modules/d-type (License): Switch to LGPL.
92579 2006-11-15  Bruno Haible  <bruno@clisp.org>
92581         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
92583 2006-11-15  Eric Blake  <ebb9@byu.net>
92585         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
92586         the module dependency.
92588 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92589             Bruno Haible  <bruno@clisp.org>
92591         * gnulib-tool (func_create_testdir): Add license consistency check.
92593 2006-11-15  Eric Blake  <ebb9@byu.net>
92595         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
92596         random "(cached)" in configure output.
92598 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92600         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
92601         test for conforming inttypes.h is both announced and cached.
92603         * MODULES.html.sh (seen_modules, seen_files): New variables.
92604         (func_module): Rewrite to use a few less gnulib-tool and sed
92605         invocations.  Avoid a couple of quadratic algorithms for ...
92606         (missed_modules, missed_files): ... these, with ...
92607         (func_append, func_tmpdir): ... these new functions, from
92608         gnulib-tool.  Analogously, install traps for cleanup.
92610         * tests/test-gc.c (main): Remove unused variables.
92611         * tests/test-read-file.c: Include stdlib.h, for 'free'.
92613 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
92615         * modules/inttostr (License): Change to LGPL.
92617 2006-11-14  Eric Blake  <ebb9@byu.net>
92619         * modules/tempname (License): Change to LGPL.
92621 2006-11-14  Eric Blake  <ebb9@byu.net>
92623         * doc/functions.texi (Function Portability): *printf functions on
92624         Cygwin now understand all POSIX size specifiers.
92626 2006-11-14  Bruno Haible  <bruno@clisp.org>
92628         * modules/c-ctype (License): Change to LGPL.
92630 2006-11-12  Bruno Haible  <bruno@clisp.org>
92632         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
92633         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
92634         for GNOME libraries, for which the include files are installed in
92635         subdirectories of $prefix/include.
92637 2006-11-12  Bruno Haible  <bruno@clisp.org>
92639         * m4/lib-link.m4: Require at least autoconf-2.54.
92640         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
92641         name to underscores for the --with option.
92643 2006-11-13  Bruno Haible  <bruno@clisp.org>
92645         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
92646         the tests directory.
92647         Reported by Ralf Wildenhues.
92649 2006-11-13  Bruno Haible  <bruno@clisp.org>
92651         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
92652         (func_emit_initmacro_end): Undo the override here.
92653         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
92654         Works around the famous automake error in coreutils.
92656 2006-11-13  Eric Blake  <ebb9@byu.net>
92658         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
92659         element, not its node.
92661 2006-11-12  Bruno Haible  <bruno@clisp.org>
92663         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
92664         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
92666 2006-11-12  Bruno Haible  <bruno@clisp.org>
92668         * gnulib-tool: New option --local-symlink.
92669         (func_usage): Document it.
92670         (lsymbolic): New variable.
92671         (func_import, func_create_testdir): If --symlink was not specified,
92672         test whether --local-symlink was specified and the file comes from
92673         the local_gnulib_dir.
92675 2006-11-12  Bruno Haible  <bruno@clisp.org>
92677         * gnulib-tool (func_ln): New function.
92678         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
92680 2006-11-12  Bruno Haible  <bruno@clisp.org>
92682         Finish support for source files in subdirectories.
92683         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
92684         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
92685         AUTOMAKE_OPTIONS.
92686         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
92688 2006-11-12  Bruno Haible  <bruno@clisp.org>
92690         * gnulib-tool (func_get_automake_snippet): Synthesize also an
92691         EXTRA_lib_SOURCES augmentation.
92692         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
92694 2006-11-12  Jim Meyering  <jim@meyering.net>
92696         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
92697         file descriptors.  This also averts a failure on systems with
92698         native openat support when a traversed directory lacks "x" access.
92699         * lib/fts_.h: Include "i-ring.h"
92700         (struct FTS) [fts_fd_ring]: New member.
92701         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
92702         (FCHDIR): Add parentheses.
92703         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
92704         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
92705         When descending, rather than simply closing the previous
92706         fts_cwd_fd value, push that file descriptor onto the ring.
92707         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
92708         (fts_open): Initialize the new fd_ring member.
92709         (fts_close): Clear the ring.
92710         (fts_safe_changedir): When possible, use our new fd_ring to skip
92711         the diropen and fstat and dev/ino comparison that would normally
92712         accompany a virtual `chdir ("..")'.
92714         * modules/fts (Depends-on): Add i-ring.
92715         * modules/i-ring: New module.
92716         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
92717         * m4/i-ring.m4: New file.
92719 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92721         * gnulib-tool (func_create_testdir): Fix replacement of
92722         `build-aux' in configure.ac.  Run autotools in gltests
92723         subdirectory.
92724         (func_create_testdir, func_create_megatestdir, test): There is
92725         no need for '--force' in most autotool invocations in a new
92726         tree.  Actually fail the whole test if any of the tools, or the
92727         configure or make stages fail.
92729         Sync from Automake.
92730         * build-aux/gnupload: Revert last change.  Add pointer to upload
92731         instructions of the GNU Maintenance Instructions.
92732         Suggestion by Karl Berry.
92734 2006-11-10  Jim Meyering  <jim@meyering.net>
92736         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
92738 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
92740         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
92741         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
92742         (bind_textdomain_codeset) [! ENABLE_NLS]:
92743         Evaluate all the arguments.  That way, callers get compatible behavior
92744         if the arguments have side effects.  Also, it avoids some GCC
92745         diagnostics in some cases; Joel E. Denny reported problems when Bison
92746         was configured with --enable-gcc-warnigs.
92748 2006-11-10  Jim Meyering  <jim@meyering.net>
92750         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
92751         relevant options in CFLAGS (like -O, -fno-inline) are taken into
92752         account.
92754 2006-11-10  Jim Meyering  <jim@meyering.net>
92756         * modules/inline: New file/module.
92757         * modules/xalloc (Files): Remove m4/inline.m4.
92758         (Depends-on): Add inline, instead.
92759         * modules/oset: Likewise.
92760         * modules/list: Likewise.
92762 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
92764         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
92765         Problem reported by Matthew Woehlke.
92767 2006-11-09  Bruno Haible  <bruno@clisp.org>
92769         * lib/tempname.c (gen_tempname): Remove variant that invokes
92770         __gen_tempname.
92771         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
92772         __gen_tempname.
92774 2006-11-08  Bruno Haible  <bruno@clisp.org>
92776         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
92777         to 'yes' instead of 'cross-compiling'.
92779 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
92781         * lib/quotearg.h (quotearg_free): New decl.
92782         * lib/quotearg.c (quotearg_free): New function.
92783         (slot0, nslots, slotvec0, slotvec):
92784         Now file-scope so that quotearg_free can get at them.
92786 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92788         Sync from Automake.
92789         * build-aux/gnupload: Add missing 'gnu' to example URL.
92790         Report by Karl Berry.
92792 2006-11-08  Bruno Haible  <bruno@clisp.org>
92794         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
92795         Suggested by Paul Eggert.
92797 2006-11-08  Jim Meyering  <jim@meyering.net>
92799         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
92800         It's already included if !_LIBC.
92801         (fts_safe_changedir): Add a comment.
92803 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
92805         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
92806         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
92807         Matthew Woehlke.
92809         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
92810         definitions up, to avoid colliding with change below.
92811         (static_inline) [HAVE_INLINE]: New macro.
92812         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
92813         Provide extern decls when !HAVE_INLINE.  Do not define unless
92814         static_inline is defined, either by us or by xmalloc.c.  Use
92815         static_inline rather than static inline.
92816         (XCALLOC): Optimize sizeof(T) = 1 case.
92817         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
92819 2006-11-07  Bruno Haible  <bruno@clisp.org>
92821         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
92822         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
92823         AC_C_INLINE.
92824         * modules/xalloc (Files): Add m4/inline.m4.
92826 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92828         * README: Fix typo.
92829         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
92830         (Miscellanous Notes): ...from this.
92832 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
92834         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
92835         Mention that offsetof should be used instead of sizeof.
92836         From Bruno Haible.
92838 2006-11-07  Bruno Haible  <bruno@clisp.org>
92840         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
92842 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
92844         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
92845         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
92846         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
92847         (gl_tree_add_before, gl_tree_add_after):
92848         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
92849         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
92850         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
92851         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
92852         (gl_linked_add_after, gl_linked_add_at): Likewise.
92853         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
92854         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
92855         (gl_tree_add_before, gl_tree_add_after): Likewise.
92856         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
92857         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
92858         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
92860 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92862         * lib/gl_oset.h: Use C comment style, not C++ comment style.
92864 2006-11-06  Bruno Haible  <bruno@clisp.org>
92866         * m4/inline.m4: New file.
92867         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
92868         * modules/list (Files): Add m4/inline.m4.
92869         * modules/oset (Files): Likewise.
92871 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
92873         * lib/idcache.c: Include <stddef.h>, for offsetof.
92874         (struct userid.name): Change from char * to a flexible array member.
92875         All uses changed.
92876         * modules/idcache (Depends-on): Add flexmember.
92878         * MODULES.html.sh (Core language properties): New module flexmember.
92879         * modules/flexmember, m4/flexmember.m4: New files.
92881         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
92882         inline functions that are identical with the old xnmalloc_inline,
92883         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
92884         that we can avoid some unnecessary integer multiplications and
92885         divisions in the common case where the element size is known at
92886         compile time.
92887         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
92888         needed.
92889         (xnboundedmalloc): Remove.
92890         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
92891         arguments, for consistency with rest of this header.
92892         (xcharalloc): Rewrite using XNMALLOC.
92893         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
92894         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
92895         versions have been moved to lib/xalloc.h and renamed to be the
92896         non-*_inline versions.
92897         (xmalloc, xrealloc): Implement without reference to the xnmalloc
92898         and xnrealloc functions, since those functions are now inline and
92899         now call us.
92900         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
92901         renaming described above.
92902         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
92903         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
92904         captures the dependency in AC_C_INLINE.
92906         New module canonicalize-lgpl, proposed by Charles Wilson in
92907         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
92908         with a few small changes afterwards.
92909         * MODULES.html.sh (File system functions): New module
92910         canonicalize-lgpl.
92911         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
92912         and canonicalize_file_name.
92913         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
92914         * modules/canonicalize-lgpl: New files.
92916 2006-11-05  Bruno Haible  <bruno@clisp.org>
92918         * gnulib-tool (func_import, func_create_testdir): Create directories
92919         also for files in subdirectories of lib/.
92921 2006-11-05  Bruno Haible  <bruno@clisp.org>
92923         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
92924         ANSI C compliant.
92926 2006-11-03  Bruno Haible  <bruno@clisp.org>
92928         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
92929         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
92930         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
92931         (xnboundedmalloc): New inline function.
92932         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
92933         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
92934         xmalloc.
92935         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
92936         xmalloc.
92937         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
92938         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
92939         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
92940         xmalloc.
92941         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
92942         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
92943         xmalloc.
92944         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
92945         gl_tree_add_after): Use XMALLOC instead of xmalloc.
92946         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
92947         xmalloc.
92948         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
92949         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
92950         gl_tree_add_after): Use XMALLOC instead of xmalloc.
92951         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
92952         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
92953         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
92954         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
92956 2006-11-03  Bruno Haible  <bruno@clisp.org>
92958         * lib/c-ctype.h [C++]: Define functions without name mangling.
92959         * lib/fwriteerror.h [C++]: Likewise.
92960         * lib/gcd.h [C++]: Likewise.
92961         * lib/linebreak.h [C++]: Likewise.
92963 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
92965         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
92966         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
92967         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
92968         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
92969         Check for functions and headers just once.
92970         Check for declaration of canonicalize_file_name.
92971         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
92973 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
92975         * gnulib-tool (func_import): Fix typo in actioncmd.
92977 2006-11-02  Bruno Haible  <bruno@clisp.org>
92979         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
92980         newline sequence in the Makefile.am snippet as a space, like "make"
92981         does.
92982         Reported by Roger Persson <perrog@gmail.com>.
92984 2006-11-01  Bruno Haible  <bruno@clisp.org>
92986         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
92987         already declared in <string.h>.
92988         * lib/strcase.h (strncasecmp): Don't declare it if yes.
92990 2006-11-01  Bruno Haible  <bruno@clisp.org>
92992         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
92993         * lib/strcase.h: Include <string.h>.
92994         (strcasecmp): Define to rpl_strcasecmp here.
92996 2006-11-01  Bruno Haible  <bruno@clisp.org>
92998         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
93000 2006-11-01  Eric Blake  <ebb9@byu.net>
93002         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
93004         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
93006 2006-10-29  Bruno Haible  <bruno@clisp.org>
93008         Make it compile in C++ mode.
93009         * lib/full-write.c (full_rw): Add a cast.
93011 2006-11-01  Bruno Haible  <bruno@clisp.org>
93013         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
93014         be POSIX compliant.
93015         Reported by Roger Persson <perrog@gmail.com>.
93017 2006-11-01  Eric Blake  <ebb9@byu.net>
93019         * lib/getopt_.h: Fix comments.
93021 2006-10-31  Eric Blake  <ebb9@byu.net>
93023         * modules/tmpdir (Depends-on): Add sys_stat.
93024         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
93025         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
93026         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
93027         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
93028         tempname.
93030 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
93032         Avoid some C++ diagnostics reported by Bruno Haible.
93033         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
93034         xmalloc.
93035         (quotearg_alloc): Use xcharalloc rather than xmalloc.
93036         (struct slotvec): Move to top level.
93037         (quotearg_n_options): Rewrite to avoid xmalloc.
93038         * lib/xalloc.h (xcharalloc): New function.
93039         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
93040         [defined __cplusplus]: Add function template that provides result
93041         type propagation.  This part of the change is from Bruno Haible.
93043 2006-10-29  Bruno Haible  <bruno@clisp.org>
93045         Make it compile in C++ mode.
93046         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
93047         * lib/strnlen1.c (strnlen1): Cast memchr result.
93048         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
93049         * lib/clean-temp.c (string_equals, string_hash): Add casts.
93050         (create_temp_dir): Rename local variable 'template'.
93051         (compile_csharp_using_sscli): Add cast.
93052         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
93053         * lib/findprog.c (find_in_path): Likewise.
93054         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
93055         * lib/wait-process.c (register_slave_subprocess): Likewise.
93057 2006-10-22  Bruno Haible  <bruno@clisp.org>
93059         * modules/tsearch: New file.
93060         * lib/tsearch.h: New file.
93061         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
93062         * m4/tsearch.m4: New file.
93063         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
93065 2006-10-29  Eric Blake  <ebb9@byu.net>
93067         * lib/arcfour.c: Assume config.h.
93068         * lib/arctwo.c: Likewise.
93069         * lib/base64.c: Likewise.
93070         * lib/check-version.c: Likewise.
93071         * lib/crc.c: Likewise.
93072         * lib/des.c: Likewise.
93073         * lib/gc-gnulib.c: Likewise.
93074         * lib/gc-libgcrypt.c: Likewise.
93075         * lib/gc-pbkdf2-sha1.c: Likewise.
93076         * lib/getaddrinfo.c: Likewise.
93077         * lib/getdelim.c: Likewise.
93078         * lib/getline.c: Likewise.
93079         * lib/hmac-md5.c: Likewise.
93080         * lib/hmac-sha1.c: Likewise.
93081         * lib/iconvme.c: Likewise.
93082         * lib/md2.c: Likewise.
93083         * lib/md4.c: Likewise.
93084         * lib/memxor.c: Likewise.
93085         * lib/read-file.c: Likewise.
93086         * lib/readline.c: Likewise.
93087         * lib/rijndael-alg-fst.c: Likewise.
93088         * lib/rijndael-api-fst.c: Likewise.
93089         * lib/xgetdomainname.c: Likewise.
93091 2006-10-28  Eric Blake  <ebb9@byu.net>
93093         * lib/xstrndup.c: Assume config.h.
93095 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
93097         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
93098         stat-macros.h is now for our own macros, whereas stat_h is for
93099         macros in the <sys/stat.h> name space.
93100         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
93101         (STAT_MACROS_H): Remove.
93102         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
93103         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
93104         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
93105         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
93106         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
93107         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
93108         Move these macros to ...
93109         * lib/stat_.h: here.  Don't include stat-macros.h.
93110         * lib/canonicalize.c: Don't include stat-macros.h.
93111         * lib/chown.c: Likewise.
93112         * lib/euidaccess.c: Likewise.
93113         * lib/file-type.c: Likewise.
93114         * lib/filemode.c: Likewise.
93115         * lib/glob.c: Likewise.
93116         * lib/isapipe.c: Likewise.
93117         * lib/lchown.c: Likewise.
93118         * lib/lstat.c: Likewise.
93119         * lib/mkdir-p.c: Likewise.
93120         * lib/rmdir.c: Likewise.
93121         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
93122         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
93123         unless mkdir isn't declared, to speed up 'configure'.
93124         Always create sys/stat.h, since it's unlikely any real sys/stat.h
93125         would define all the S_* symbols.
93126         * modules/canonicalize (Depends-on):
93127         Depend on sys_stat, not stat-macros.
93128         * modules/chown: Likewise.
93129         * modules/euidaccess: Likewise.
93130         * modules/filemode: Likewise.
93131         * modules/file-type: Likewise.
93132         * modules/glob: Likewise.
93133         * modules/isapipe: Likewise.
93134         * modules/lchown: Likewise.
93135         * modules/lstat: Likewise.
93136         * modules/mkancesdirs: Likewise.
93137         * modules/rmdir: Likewise.
93138         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
93139         * modules/modechange: Likewise.
93140         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
93141         (configure.ac): Remove gl_STAT_MACROS.
93142         * modules/sys_stat (Depends-on): Remove stat-macros.
93144 2006-10-27  Bruno Haible  <bruno@clisp.org>
93146         * m4/signed.m4: Remove file.
93147         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
93148         invocation.
93149         * modules/vasnprintf (Files): Remove m4/signed.m4.
93151 2006-10-27  Bruno Haible  <bruno@clisp.org>
93153         Update to GNU gettext 0.16.
93154         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
93155         m4/inttypes-h.m4, m4/signed.m4.
93156         * m4/gettext.m4: Update to GNU gettext 0.16.
93157         * m4/intl.m4: New file, from GNU gettext.
93158         * m4/intldir.m4: New file, from GNU gettext.
93159         * config/srclist.txt: Update
93161 2006-10-27  Eric Blake  <ebb9@byu.net>
93163         * MODULES.html.sh: Document tempname.
93164         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
93165         dependencies.
93166         (Files): Move lib/tempname.c...
93167         * modules/tempname: ...to this new module.
93168         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
93169         (gl_PREREQ_TEMPNAME): Move...
93170         * m4/tempname.m4: ...to this new file.
93171         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
93172         * modules/sys_stat (Depends-on): Add stat-macros.
93173         * lib/stat_.h (includes): Pick up stat macros.
93174         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
93175         if stat macros are broken.
93176         * lib/tempname.c (includes): No need to include "stat-macros.h".
93177         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
93178         (direxists, __path_search) [!_LIBC]: Don't compile these in
93179         gnulib; the tmpdir module covers that.
93180         * lib/tempname.h: New file.
93182 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
93184         * COPYING: Explain how gnulib-tool converts licence headers.
93185         Almost all wording by Eric Blake.
93187 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
93189         * lib/mbchar.h (is_basic_table): Make read-only.
93190         * lib/mbchar.c (is_basic_table): Likewise.
93191         Reported by John Darrington.
93193 2006-10-25  Bruno Haible  <bruno@clisp.org>
93195         * lib/progname.h (set_program_name): Undefine before defining.
93197 2006-10-25  Bruno Haible  <bruno@clisp.org>
93199         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
93200         false for non-gcc C++ compilers.
93201         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
93203 2006-10-24  Bruno Haible  <bruno@clisp.org>
93205         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
93206         iconv implementations like Irix iconv.
93208 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
93210         * modules/vararrays: New file.
93211         * m4/vararrays.m4: New file, taken from diffutils.
93212         * MODULES.html.sh: New module vararrays.
93214 2006-10-24  Karl Berry  <karl@gnu.org>
93216         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
93217         Don't call GNU Unix.
93219 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93221         * users.txt: Add Libtool.
93223         Sync from Libtool:
93225         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
93227         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
93228         to gnulib's policy of including config.h unconditionally.
93230 2006-10-24  Bruno Haible  <bruno@clisp.org>
93232         * modules/wcwidth (Files): Add m4/wint_t.m4.
93233         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
93234         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
93236 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
93238         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
93239         to pacify GCC with some -W flags enabled.  Problem reported by
93240         Bruno Haible.
93242 2006-10-24  Jim Meyering  <jim@meyering.net>
93244         * MODULES.html.sh: Remove uinttostr.  It's not a module.
93245         Reported by Karl Berry.
93247 2006-10-23  Bruno Haible  <bruno@clisp.org>
93249         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
93251 2006-10-24  Bruno Haible  <bruno@clisp.org>
93253         * lib/gl_list.h: Use C comment style, not C++ comment style.
93255 2006-10-23  Eric Blake  <ebb9@byu.net>
93257         * lib/getaddrinfo.c (includes): Add missing include.
93259 2006-10-23  Bruno Haible  <bruno@clisp.org>
93260             Paul Eggert  <eggert@cs.ucla.edu>
93262         Ability to rename obstack_free.
93263         * lib/obstack.h (__obstack_free): New macro. Declare instead of
93264         obstack_free.
93265         (obstack_free): Invoke the __obstack_free macro.
93266         * lib/obstack.c (obstack_free): Use __obstack_free macro.
93268 2006-10-23  Bruno Haible  <bruno@clisp.org>
93269             Paul Eggert  <eggert@cs.ucla.edu>
93271         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
93272         __argc, __argv from the declaration. (They are defined as macros on
93273         mingw.)
93275 2006-10-22  Bruno Haible  <bruno@clisp.org>
93277         * doc/gnulib-intro.texi: New file.
93278         * doc/gnulib.texi: Include it.
93280 2006-10-21  Bruno Haible  <bruno@clisp.org>
93282         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
93283         "Introduction", "Miscellanous Notes", "Particular Modules".
93285 2006-10-21  Bruno Haible  <bruno@clisp.org>
93287         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
93288         Change mostlyclean-local rule to avoid sh syntax error from bash
93289         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
93291 2006-10-23  Jim Meyering  <jim@meyering.net>
93293         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
93294         in place of snprintf.
93296         * modules/inttostr (Files): Add lib/uinttostr.c.
93297         * lib/uinttostr.c (inttostr): New file/function.
93298         * lib/inttostr.h (uinttostr): Declare.
93299         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
93300         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
93301         Add uinttostr.
93302         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
93304 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
93306         * lib/canonicalize.c (ELOOP): Define if not already defined.
93307         Problem reported by Bruno Haible in
93308         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
93310 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
93312         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
93313         Problem reported by Perry Smith and Ville Laurikari.
93315         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
93316         uses.
93318 2006-10-19  Bruno Haible  <bruno@clisp.org>
93320         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
93321         for mingw.
93323 2006-10-19  Bruno Haible  <bruno@clisp.org>
93325         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
93326         Needed for mingw.
93328 2006-10-19  Bruno Haible  <bruno@clisp.org>
93330         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
93332 2006-10-19  Bruno Haible  <bruno@clisp.org>
93334         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
93335         it.
93337 2006-10-19  Bruno Haible  <bruno@clisp.org>
93339         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
93340         invocation.
93342 2006-10-19  Bruno Haible  <bruno@clisp.org>
93344         * gnulib-tool (func_create_testdir): Don't include ftruncate and
93345         mountlist by default.
93347 2006-10-16  Bruno Haible  <bruno@clisp.org>
93349         * lib/c-strstr.c: Include c-strstr.h.
93351 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
93353         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
93354         in a slash.
93356 2006-10-18  Bruno Haible  <bruno@clisp.org>
93358         * lib/lock.h [C++]: Wrap definitions in extern "C".
93360 2006-10-18  Bruno Haible  <bruno@clisp.org>
93362         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
93363         gl_LIBOBJS list.
93365 2006-10-18  Bruno Haible  <bruno@clisp.org>
93367         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
93369 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
93371         * lib/xstrtol.h: Include gettext.h.
93372         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
93373         Problem reported by Eric Blake.
93374         * modules/xstrtol (Depends-on): Add gettext-h.
93376 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
93378         * lib/strftime.c (advance): New macro.
93379         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
93380         incomplete type, so you can't add 0 to it.  Problem and patch
93381         reported by Eelco Dolstra for dietlibc.
93383 2006-10-18  Jim Meyering  <jim@meyering.net>
93385         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
93386         type for a local, and rename it: s/up/user_proc/.
93388 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
93390         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
93391         READ_UTMP_USER_PROCESS.
93392         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
93394 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
93396         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
93397         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
93399 2006-10-17  Eric Blake  <ebb9@byu.net>
93401         * lib/sigprocmask.c (sigprocmask): Fix typo.
93403         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
93405         * modules/clean-temp (Makefile.am): Don't add to make output...
93406         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
93407         config.h.
93409 2006-10-17  Bruno Haible  <bruno@clisp.org>
93411         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
93412         differently if DEFAULT_TEXT_DOMAIN is set.
93414 2006-10-16  Bruno Haible  <bruno@clisp.org>
93416         * lib/clean-temp.c: Include fwriteerror.h.
93418 2006-10-16  Bruno Haible  <bruno@clisp.org>
93420         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
93422 2006-10-16  Bruno Haible  <bruno@clisp.org>
93424         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
93425         * lib/sigprocmask.h: Include <sys/types.h>.
93426         (sigset_t): Use the system's definition if present.
93428 2006-10-17  Eric Blake  <ebb9@byu.net>
93430         * lib/xvasprintf.c (includes): Assume config.h.
93431         * lib/xasprintf.c (includes): Likewise.
93433 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
93435         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
93436         at least as wide as intmax_t.
93438 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
93440         (Imported from Automake.)
93441         * build-aux/gnupload: Update to version 1.1 of directive file.
93443 2006-10-16  Eric Blake  <ebb9@byu.net>
93445         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
93446         match Automake 1.10a.
93448 2006-10-14  Bruno Haible  <bruno@clisp.org>
93450         * modules/sigprocmask: New file.
93451         * lib/sigprocmask.h: New file.
93452         * lib/sigprocmask.c: New file.
93453         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
93454         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
93455         request sigprocmask.o.
93456         (gl_PREREQ_SIGPROCMASK): New macro.
93457         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
93458         (Depends-on): Add sigprocmask.
93459         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
93460         gt_SIGNALBLOCKING. Test for 'raise' only once.
93461         * lib/fatal-signal.c: Include sigprocmask.h.
93462         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
93463         unblock_fatal_signals): Define always.
93464         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
93465         sigprocmask.
93467 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
93469         Sync from Automake.
93470         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
93471         which incorrectly sets the mode of an existing destination
93472         directory.  In some cases the unpatched install-sh could do the
93473         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
93474         system.  We hope this is rare in practice, but it's clearly worth
93475         fixing.  Problem reported by Alex Unleashed in
93476         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
93477         Also, don't bother to check for -m bugs unless we're using -m;
93478         suggested by Stepan Kasal.
93480 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93482         Sync from Automake.
93483         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
93484         `-c' flag, so they appear at the same position as in %FASTDEP%
93485         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
93486         which ignores unknown options only after the first non-option.
93487         Bug report against M4 by Nelson H. F. Beebe.
93489 2006-10-13  Jim Meyering  <jim@meyering.net>
93491         Fix a bug in yesterday's change.
93492         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
93493         p->fts_statp->st_dev would be used uninitialized.
93494         Ensures that we always call fts_stat on the very first entry.
93495         Miklos Szeredi reported that find -xdev stopped working.
93497 2006-10-12  Bruno Haible  <bruno@clisp.org>
93499         * gnulib-tool (func_get_automake_snippet): Append an automatically
93500         computed EXTRA_DIST augmentation.
93501         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
93502         * modules/alloca-opt (Makefile.am): Likewise.
93503         * modules/allocsa (Makefile.am): Likewise.
93504         * modules/arcfour (Makefile.am): Likewise.
93505         * modules/arctwo (Makefile.am): Likewise.
93506         * modules/argmatch (Makefile.am): Likewise.
93507         * modules/argz (Makefile.am): Likewise.
93508         * modules/atexit (Makefile.am): Likewise.
93509         * modules/backupfile (Makefile.am): Likewise.
93510         * modules/byteswap (Makefile.am): Likewise.
93511         * modules/c-strtod (Makefile.am): Likewise.
93512         * modules/c-strtold (Makefile.am): Likewise.
93513         * modules/calloc (Makefile.am): Likewise.
93514         * modules/canon-host (Makefile.am): Likewise.
93515         * modules/canonicalize (Makefile.am): Likewise.
93516         * modules/chdir-long (Makefile.am): Likewise.
93517         * modules/chdir-safer (Makefile.am): Likewise.
93518         * modules/check-version (Makefile.am): Likewise.
93519         * modules/chown (Makefile.am): Likewise.
93520         * modules/cloexec (Makefile.am): Likewise.
93521         * modules/close-stream (Makefile.am): Likewise.
93522         * modules/closeout (Makefile.am): Likewise.
93523         * modules/crc (Makefile.am): Likewise.
93524         * modules/csharpexec (Makefile.am): Likewise.
93525         * modules/cycle-check (Makefile.am): Likewise.
93526         * modules/des (Makefile.am): Likewise.
93527         * modules/dev-ino (Makefile.am): Likewise.
93528         * modules/dirfd (Makefile.am): Likewise.
93529         * modules/dirname (Makefile.am): Likewise.
93530         * modules/dup2 (Makefile.am): Likewise.
93531         * modules/eealloc (Makefile.am): Likewise.
93532         * modules/error (Makefile.am): Likewise.
93533         * modules/euidaccess (Makefile.am): Likewise.
93534         * modules/exclude (Makefile.am): Likewise.
93535         * modules/exitfail (Makefile.am): Likewise.
93536         * modules/fcntl-safer (Makefile.am): Likewise.
93537         * modules/fcntl (Makefile.am): Likewise.
93538         * modules/file-type (Makefile.am): Likewise.
93539         * modules/fileblocks (Makefile.am): Likewise.
93540         * modules/filemode (Makefile.am): Likewise.
93541         * modules/filenamecat (Makefile.am): Likewise.
93542         * modules/fnmatch (Makefile.am): Likewise.
93543         * modules/fopen-safer (Makefile.am): Likewise.
93544         * modules/fpending (Makefile.am): Likewise.
93545         * modules/fprintftime (Makefile.am): Likewise.
93546         * modules/free (Makefile.am): Likewise.
93547         * modules/fsusage (Makefile.am): Likewise.
93548         * modules/ftruncate (Makefile.am): Likewise.
93549         * modules/fts (Makefile.am): Likewise.
93550         * modules/gc-arcfour (Makefile.am): Likewise.
93551         * modules/gc-des (Makefile.am): Likewise.
93552         * modules/gc-hmac-md5 (Makefile.am): Likewise.
93553         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
93554         * modules/gc-md4 (Makefile.am): Likewise.
93555         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
93556         * modules/gc-sha1 (Makefile.am): Likewise.
93557         * modules/gc (Makefile.am): Likewise.
93558         * modules/getaddrinfo (Makefile.am): Likewise.
93559         * modules/getcwd (Makefile.am): Likewise.
93560         * modules/getdelim (Makefile.am): Likewise.
93561         * modules/getdomainname (Makefile.am): Likewise.
93562         * modules/getgroups (Makefile.am): Likewise.
93563         * modules/gethostname (Makefile.am): Likewise.
93564         * modules/gethrxtime (Makefile.am): Likewise.
93565         * modules/getline (Makefile.am): Likewise.
93566         * modules/getloadavg (Makefile.am): Likewise.
93567         * modules/getlogin_r (Makefile.am): Likewise.
93568         * modules/getndelim2 (Makefile.am): Likewise.
93569         * modules/getopt (Makefile.am): Likewise.
93570         * modules/getpagesize (Makefile.am): Likewise.
93571         * modules/getpass-gnu (Makefile.am): Likewise.
93572         * modules/getpass (Makefile.am): Likewise.
93573         * modules/getsubopt (Makefile.am): Likewise.
93574         * modules/gettime (Makefile.am): Likewise.
93575         * modules/gettimeofday (Makefile.am): Likewise.
93576         * modules/getugroups (Makefile.am): Likewise.
93577         * modules/getusershell (Makefile.am): Likewise.
93578         * modules/glob (Makefile.am): Likewise.
93579         * modules/group-member (Makefile.am): Likewise.
93580         * modules/hard-locale (Makefile.am): Likewise.
93581         * modules/hash (Makefile.am): Likewise.
93582         * modules/hmac-md5 (Makefile.am): Likewise.
93583         * modules/hmac-sha1 (Makefile.am): Likewise.
93584         * modules/human (Makefile.am): Likewise.
93585         * modules/idcache (Makefile.am): Likewise.
93586         * modules/imaxabs (Makefile.am): Likewise.
93587         * modules/imaxdiv (Makefile.am): Likewise.
93588         * modules/inet_ntop (Makefile.am): Likewise.
93589         * modules/inet_pton (Makefile.am): Likewise.
93590         * modules/intprops (Makefile.am): Likewise.
93591         * modules/inttostr (Makefile.am): Likewise.
93592         * modules/inttypes (Makefile.am): Likewise.
93593         * modules/isapipe (Makefile.am): Likewise.
93594         * modules/javaversion (Makefile.am): Likewise.
93595         * modules/lchmod (Makefile.am): Likewise.
93596         * modules/lchown (Makefile.am): Likewise.
93597         * modules/localcharset (Makefile.am): Likewise.
93598         * modules/long-options (Makefile.am): Likewise.
93599         * modules/lstat (Makefile.am): Likewise.
93600         * modules/malloc (Makefile.am): Likewise.
93601         * modules/mathl (Makefile.am): Likewise.
93602         * modules/mbchar (Makefile.am): Likewise.
93603         * modules/md2 (Makefile.am): Likewise.
93604         * modules/md4 (Makefile.am): Likewise.
93605         * modules/md5 (Makefile.am): Likewise.
93606         * modules/memcasecmp (Makefile.am): Likewise.
93607         * modules/memchr (Makefile.am): Likewise.
93608         * modules/memcmp (Makefile.am): Likewise.
93609         * modules/memcoll (Makefile.am): Likewise.
93610         * modules/memcpy (Makefile.am): Likewise.
93611         * modules/memmem (Makefile.am): Likewise.
93612         * modules/memmove (Makefile.am): Likewise.
93613         * modules/mempcpy (Makefile.am): Likewise.
93614         * modules/memrchr (Makefile.am): Likewise.
93615         * modules/memset (Makefile.am): Likewise.
93616         * modules/memxor (Makefile.am): Likewise.
93617         * modules/mkancesdirs (Makefile.am): Likewise.
93618         * modules/mkdir-p (Makefile.am): Likewise.
93619         * modules/mkdir (Makefile.am): Likewise.
93620         * modules/mkdtemp (Makefile.am): Likewise.
93621         * modules/mkstemp (Makefile.am): Likewise.
93622         * modules/mktime (Makefile.am): Likewise.
93623         * modules/modechange (Makefile.am): Likewise.
93624         * modules/mountlist (Makefile.am): Likewise.
93625         * modules/nanosleep (Makefile.am): Likewise.
93626         * modules/obstack (Makefile.am): Likewise.
93627         * modules/openat (Makefile.am): Likewise.
93628         * modules/pagealign_alloc (Makefile.am): Likewise.
93629         * modules/pathmax (Makefile.am): Likewise.
93630         * modules/physmem (Makefile.am): Likewise.
93631         * modules/poll (Makefile.am): Likewise.
93632         * modules/posixtm (Makefile.am): Likewise.
93633         * modules/posixver (Makefile.am): Likewise.
93634         * modules/putenv (Makefile.am): Likewise.
93635         * modules/quote (Makefile.am): Likewise.
93636         * modules/quotearg (Makefile.am): Likewise.
93637         * modules/raise (Makefile.am): Likewise.
93638         * modules/read-file (Makefile.am): Likewise.
93639         * modules/readline (Makefile.am): Likewise.
93640         * modules/readlink (Makefile.am): Likewise.
93641         * modules/readtokens (Makefile.am): Likewise.
93642         * modules/readutmp (Makefile.am): Likewise.
93643         * modules/realloc (Makefile.am): Likewise.
93644         * modules/regex (Makefile.am): Likewise.
93645         * modules/rename-dest-slash (Makefile.am): Likewise.
93646         * modules/rename (Makefile.am): Likewise.
93647         * modules/rijndael (Makefile.am): Likewise.
93648         * modules/rmdir (Makefile.am): Likewise.
93649         * modules/rpmatch (Makefile.am): Likewise.
93650         * modules/safe-read (Makefile.am): Likewise.
93651         * modules/safe-write (Makefile.am): Likewise.
93652         * modules/same-inode (Makefile.am): Likewise.
93653         * modules/same (Makefile.am): Likewise.
93654         * modules/save-cwd (Makefile.am): Likewise.
93655         * modules/savedir (Makefile.am): Likewise.
93656         * modules/setenv (Makefile.am): Likewise.
93657         * modules/settime (Makefile.am): Likewise.
93658         * modules/sha1 (Makefile.am): Likewise.
93659         * modules/sig2str (Makefile.am): Likewise.
93660         * modules/snprintf (Makefile.am): Likewise.
93661         * modules/stat-macros (Makefile.am): Likewise.
93662         * modules/stat-time (Makefile.am): Likewise.
93663         * modules/stdbool (Makefile.am): Likewise.
93664         * modules/stdint (Makefile.am): Likewise.
93665         * modules/stdlib-safer (Makefile.am): Likewise.
93666         * modules/stpcpy (Makefile.am): Likewise.
93667         * modules/stpncpy (Makefile.am): Likewise.
93668         * modules/strcase (Makefile.am): Likewise.
93669         * modules/strcasestr (Makefile.am): Likewise.
93670         * modules/strchrnul (Makefile.am): Likewise.
93671         * modules/strcspn (Makefile.am): Likewise.
93672         * modules/strdup (Makefile.am): Likewise.
93673         * modules/strerror (Makefile.am): Likewise.
93674         * modules/strftime (Makefile.am): Likewise.
93675         * modules/strndup (Makefile.am): Likewise.
93676         * modules/strnlen (Makefile.am): Likewise.
93677         * modules/strpbrk (Makefile.am): Likewise.
93678         * modules/strsep (Makefile.am): Likewise.
93679         * modules/strstr (Makefile.am): Likewise.
93680         * modules/strtod (Makefile.am): Likewise.
93681         * modules/strtoimax (Makefile.am): Likewise.
93682         * modules/strtok_r (Makefile.am): Likewise.
93683         * modules/strtol (Makefile.am): Likewise.
93684         * modules/strtoll (Makefile.am): Likewise.
93685         * modules/strtoul (Makefile.am): Likewise.
93686         * modules/strtoull (Makefile.am): Likewise.
93687         * modules/strtoumax (Makefile.am): Likewise.
93688         * modules/strverscmp (Makefile.am): Likewise.
93689         * modules/sys_socket (Makefile.am): Likewise.
93690         * modules/sys_stat (Makefile.am): Likewise.
93691         * modules/sysexits (Makefile.am): Likewise.
93692         * modules/time_r (Makefile.am): Likewise.
93693         * modules/timegm (Makefile.am): Likewise.
93694         * modules/timespec (Makefile.am): Likewise.
93695         * modules/tmpfile-safer (Makefile.am): Likewise.
93696         * modules/trim (Makefile.am): Likewise.
93697         * modules/unistd-safer (Makefile.am): Likewise.
93698         * modules/unlinkdir (Makefile.am): Likewise.
93699         * modules/unlocked-io (Makefile.am): Likewise.
93700         * modules/userspec (Makefile.am): Likewise.
93701         * modules/utime (Makefile.am): Likewise.
93702         * modules/utimecmp (Makefile.am): Likewise.
93703         * modules/utimens (Makefile.am): Likewise.
93704         * modules/vasnprintf (Makefile.am): Likewise.
93705         * modules/vasprintf (Makefile.am): Likewise.
93706         * modules/vsnprintf (Makefile.am): Likewise.
93707         * modules/xalloc (Makefile.am): Likewise.
93708         * modules/xgetcwd (Makefile.am): Likewise.
93709         * modules/xnanosleep (Makefile.am): Likewise.
93710         * modules/xreadlink (Makefile.am): Likewise.
93711         * modules/xstrtod (Makefile.am): Likewise.
93712         * modules/xstrtol (Makefile.am): Likewise.
93713         * modules/xstrtold (Makefile.am): Likewise.
93714         * modules/yesno (Makefile.am): Likewise.
93715         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
93717 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
93719         * modules/error (Makefile.am): Distribute files through
93720         EXTRA_DIST, not lib_SOURCES.
93722 2006-10-12  Eric Blake  <ebb9@byu.net>
93724         * modules/error (Makefile.am): Distribute files in /lib.
93725         * modules/obstack (Makefile.am): Likewise.
93727 2006-10-12  Bruno Haible  <bruno@clisp.org>
93729         * modules/acl (Makefile.am): Distribute all files in lib/ through
93730         EXTRA_DIST.
93731         * modules/arcfour (Makefile.am): Likewise.
93732         * modules/arctwo (Makefile.am): Likewise.
93733         * modules/argmatch (Makefile.am): Likewise.
93734         * modules/argz (Makefile.am): Likewise.
93735         * modules/atexit (Makefile.am): Likewise.
93736         * modules/backupfile (Makefile.am): Likewise.
93737         * modules/c-strtod (Makefile.am): Likewise.
93738         * modules/c-strtold (Makefile.am): Likewise.
93739         * modules/calloc (Makefile.am): Likewise.
93740         * modules/canon-host (Makefile.am): Likewise.
93741         * modules/canonicalize (Makefile.am): Likewise.
93742         * modules/chdir-long (Makefile.am): Likewise.
93743         * modules/chdir-safer (Makefile.am): Likewise.
93744         * modules/check-version (Makefile.am): Likewise.
93745         * modules/chown (Makefile.am): Likewise.
93746         * modules/cloexec (Makefile.am): Likewise.
93747         * modules/close-stream (Makefile.am): Likewise.
93748         * modules/closeout (Makefile.am): Likewise.
93749         * modules/crc (Makefile.am): Likewise.
93750         * modules/cycle-check (Makefile.am): Likewise.
93751         * modules/des (Makefile.am): Likewise.
93752         * modules/dirfd (Makefile.am): Likewise.
93753         * modules/dirname (Makefile.am): Likewise.
93754         * modules/dup2 (Makefile.am): Likewise.
93755         * modules/euidaccess (Makefile.am): Likewise.
93756         * modules/exclude (Makefile.am): Likewise.
93757         * modules/exitfail (Makefile.am): Likewise.
93758         * modules/fcntl-safer (Makefile.am): Likewise.
93759         * modules/file-type (Makefile.am): Likewise.
93760         * modules/fileblocks (Makefile.am): Likewise.
93761         * modules/filemode (Makefile.am): Likewise.
93762         * modules/filenamecat (Makefile.am): Likewise.
93763         * modules/fnmatch (Makefile.am): Likewise.
93764         * modules/fopen-safer (Makefile.am): Likewise.
93765         * modules/fpending (Makefile.am): Likewise.
93766         * modules/fprintftime (Makefile.am): Likewise.
93767         * modules/free (Makefile.am): Likewise.
93768         * modules/fsusage (Makefile.am): Likewise.
93769         * modules/ftruncate (Makefile.am): Likewise.
93770         * modules/fts (Makefile.am): Likewise.
93771         * modules/gc (Makefile.am): Likewise.
93772         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
93773         * modules/getaddrinfo (Makefile.am): Likewise.
93774         * modules/getcwd (Makefile.am): Likewise.
93775         * modules/getdelim (Makefile.am): Likewise.
93776         * modules/getdomainname (Makefile.am): Likewise.
93777         * modules/getgroups (Makefile.am): Likewise.
93778         * modules/gethostname (Makefile.am): Likewise.
93779         * modules/gethrxtime (Makefile.am): Likewise.
93780         * modules/getline (Makefile.am): Likewise.
93781         * modules/getloadavg (Makefile.am): Likewise.
93782         * modules/getlogin_r (Makefile.am): Likewise.
93783         * modules/getopt (Makefile.am): Likewise.
93784         * modules/getpass (Makefile.am): Likewise.
93785         * modules/getpass-gnu (Makefile.am): Likewise.
93786         * modules/getsubopt (Makefile.am): Likewise.
93787         * modules/gettime (Makefile.am): Likewise.
93788         * modules/gettimeofday (Makefile.am): Likewise.
93789         * modules/getugroups (Makefile.am): Likewise.
93790         * modules/getusershell (Makefile.am): Likewise.
93791         * modules/glob (Makefile.am): Likewise.
93792         * modules/group-member (Makefile.am): Likewise.
93793         * modules/hard-locale (Makefile.am): Likewise.
93794         * modules/hash (Makefile.am): Likewise.
93795         * modules/hmac-md5 (Makefile.am): Likewise.
93796         * modules/hmac-sha1 (Makefile.am): Likewise.
93797         * modules/human (Makefile.am): Likewise.
93798         * modules/idcache (Makefile.am): Likewise.
93799         * modules/imaxabs (Makefile.am): Likewise.
93800         * modules/imaxdiv (Makefile.am): Likewise.
93801         * modules/inet_ntop (Makefile.am): Likewise.
93802         * modules/inet_pton (Makefile.am): Likewise.
93803         * modules/inttostr (Makefile.am): Likewise.
93804         * modules/isapipe (Makefile.am): Likewise.
93805         * modules/lchown (Makefile.am): Likewise.
93806         * modules/long-options (Makefile.am): Likewise.
93807         * modules/lstat (Makefile.am): Likewise.
93808         * modules/malloc (Makefile.am): Likewise.
93809         * modules/mathl (Makefile.am): Likewise.
93810         * modules/mbchar (Makefile.am): Likewise.
93811         * modules/md2 (Makefile.am): Likewise.
93812         * modules/md4 (Makefile.am): Likewise.
93813         * modules/md5 (Makefile.am): Likewise.
93814         * modules/memcasecmp (Makefile.am): Likewise.
93815         * modules/memchr (Makefile.am): Likewise.
93816         * modules/memcmp (Makefile.am): Likewise.
93817         * modules/memcoll (Makefile.am): Likewise.
93818         * modules/memcpy (Makefile.am): Likewise.
93819         * modules/memmem (Makefile.am): Likewise.
93820         * modules/memmove (Makefile.am): Likewise.
93821         * modules/mempcpy (Makefile.am): Likewise.
93822         * modules/memrchr (Makefile.am): Likewise.
93823         * modules/memset (Makefile.am): Likewise.
93824         * modules/memxor (Makefile.am): Likewise.
93825         * modules/mkancesdirs (Makefile.am): Likewise.
93826         * modules/mkdir (Makefile.am): Likewise.
93827         * modules/mkdir-p (Makefile.am): Likewise.
93828         * modules/mkdtemp (Makefile.am): Likewise.
93829         * modules/mkstemp (Makefile.am): Likewise.
93830         * modules/mktime (Makefile.am): Likewise.
93831         * modules/modechange (Makefile.am): Likewise.
93832         * modules/mountlist (Makefile.am): Likewise.
93833         * modules/nanosleep (Makefile.am): Likewise.
93834         * modules/openat (Makefile.am): Likewise.
93835         * modules/pagealign_alloc (Makefile.am): Likewise.
93836         * modules/physmem (Makefile.am): Likewise.
93837         * modules/poll (Makefile.am): Likewise.
93838         * modules/posixtm (Makefile.am): Likewise.
93839         * modules/posixver (Makefile.am): Likewise.
93840         * modules/putenv (Makefile.am): Likewise.
93841         * modules/quote (Makefile.am): Likewise.
93842         * modules/quotearg (Makefile.am): Likewise.
93843         * modules/raise (Makefile.am): Likewise.
93844         * modules/read-file (Makefile.am): Likewise.
93845         * modules/readline (Makefile.am): Likewise.
93846         * modules/readlink (Makefile.am): Likewise.
93847         * modules/readtokens (Makefile.am): Likewise.
93848         * modules/readutmp (Makefile.am): Likewise.
93849         * modules/realloc (Makefile.am): Likewise.
93850         * modules/regex (Makefile.am): Likewise.
93851         * modules/rename (Makefile.am): Likewise.
93852         * modules/rename-dest-slash (Makefile.am): Likewise.
93853         * modules/rijndael (Makefile.am): Likewise.
93854         * modules/rmdir (Makefile.am): Likewise.
93855         * modules/rpmatch (Makefile.am): Likewise.
93856         * modules/safe-read (Makefile.am): Likewise.
93857         * modules/safe-write (Makefile.am): Likewise.
93858         * modules/same (Makefile.am): Likewise.
93859         * modules/save-cwd (Makefile.am): Likewise.
93860         * modules/savedir (Makefile.am): Likewise.
93861         * modules/setenv (Makefile.am): Likewise.
93862         * modules/settime (Makefile.am): Likewise.
93863         * modules/sha1 (Makefile.am): Likewise.
93864         * modules/sig2str (Makefile.am): Likewise.
93865         * modules/snprintf (Makefile.am): Likewise.
93866         * modules/stdlib-safer (Makefile.am): Likewise.
93867         * modules/stpcpy (Makefile.am): Likewise.
93868         * modules/stpncpy (Makefile.am): Likewise.
93869         * modules/strcase (Makefile.am): Likewise.
93870         * modules/strcasestr (Makefile.am): Likewise.
93871         * modules/strchrnul (Makefile.am): Likewise.
93872         * modules/strcspn (Makefile.am): Likewise.
93873         * modules/strdup (Makefile.am): Likewise.
93874         * modules/strerror (Makefile.am): Likewise.
93875         * modules/strftime (Makefile.am): Likewise.
93876         * modules/strndup (Makefile.am): Likewise.
93877         * modules/strnlen (Makefile.am): Likewise.
93878         * modules/strpbrk (Makefile.am): Likewise.
93879         * modules/strsep (Makefile.am): Likewise.
93880         * modules/strstr (Makefile.am): Likewise.
93881         * modules/strtod (Makefile.am): Likewise.
93882         * modules/strtoimax (Makefile.am): Likewise.
93883         * modules/strtok_r (Makefile.am): Likewise.
93884         * modules/strtol (Makefile.am): Likewise.
93885         * modules/strtoll (Makefile.am): Likewise.
93886         * modules/strtoul (Makefile.am): Likewise.
93887         * modules/strtoull (Makefile.am): Likewise.
93888         * modules/strtoumax (Makefile.am): Likewise.
93889         * modules/strverscmp (Makefile.am): Likewise.
93890         * modules/time_r (Makefile.am): Likewise.
93891         * modules/timegm (Makefile.am): Likewise.
93892         * modules/tmpfile-safer (Makefile.am): Likewise.
93893         * modules/unistd-safer (Makefile.am): Likewise.
93894         * modules/unlinkdir (Makefile.am): Likewise.
93895         * modules/userspec (Makefile.am): Likewise.
93896         * modules/utime (Makefile.am): Likewise.
93897         * modules/utimecmp (Makefile.am): Likewise.
93898         * modules/utimens (Makefile.am): Likewise.
93899         * modules/vasnprintf (Makefile.am): Likewise.
93900         * modules/vasprintf (Makefile.am): Likewise.
93901         * modules/vsnprintf (Makefile.am): Likewise.
93902         * modules/xalloc (Makefile.am): Likewise.
93903         * modules/xgetcwd (Makefile.am): Likewise.
93904         * modules/xnanosleep (Makefile.am): Likewise.
93905         * modules/xreadlink (Makefile.am): Likewise.
93906         * modules/xstrtod (Makefile.am): Likewise.
93907         * modules/xstrtol (Makefile.am): Likewise.
93908         * modules/xstrtold (Makefile.am): Likewise.
93909         * modules/yesno (Makefile.am): Likewise.
93911 2006-10-12  Jim Meyering  <jim@meyering.net>
93913         * m4/getloadavg.m4: Revert the change below.
93915         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
93916         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
93917         fail with a symlink, which is what coreutils' ./bootstrap now
93918         creates by default.
93920 2006-10-12  Bruno Haible  <bruno@clisp.org>
93922         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
93923         mingw.
93924         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
93925         MSVC and mingw explicitly.
93927 2006-10-11  Simon Josefsson  <jas@extundo.com>
93928             Bruno Haible  <bruno@clisp.org>
93930         Add support for multiple gnulib-tool invocations in the scope of a
93931         single configure.ac file.
93932         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
93933         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
93934         with the same contents as the _LIBADD variable.
93935         (func_emit_initmacro_start, func_emit_initmacro_end,
93936         func_emit_initmacro_done): New functions.
93937         (func_import, func_create_testdir): Invoke them. Allow the identifiers
93938         gl_LIBOBJS and gl_LTLIBOBJS.
93940 2006-10-11  Bruno Haible  <bruno@clisp.org>
93942         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
93943         (func_create_testdir): Don't create po/Makefile.am, don't invoke
93944         autoreconf. Instead, invoke autopoint explicitly but move back the
93945         *.m4 files from gnulib.
93947 2006-10-11  Bruno Haible  <bruno@clisp.org>
93949         * gnulib-tool (func_usage): Make module names after --create-testdir
93950         optional.
93951         (func_create_testdir): If no module was specified, use nearly all
93952         modules.
93954 2006-10-12  Jim Meyering  <jim@meyering.net>
93956         Big performance improvement for fts-based tools that use FTS_NOSTAT.
93957         Avoid spurious inode-mismatch problems on non-POSIX file systems.
93958         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
93959         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
93960         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
93961         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
93962         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
93963         (fts_set_stat_required): New function.
93964         (fts_open): Defer the calls to fts_stat, if possible or requested.
93965         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
93966         into fts_stat itself.
93967         (fts_read): Perform any required (deferred) fts_stat call.
93968         (fts_build): Likewise, for the directory we're about to open and read.
93969         In the readdir loop, carefully decide whether each entry will require
93970         an eventual call to fts_stat, using dirent.d_type info if available.
93971         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
93972         a command line argument into this function.  Update all callers.
93973         Map a return value of FTS_DOT to FTS_D for a command line argument.
93974         * modules/fts (Depends-on): Add d-type.  Alphabetize.
93975         Thanks to Miklos Szeredi for his tenacity and for the initial
93976         bug report about "find" failing on a FUSE-based file system.
93978         * lib/fts.c (fts_open): Use consistent indentation.
93980 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
93982         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
93983         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
93984         reported by Jim Meyering.  All uses of cache variables renamed
93985         to match Autoconf's.
93986         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
93987         the other one.
93989         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
93990         Fix misspelling in diagnostic.
93992 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
93994         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
93995         defined.  Problem reported by Matthew Woehlke.
93997         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
93998         Add support for Tandem NonStop R series.
93999         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
94000         Use new macro.
94002         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
94003         (has_trailing_slash): Omit size arg; all callers changed.
94004         Omit 'inline', since it doesn't help performance and we'd
94005         need to configure it.
94006         Don't count //, ///, etc. as having a trailing slash.
94007         As a side effect, this removes a C99ism reported by Matthew Woehlke.
94008         (rpl_rename_dest_slash): On failure, use rename's errno rather
94009         than (in some cases) an incorrect or junk errno.
94010         Simplify code by removing need to compute length; this does
94011         cause it to make two passes instead of one over the file name,
94012         but it's worth it.
94014         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
94015         change, since Autoconf's version may no longer be appropriate now
94016         that we are using CVS Autoconf's version.  Add support for Tandem.
94018 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
94019             Bruno Haible  <bruno@clisp.org>
94021         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
94022         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
94023         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
94024         gl_AC_TYPE_LONG_LONG.
94026         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
94027         instead of HAVE_LONG_LONG.
94028         * lib/printf-args.c (printf_fetchargs): Likewise.
94029         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
94030         * lib/vasnprintf.c (VASNPRINTF): Likewise.
94031         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
94032         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
94033         gl_AC_TYPE_LONG_LONG.
94035 2006-10-11  Bruno Haible  <bruno@clisp.org>
94037         * m4/longlong.m4: Add comments.
94038         * m4/ulonglong.m4: Likewise.
94040 2006-10-10  Bruno Haible  <bruno@clisp.org>
94042         Make it possible to #define stpcpy, strdup to aliases.
94043         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
94044         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
94046 2006-10-10  Bruno Haible  <bruno@clisp.org>
94048         Make it possible to #define gcd to an alias.
94049         * lib/gcd.c: Include config.h.
94051 2006-10-10  Bruno Haible  <bruno@clisp.org>
94053         Make it possible to #define c_isascii to an alias.
94054         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
94055         defined. Undefine the macros before defining them, to avoid gcc
94056         warnings.
94057         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
94058         define NO_C_CTYPE_MACROS early.
94060 2006-10-10  Bruno Haible  <bruno@clisp.org>
94062         Make it possible to #define set_program_name to an alias.
94063         * lib/progname.c: Don't undefine set_program_name; instead, undefine
94064         ENABLE_RELOCATABLE early.
94066 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
94068         Port to Tandem NSK OSS, which has 64-bit signed int but at most
94069         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
94070         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
94071         More generally, don't assume that 64-bit signed int is available
94072         if unsigned int is, and vice versa.
94073         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
94074         unsigned symbols, not on their signed counterparts.
94075         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
94076         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
94077         (UINT64_C, UINTMAX_C):
94078         Likewise.
94079         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
94080         unsigned counterparts.
94081         (Have_long_long, Unsigned): New macros.
94082         (Int): Renamed from INT.
94083         (strtoimax): Use the new macros.
94084         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
94085         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
94086         * modules/inttypes (inttypes.h): Substitute
94087         HAVE_UNSIGNED_LONG_LONG_INT.
94088         * modules/stdint (stdint.h): Likewise.
94089         (Files): Add m4/ulonglong.m4.
94091 2006-10-10  Bruno Haible  <bruno@clisp.org>
94093         Fix a gcc -Wshadow warning.
94094         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
94095         to 'bucket'.
94096         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
94097         gl_linked_indexof_from_to): Likewise.
94098         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
94099         Likewise.
94100         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
94101         Likewise.
94102         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
94103         Reported by Eric Blake.
94105 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
94107         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
94108         for NetBSD.  Problem reported by Bruno Haible.
94110 2006-10-09  Jim Meyering  <jim@meyering.net>
94112         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
94113         Patch from Bruno Haible.
94115 2006-10-09  Jim Meyering  <jim@meyering.net>
94117         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
94118         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
94119         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
94121 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
94123         Don't include <config.h> twice; this doesn't work in some cases,
94124         e.g., when config.h has "#define intmax_t long long int" and
94125         we include <config.h>, <inttypes.h>, <config.h> in that order.
94126         Problem reported by Matthew Woehlke in:
94127         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
94128         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
94129         * lib/fts-cycle.c: Don't include config.h.
94130         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
94131         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
94132         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
94133         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
94134         inttypes.h.
94135         * lib/xstrtoumax.c: Likewise.
94136         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
94137         __strtol and the like, so that this module is more like its siblings.
94138         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
94139         Remove; no longer needed now that we assume gnulib inttypes.h.
94141 2006-10-08  Bruno Haible  <bruno@clisp.org>
94143         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
94144         option.
94146 2006-10-07  Jim Meyering  <jim@meyering.net>
94148         * modules/inttypes (inttypes.h): Revert what seems to have been
94149         an inadvertent part of today's change: use "|", not "/" in the
94150         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
94152 2006-10-07  Bruno Haible  <bruno@clisp.org>
94154         * modules/sublist: New file.
94156 2006-10-07  Bruno Haible  <bruno@clisp.org>
94158         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
94159         * modules/argz (argz.h): Likewise.
94160         * modules/arpa_inet (arpa/inet.h): Likewise.
94161         * modules/byteswap (byteswap.h): Likewise.
94162         * modules/configmake (configmake.h): Likewise.
94163         * modules/fcntl (fcntl.h): Likewise.
94164         * modules/fnmatch (fnmatch.h): Likewise.
94165         * modules/getopt (getopt.h): Likewise.
94166         * modules/glob (glob.h): Likewise.
94167         * modules/inttypes (inttypes.h): Likewise.
94168         * modules/netinet_in (netinet/in.h): Likewise.
94169         * modules/poll (poll.h): Likewise.
94170         * modules/stdbool (stdbool.h): Likewise.
94171         * modules/stdint (stdint.h): Likewise.
94172         * modules/sys_select (sys/select.h): Likewise.
94173         * modules/sys_socket (sys/socket.h): Likewise.
94174         * modules/sys_stat (sys/stat.h): Likewise.
94175         * modules/sysexits (sysexits.h): Likewise.
94176         * modules/unistd (unistd.h): Likewise.
94177         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
94178         Add a "DO NOT EDIT" comment to the generated file.
94179         (func_import): Likewise for gnulib-comp.m4.
94181 2006-10-07  Bruno Haible  <bruno@clisp.org>
94183         * lib/gl_sublist.h: New file.
94184         * lib/gl_sublist.c: New file.
94186 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
94188         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
94189         name (relative to the original working directory) and the file
94190         name component (relative to the temporary working directory).  All
94191         callers changed.
94192         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
94193         * lib/mkdir-p.c (make_dir_parents): Likewise.
94194         * lib/mkdir-p.h (make_dir_parents): Likewise.
94196 2006-10-06  Eric Blake  <ebb9@byu.net>
94198         Define several macros for use by the clean-temp module.
94199         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
94200         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
94201         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
94203         * lib/clean-temp.h (close_stream_temp): New declaration.
94204         * lib/clean-temp.c (includes): Pull in headers according to what
94205         other modules are in use.
94206         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
94208 2006-10-06  Bruno Haible  <bruno@clisp.org>
94210         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
94211         instead of fopen, fwriteerror.
94213 2006-10-06  Bruno Haible  <bruno@clisp.org>
94215         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
94216         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
94217         int.
94218         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
94219         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
94220         Return an error indicator.
94221         Suggested by Eric Blake.
94223 2006-10-06  Bruno Haible  <bruno@clisp.org>
94225         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
94226         Reported by Eric Blake.
94228 2006-10-06  Bruno Haible  <bruno@clisp.org>
94230         * modules/closeout (Description): Mention stderr too.
94232 2006-10-06  Bruno Haible  <bruno@clisp.org>
94233         and Paul Eggert  <eggert@cs.ucla.edu>
94235         * lib/closeout.c (close_stdout): Also close stderr.
94236         * lib/closeout.h: Update comment.
94238 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
94240         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
94241         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
94242         * lib/dirchownmod.c: Include lchown.h.
94243         * lib/lchown.c: Don't include files that lchown.h now includes.
94244         Don't declare chown, since lchown.h now does that.
94245         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
94246         (lchown): Define to rpl_chown if lchown is declared but
94247         does not exist.  Declare using a prototype if lchown is not
94248         declared.  Add a copyright notice.
94249         * lib/mkstemp.h: Include <unistd.h>.
94250         * lib/openat.c: Include lchown.h.
94252         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
94253         we now test for that separately.
94254         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
94255         rather than O_NOFOLLOW, when testing whether it's possible to
94256         avoid a race condition reliably.
94257         * lib/savewd.c (savewd_chdir): Likewise.
94259         Remove macros that are no longer needed now that stdint.h is
94260         reliable.
94261         * lib/fsusage.c (UINTMAX_MAX): Remove.
94262         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
94263         * lib/utimecmp.c (SIZE_MAX): Remove.
94265         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
94267         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
94268         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
94269         O_NOATIME works.
94271 2006-10-05  Bruno Haible  <bruno@clisp.org>
94273         * lib/gl_list.h (gl_sortedlist_search_from_to,
94274         gl_sortedlist_indexof_from_to): New declarations.
94275         (gl_list_implementation): New fields sortedlist_search_from_to,
94276         sortedlist_indexof_from_to.
94277         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
94278         inline functions.
94279         * lib/gl_list.c (gl_sortedlist_search_from_to,
94280         gl_sortedlist_indexof_from_to): New functions.
94281         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
94282         function.
94283         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
94284         (gl_array_sortedlist_search_from_to): New function.
94285         (gl_array_list_implementation): Update.
94286         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
94287         function.
94288         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
94289         (gl_carray_sortedlist_search_from_to): New function.
94290         (gl_carray_list_implementation): Update.
94291         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
94292         gl_linked_sortedlist_indexof_from_to): New functions.
94293         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
94294         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
94295         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
94296         gl_tree_sortedlist_indexof_from_to): New functions.
94297         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
94298         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
94299         Update.
94300         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
94301         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
94302         Update.
94304 2006-10-05  Bruno Haible  <bruno@clisp.org>
94306         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
94307         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
94308         (struct gl_list_implementation): Add fields search_from_to,
94309         indexof_from_to. Remove fields search, indexof.
94310         (gl_list_search): Use the search_from_to method.
94311         (gl_list_search_from, gl_list_search_from_to): New functions.
94312         (gl_list_indexof): Use the indexof_from_to method.
94313         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
94314         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
94315         (gl_list_search_from, gl_list_search_from_to): New functions.
94316         (gl_list_indexof): Use the indexof_from_to method.
94317         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
94318         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
94319         gl_array_indexof. Add start_index, end_index arguments.
94320         (gl_array_search_from_to): Renamed from gl_array_search. Add
94321         start_index, end_index arguments.
94322         (gl_array_remove, gl_array_list_implementation): Update.
94323         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
94324         gl_carray_indexof. Add start_index, end_index arguments.
94325         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
94326         start_index, end_index arguments.
94327         (gl_carray_remove, gl_carray_list_implementation): Update.
94328         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
94329         gl_linked_search. Add start_index, end_index arguments.
94330         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
94331         start_index, end_index arguments.
94332         (gl_linked_remove): Update.
94333         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
94334         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
94335         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
94336         field to 'size_t'.
94337         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
94338         gl_tree_search. Add start_index, end_index arguments.
94339         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
94340         start_index, end_index arguments.
94341         (gl_tree_remove): Update.
94342         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
94343         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
94344         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
94345         function.
94346         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
94347         gl_tree_search. Add start_index, end_index arguments.
94348         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
94349         start_index, end_index arguments.
94350         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
94351         Update.
94352         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
94354 2006-10-05  Bruno Haible  <bruno@clisp.org>
94356         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
94358         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
94359         fwriteerror_temp): New declarations.
94360         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
94361         (descriptors): New variable.
94362         (cleanup): First, close the descriptors.
94363         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
94364         fclose_temp, fwriteerror_temp): New functions.
94366 2006-10-04  Jim Meyering  <jim@meyering.net>
94368         * lib/fts.c (fts_open): Tiny comment change.
94370 2006-10-04  Bruno Haible  <bruno@clisp.org>
94372         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
94373         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
94374         gl_LOCK_BODY.
94375         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
94376         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
94377         gl_LOCK_EARLY_BODY.
94378         (gl_LOCK): Require gl_LOCK_BODY.
94380 2006-10-04  Bruno Haible  <bruno@clisp.org>
94382         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
94383         (gl_oset_search_atleast): New declaration.
94384         (struct gl_oset_implementation): Add field 'search_atleast'.
94385         (gl_oset_search_atleast): New inline function.
94386         * lib/gl_oset.c (gl_oset_search_atleast): New function.
94387         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
94388         (gl_array_oset_implementation): Update.
94389         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
94390         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
94391         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
94393 2006-10-04  Bruno Haible  <bruno@clisp.org>
94395         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
94397 2006-10-03  Bruno Haible  <bruno@clisp.org>
94399         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
94400         from gl_avltreehash_list_implementation.
94402 2006-10-03  Bruno Haible  <bruno@clisp.org>
94404         * lib/gl_oset.c (gl_oset_add): Fix return type.
94406 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
94408         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
94410 2006-10-02  Eric Blake  <ebb9@byu.net>
94412         * modules/strnlen (Depends-on): Add extensions.
94414 2006-10-02  Eric Blake  <ebb9@byu.net>
94416         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
94417         definition in 2.60+.
94419 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
94421         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
94422         checks.
94424 2006-10-02  Bruno Haible  <bruno@clisp.org>
94426         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
94427         to the AUTOMAKE_OPTIONS.
94428         Reported by Jim Meyering.
94430 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
94432         Work around bug in Solaris 10 /proc file system:
94433         /proc/self/fd/NNN/.. isn't the parent directory of
94434         the directory whose file descriptor is NNN.  This needs to
94435         be worked around at run time, not compile time, since a
94436         program might be built on Solaris 8, where things work, and
94437         run on Solaris 10.
94438         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
94439         to use the following interface instead:
94440         (OPENAT_BUFFER_SIZE): New macro.
94441         (openat_proc_name): New function.
94442         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
94443         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
94444         Likewise.
94445         * lib/openat-proc.c: New file.
94446         * modules/openat (Files): Add lib/openat-proc.c.
94447         (Depends-on): Add same-inode, stdbool.
94448         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
94450 2006-09-29  Bruno Haible  <bruno@clisp.org>
94452         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
94453         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
94454         argument. Set stdout_closed before testing for ferror, not after.
94455         (fwriteerror, fwriteerror_no_ebadf): New functions.
94457 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94459         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
94461 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
94463         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
94464         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
94466 2006-09-28  Jim Meyering  <jim@meyering.net>
94468         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
94469         Include <unistd.h>.
94471 2006-09-28  Bruno Haible  <bruno@clisp.org>
94473         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
94474         * modules/linkedhash-list (Depends-on): Likewise.
94475         * modules/rbtreehash-list (Depends-on): Likewise.
94477 2006-09-28  Bruno Haible  <bruno@clisp.org>
94479         * lib/strndup.h: Simplify the redefinition of strndup.
94480         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
94481         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
94483 2006-09-28  Bruno Haible  <bruno@clisp.org>
94485         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
94486         * lib/gl_linkedhash_list.c: Likewise.
94487         * lib/gl_rbtreehash_list.c: Likewise.
94489 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
94491         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
94492         getaddrinfo.
94494         * lib/__fpending.h: Don't include <stdio_ext.h> unless
94495         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
94496         it causes <stdio_ext.h> to cause a compile-time error.
94497         Problem reported by Nelson H. F. Beebe.
94498         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
94499         of HAVE_DECL___PENDING.
94501         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
94502         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
94503         declaration.
94505 2006-09-27  Jim Meyering  <jim@meyering.net>
94507         This file could end up with a definition for a function
94508         named __strndup, rather than rpl_strndup on a system with
94509         incomplete weak_alias support.
94510         * lib/strndup.c (strndup): Rename from __strndup.
94511         Remove #defines that used to map __strndup to strndup.
94512         Don't use K&R prototypes.
94513         Remove LIBC-related code, since this file is not sync'd with glibc.
94514         * lib/strndup.h: Revamp, accordingly.
94515         * m4/strndup.m4: Modernize.
94517 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
94519         * modules/savewd (Depends-on): Add 'raise'.
94520         * lib/savewd.c: Include <signal.h>, for 'raise'.
94522 2006-09-26  Jim Meyering  <jim@meyering.net>
94524         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
94525         when we detect Darwin 8.7.0's acl_get_file bug.
94526         Rearrange to perform the new (below) run-test while $LIBS
94527         contains any acl-related library.  Set USE_ACL at the end.
94528         (gl_ACL_GET_FILE): New function.
94530 2006-09-26  Eric Blake  <ebb9@byu.net>
94532         * lib/verror.c: Include <config.h> unconditionally.
94534 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
94536         * modules/clock-time (Maintainer): Add self.
94537         * modules/getlogin_r (Depends-on): Add extensions.
94539 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94541         * modules/clock-time: New module.
94542         * modules/nanosleep (Depends-on): Add clock-time.
94543         * modules/gethrxtime (Depends-on): Likewise.
94544         * modules/gettime (Depends-on): Likewise.
94545         * modules/settime (Depends-on): Likewise.
94547         * modules/fts-lgpl: Depend on openat.
94548         * modules/mkancesdirs: Depend on savewd.
94549         * modules/mkdir-p: Likewise.
94551 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94553         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
94555         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
94556         `gl_have_arbitrary_file_name_length_limit' to
94557         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
94558         actually works between configure runs.
94560 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94561             Bruno Haible  <bruno@clisp.org>
94563         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
94565 2006-09-25  Jim Meyering  <jim@meyering.net>
94567         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
94568         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
94570 2006-09-25  Eric Blake  <ebb9@byu.net>
94572         * gnulib-tool (func_import, func_create_testdir): Fix typos in
94573         exec's in 2006-09-18 patch when shuffling fds.
94575 2006-09-25  Bruno Haible  <bruno@clisp.org>
94577         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
94578         Reported by Jim Meyering.
94580 2006-09-24  Jim Meyering  <jim@meyering.net>
94582         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
94583         compare a pointer against a literal "0".  That caused failures with
94584         at least HP-UX's hpcc.
94586 2006-09-22  Simon Josefsson  <jas@extundo.com>
94588         * modules/gc-sha1:
94589         * modules/gc-md4:
94590         * modules/gc-hmac-sha1:
94591         * modules/gc-hmac-md5:
94592         * modules/gc-des:
94593         * modules/gc-arcfour: Distribute more files.
94595 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94597         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
94598         (gl_linked_iterator_from_to): Initialize struct completely.
94599         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
94600         (gl_tree_iterator_from_to): Likewise
94601         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
94602         * lib/gl_array_list.c [lint] (gl_array_iterator)
94603         (gl_array_iterator_from_to): Likewise.
94604         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
94605         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
94606         (gl_carray_iterator_from_to): Likewise.
94608         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
94609         * lib/md4.c (md4_process_block): Remove unused variable.
94610         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
94611         parentheses for clarity.
94613 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94615         * modules/bison-i18n (Depends-on): Add gettext.
94617 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94619         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
94620         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
94621         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
94622         also add missing comma that caused broken test.
94623         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
94624         stdlib.h, for `abort'.
94625         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
94626         variables.
94627         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
94628         include unistd.h if present, for `rmdir'.
94629         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
94630         variables.
94631         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
94632         in the process include standard headers for prototypes.
94633         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
94634         gets declared on GNU/Linux.
94635         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
94636         unistd.h, for `rmdir'.
94637         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
94639         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
94640         always true.
94641         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
94643         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
94645 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94647         * gnulib-tool (func_version): Create output all at once.  This
94648         may help avoid triggering unnecessary SIGPIPEs, and at any
94649         rate it doesn't hurt.
94651 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94652             Bruno Haible  <bruno@clisp.org>
94654         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
94655         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
94656         * m4/signed.m4 (bh_C_SIGNED): Likewise.
94658         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
94659         (gl_FUNC_VASPRINTF): Invoke it.
94661 2006-09-22  Bruno Haible  <bruno@clisp.org>
94663         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
94664         getloadavg.c as first argument.
94666 2006-09-22  Bruno Haible  <bruno@clisp.org>
94668         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
94669         at the beginning of the gl_INIT macro.
94670         * modules/getloadavg (configure.ac): Pass $gl_source_base to
94671         gl_GETLOADAVG.
94673 2006-09-22  Bruno Haible  <bruno@clisp.org>
94675         * gnulib-tool (func_create_megatestdir): Don't include the config-h
94676         module.
94677         Suggested by Ralf Wildenhues.
94679 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
94681         Import this patch from libc:
94683         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
94685         * lib/regex_internal.c (re_string_reconstruct): Handle
94686         offset < pstr->valid_raw_len && pstr->offsets_needed case.
94687         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
94688         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
94689         re_string_context_at.
94691         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
94692         now requires it.
94693         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
94694         gl_REGEX now does it for us.
94695         (gl_REGEX): Add test taken from
94696         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
94698         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
94699         Check that large offsets work.  Modernize Autoconf usages.
94700         Prefer "yes" to mean a good thing rather than a bad.
94701         Don't put "#define mkstemp" in config.h, as this might interfere
94702         with standard system headers that "#define mkstemp mkstemp64".
94704         * modules/mkstemp (Depends-on): Add extensions, so that
94705         mkstemp is visible on some platforms.
94706         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
94707         (Include): Change to "mkstemp.h" from <stdlib.h>.
94708         (Files): Add mkstemp.h.
94710         * lib/mkstemp.h: New file, since some standard headers
94711         #define mkstemp.
94712         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
94713         Include "mkstemp.h".
94714         Make the _LIBC code resemble glibc original more,
94715         e.g., use K&R style.
94716         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
94717         (mkstemp): Remove, since mkstemp.h does this for us.
94718         * lib/stdlib--.h: Include mkstemp.h.
94720         Import this patch from libc:
94722         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
94724         * lib/tempname.c (__gen_tempname): Change attempts_min
94725         into a macro.  Use preprocessor to decide how to initialize
94726         attempts [Coverity CID 67].
94728 2006-09-20  Bruno Haible  <bruno@clisp.org>
94730         * lib/mkdtemp.c: Import from libc.
94731         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
94732                 * sysdeps/posix/tempname.c (__gen_tempname): Change
94733                 attempts_min into a macro.  Use preprocessor to decide how to
94734                 initialize attempts [Coverity CID 67].
94735         2001-11-27  Paul Eggert  <eggert@twinsun.com>
94736                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
94737                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
94739 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94741         * gnulib-tool (func_exit): New function, to allow to pass the
94742         exit status portably through the trap.  Use everywhere.
94743         (--help, --version): Signal a write error.
94744         (trap): catch SIGPIPE, for write errors.
94745         Exit at the end of the trap, with the correct exit status.
94747 2006-09-19  Karl Berry  <karl@gnu.org>
94749         * doc/gnulib.texi: note about the license texinfo files.
94751 2006-09-19  Eric Blake  <ebb9@byu.net>
94753         * gnulib-tool: Avoid space-tab.
94755 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
94757         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
94758         that prevented coreutils 6.1 from building.  Problem reported
94759         by Petter Reinholdtsen.
94761 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
94763         * gnulib-tool (avoidlist): Fix typo that broke options like
94764         --avoid=lock that are used by coreutils bootstrap.
94766 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
94768         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
94769         more systematically.
94771 2006-09-18  Jim Meyering  <jim@meyering.net>
94773         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
94775 2006-09-18  Bruno Haible  <bruno@clisp.org>
94777         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
94779 2006-09-18  Bruno Haible  <bruno@clisp.org>
94781         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
94782         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
94783         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
94784         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
94785         * m4/gettext.m4: Require autoconf >= 2.52.
94786         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
94787         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
94788         of gl_cv_header_inttypes_h.
94790 2006-09-18  Bruno Haible  <bruno@clisp.org>
94792         * lib/javaversion.c: Include configmake.h.
94794 2006-09-18  Bruno Haible  <bruno@clisp.org>
94796         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
94797         avoid that the while loops be executed in a subshell.
94799 2006-09-18  Bruno Haible  <bruno@clisp.org>
94801         * MODULES.html.sh (func_module): Break long lines.
94802         Suggested by Bruce Korb <bkorb@gnu.org>.
94804 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94806         Speed up by a factor of 1.12.
94807         * gnulib-tool (nl): New variable.
94808         (func_import): Rewrite include directive extraction to only read each
94809         directive once.
94811 2006-09-17  Bruno Haible  <bruno@clisp.org>
94813         * modules/javaversion (Makefile.am): Remove DEFS setting.
94814         (Depends-on): Add configmake, for PKGDATADIR definition.
94816 2006-09-17  Bruno Haible  <bruno@clisp.org>
94818         * gnulib-tool (func_create_testdir): Rewrite all files at once.
94820 2006-09-17  Bruno Haible  <bruno@clisp.org>
94822         * gnulib-tool (func_append): New function, stolen from libtool.m4.
94823         (func_modules_transitive_closure, func_modules_add_dummy,
94824         func_modules_to_filelist, func_import, func_create_testdir,
94825         func_create_megatestdir, ...): Use it wherever possible.
94826         Suggested by Ralf Wildenhues.
94828 2006-09-16  Karl Berry  <karl@gnu.org>
94830         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
94831         to avoid sectioning errors.
94832         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
94833         [ifinfo]: blank line after @center-ed titles.
94834         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
94835         Spell FSF address consistently with others.
94836         (These changes approved by rms.)
94838 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94840         Speed up by a factor of 1.61.
94841         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
94842         already checked module names again.
94844 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94846         Speed up by a factor of 1.13.
94847         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
94848         for new_files, and the input to func_add_or_update.
94850 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94852         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
94853         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
94855 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
94857         * modules/mkancesdirs (Depends-on): Add fcntl.
94858         * modules/savewd: New file.
94859         * MODULES.html.sh (File system functions): Add savewd.
94861         * modules/configmake (Makefile.am): Add support for the
94862         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
94864 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
94866         * m4/savewd.m4: New file.
94868 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
94870         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
94871         (dirchownmod): New arg FD.  All callers changed.
94872         Use FD rather than opening the directory ourself, as opening is
94873         now the caller's responsibility.
94874         * lib/dirchownmod.h: Likewise.
94875         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
94876         hosts that require <sys/types.h> before <sys/stat.h>.  Include
94877         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
94878         (test_dir): Remove.
94879         (mkancesdirs): Return length of prefix of FILE that has already
94880         been made, or -2 if there is a child doing the work.  Redo
94881         algorithm so that it is O(N) rather than O(N**2).  Optimize away
94882         ".", and treat ".." specially since it might stray back into
94883         already-created areas.  Use a subprocess if necessary.  New arg
94884         WD; all users changed.  MAKE_DIR function should now return 1
94885         if it creates a directory that is not readable.  Return -2 if
94886         a child process is spun off.
94887         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
94888         Adjust signature to match code.
94889         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
94890         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
94891         all users changed.
94892         * lib/savewd.c, lib/savewd.h: New files.
94894 2006-09-15  Jim Meyering  <jim@meyering.net>
94896         * modules/rename-dest-slash: New module.
94897         * MODULES.html.sh (posix_compat): Add it here.
94899         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
94901 2006-09-15  Jim Meyering  <jim@meyering.net>
94903         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
94904         file.
94906         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
94908 2006-09-15  Jim Meyering  <jim@meyering.net>
94910         * lib/rename-dest-slash.c (has_trailing_slash): Use
94911         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
94912         (rpl_rename_dest_slash): Perform the cheaper trailing slash
94913         test before testing whether SRC is a directory.
94914         Suggestions from Bruno Haible.
94916         Avoid a warning about an unused variable.
94917         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
94918         into the #ifdef block where it's used.
94920         * lib/rename-dest-slash.c: New file.
94922 2006-09-14  Bruno Haible  <bruno@clisp.org>
94924         * lib/allocsa.c: Include <config.h> unconditionally.
94925         * lib/asnprintf.c: Likewise.
94926         * lib/asprintf.c: Likewise.
94927         * lib/c-strcasecmp.c: Likewise.
94928         * lib/c-strcasestr.c: Likewise.
94929         * lib/c-strncasecmp.c: Likewise.
94930         * lib/c-strstr.c: Likewise.
94931         * lib/classpath.c: Likewise.
94932         * lib/clean-temp.c: Likewise.
94933         * lib/concatpath.c: Likewise.
94934         * lib/copy-file.c: Likewise.
94935         * lib/csharpcomp.c: Likewise.
94936         * lib/csharpexec.c: Likewise.
94937         * lib/execute.c: Likewise.
94938         * lib/fatal-signal.c: Likewise.
94939         * lib/findprog.c: Likewise.
94940         * lib/fwriteerror.c: Likewise.
94941         * lib/gl_array_list.c: Likewise.
94942         * lib/gl_array_oset.c: Likewise.
94943         * lib/gl_avltree_list.c: Likewise.
94944         * lib/gl_avltree_oset.c: Likewise.
94945         * lib/gl_avltreehash_list.c: Likewise.
94946         * lib/gl_carray_list.c: Likewise.
94947         * lib/gl_linked_list.c: Likewise.
94948         * lib/gl_linkedhash_list.c: Likewise.
94949         * lib/gl_list.c: Likewise.
94950         * lib/gl_oset.c: Likewise.
94951         * lib/gl_rbtree_list.c: Likewise.
94952         * lib/gl_rbtree_oset.c: Likewise.
94953         * lib/gl_rbtreehash_list.c: Likewise.
94954         * lib/imaxabs.c: Likewise.
94955         * lib/imaxdiv.c: Likewise.
94956         * lib/javacomp.c: Likewise.
94957         * lib/javaexec.c: Likewise.
94958         * lib/javaversion.c: Likewise.
94959         * lib/linebreak.c: Likewise.
94960         * lib/localcharset.c: Likewise.
94961         * lib/lock.c: Likewise.
94962         * lib/mbchar.c: Likewise.
94963         * lib/mbswidth.c: Likewise.
94964         * lib/mkdtemp.c: Likewise.
94965         * lib/pipe.c: Likewise.
94966         * lib/printf-args.c: Likewise.
94967         * lib/printf-parse.c: Likewise.
94968         * lib/progname.c: Likewise.
94969         * lib/progreloc.c: Likewise.
94970         * lib/readlink.c: Likewise.
94971         * lib/sh-quote.c: Likewise.
94972         * lib/stpcpy.c: Likewise.
94973         * lib/stpncpy.c: Likewise.
94974         * lib/strcasecmp.c: Likewise.
94975         * lib/strcasestr.c: Likewise.
94976         * lib/strcspn.c: Likewise.
94977         * lib/striconv.c: Likewise.
94978         * lib/strncasecmp.c: Likewise.
94979         * lib/strnlen1.c: Likewise.
94980         * lib/strstr.c: Likewise.
94981         * lib/strtok_r.c: Likewise.
94982         * lib/tls.c: Likewise.
94983         * lib/tmpdir.c: Likewise.
94984         * lib/unicodeio.c: Likewise.
94985         * lib/unsetenv.c: Likewise.
94986         * lib/vasnprintf.c: Likewise.
94987         * lib/vasprintf.c: Likewise.
94988         * lib/wait-process.c: Likewise.
94989         * lib/xallocsa.c: Likewise.
94990         * lib/xsetenv.c: Likewise.
94991         * lib/xstriconv.c: Likewise.
94993 2006-09-13  Simon Josefsson  <jas@extundo.com>
94995         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
94996         that internally, suggested by Ralf Wildenhues
94997         <Ralf.Wildenhues@gmx.de>.
94999 2006-09-13  Simon Josefsson  <jas@extundo.com>
95001         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
95002         @LIBOBJS@.
95003         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95005 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
95007         * lib/_fpending.c: Include <config.h> unconditionally, since we no
95008         longer worry about uses that don't define HAVE_CONFIG_H.
95009         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
95010         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
95011         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
95012         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
95013         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
95014         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
95015         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
95016         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
95017         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
95018         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
95019         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
95020         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
95021         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
95022         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
95023         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
95024         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
95025         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
95026         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
95027         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
95028         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
95029         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
95030         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
95031         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
95032         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
95033         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
95034         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
95035         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
95036         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
95037         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
95038         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
95039         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
95040         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
95041         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
95042         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
95043         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
95044         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
95045         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
95046         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
95047         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
95048         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
95049         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
95050         Likewise.
95052 2006-09-13  Eric Blake  <ebb9@byu.net>
95054         * lib/getopt.c: Fix typo in last commit.
95056 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
95058         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
95059         dgettext.
95061 2006-09-12  Jim Meyering  <jim@meyering.net>
95063         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
95064         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
95065         Reported by Nelson H. F. Beebe.
95067 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
95069         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
95070         program_invocation_name and program_invocation_short_name are
95071         initialized.
95072         * lib/argp-namefrob.h: Move declarations of program_invocation_name
95073         and program_invocation_short_name to argp.h, so they are visible
95074         to user programs.
95075         * lib/argp.h: Likewise
95077 2006-09-10  Bruno Haible  <bruno@clisp.org>
95079         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
95080         m4/inttypes_h.m4, m4/uintmax_t.m4.
95082 2006-09-10  Bruno Haible  <bruno@clisp.org>
95084         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
95085         gl_AC_TYPE_UINTMAX_T.
95087 2006-09-10  Bruno Haible  <bruno@clisp.org>
95089         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
95091 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
95093         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
95094         convention.  Text proposed by Bruno Haible.
95095         (struct argp_option): Document the use of N_() wrappers.
95097         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
95098         '\v', and translate the two parts separately, instead of feeding
95099         the whole string to gettext.  This allows to exclude
95100         '\v' from the strings visible to the translator by writing doc
95101         strings as N_("..") "\v" N_("..").
95103 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
95105         * config/srclist.txt: Undo latest change; the bug was fixed.
95107 2006-09-09  Bruno Haible  <bruno@clisp.org>
95109         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
95110         assignments if building a library without libtool.
95111         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
95112         in func_emit_lib_Makefile_am.
95113         (func_import): When building a static library libfoo.a, arrange to
95114         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
95115         (func_create_testdir): Likewise.
95116         * modules/gc (configure.ac, Makefile.am): If building statically,
95117         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
95118         * modules/iconvme (configure.ac, Makefile.am): Likewise.
95119         * modules/striconv (configure.ac, Makefile.am): Likewise.
95120         Based on a suggestion by Ralf Wildenhues.
95122 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
95124         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
95125         Check for unistd.h too, since Autoconf doesn't assume POSIX.
95126         Also:
95128         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
95129         Add year_2050_test to catch glibc bug 2821
95130         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
95132         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
95133         Prefer #ifdef to #if.
95135         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
95136         Return from 'main' instead of calling 'exit'.
95138 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
95140         * lib/mktime.c (guess_time_tm): Fix bug where mktime
95141         returned the maximum time_t value rather than (time_t) -1.
95142         Problem originally reported by William Bardwell
95143         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
95145         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
95146         Moved to here ...
95147         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
95148         ... from here.
95150 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
95152         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
95153         2821 is fixed.
95155 2006-09-08  Jim Meyering  <jim@meyering.net>
95157         Don't make generated files read-only.  That would bother too many
95158         people.  However, do retain the ability to work when targets are
95159         read-only: remove the destination and temporary files before writing
95160         them (when generated via sed or echo), or by using the -f option for
95161         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
95162         * modules/alloca-opt, modules/argz, modules/arpa_inet:
95163         * modules/byteswap, modules/configmake, modules/fcntl:
95164         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
95165         * modules/localcharset, modules/netinet_in, modules/poll:
95166         * modules/stdbool, modules/stdint, modules/sys_select:
95167         * modules/sys_socket, modules/sys_stat, modules/sysexits:
95169 2006-09-08  Jim Meyering  <jim@meyering.net>
95171         Avoid new build failure on FreeBSD 6.0.
95172         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
95173         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
95174         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
95176 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95178         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
95180 2006-09-07  Jim Meyering  <jim@meyering.net>
95182         Fix global typo in last change: use chmod u-w, not chmod u-x.
95183         Spotted by Paul Eggert and Bruce Korb.
95184         * modules/alloca-opt, modules/argz, modules/arpa_inet:
95185         * modules/byteswap, modules/configmake, modules/fcntl:
95186         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
95187         * modules/localcharset, modules/netinet_in, modules/poll:
95188         * modules/stdbool, modules/stdint, modules/sys_select:
95189         * modules/sys_socket, modules/sys_stat, modules/sysexits:
95191 2006-09-06  Jim Meyering  <jim@meyering.net>
95193         Make generated files be read-only.
95194         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
95195         Ensure that each generated file is now read-only.
95196         * modules/argz: Likewise.
95197         * modules/arpa_inet: Likewise.
95198         * modules/byteswap: Likewise.
95199         * modules/configmake: Likewise.
95200         * modules/fcntl: Likewise.
95201         * modules/fnmatch: Likewise.
95202         * modules/getopt: Likewise.
95203         * modules/glob: Likewise.
95204         * modules/inttypes: Likewise.
95205         * modules/netinet_in: Likewise.
95206         * modules/poll: Likewise.
95207         * modules/stdbool: Likewise.
95208         * modules/stdint: Likewise.
95209         * modules/sys_select: Likewise.
95210         * modules/sys_socket: Likewise.
95211         * modules/sys_stat: Likewise.
95212         * modules/sysexits: Likewise.
95213         * modules/localcharset: Same as above, but continue using temporary
95214         file named "t-$@" (why different?) rather than the "$@-t" used
95215         everywhere else.
95217         * modules/sysexits (Makefile.am): Replace literal occurrences
95218         of "sysexit.h" more readable, and more consistent, "$@".
95220 2006-09-06  Bruno Haible  <bruno@clisp.org>
95222         * modules/striconv: New file.
95223         * modules/xstriconv: New file.
95224         * MODULES.html.sh (Internationalization functions): Add striconv,
95225         xstriconv.
95227 2006-09-06  Bruno Haible  <bruno@clisp.org>
95229         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
95230         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
95231         not using libtool correctly.
95233 2006-09-06  Bruno Haible  <bruno@clisp.org>
95235         * lib/striconv.h: New file.
95236         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
95237         iconvstring.c.
95238         * lib/xstriconv.h: New file.
95239         * lib/xstriconv.c: New file.
95241 2006-09-06  Bruno Haible  <bruno@clisp.org>
95243         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
95244         lib_..._LDFLAGS.
95246 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95248         * lib/argz_.h: Sync from Libtool.
95250         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
95251                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
95253         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
95255 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
95257         * modules/trim: New file.
95259 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
95261         * lib/trim.h: New file.
95262         * lib/trim.c: New file.
95264 2006-09-05  Bruno Haible  <bruno@clisp.org>
95266         * MODULES.html.sh (String handling): Add trim.
95268 2006-09-04  Karl Berry  <karl@gnu.org>
95270         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
95271         until next release.
95273 2006-09-03  Bruno Haible  <bruno@clisp.org>
95275         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
95276         correctly.
95278 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
95280         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
95281         not gl_GETLOADAVG.  Omit unneeded semicolons.
95282         Problems reported by Ralf Wildenhues in
95283         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
95284         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
95285         at the end, which is the usual gnulib style.
95287         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
95288         of doing all the work ourselves.
95289         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
95290         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
95292 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
95294         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
95295         Problem reported by Ralf Wildenhues in
95296         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
95298         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
95299         HAVE_STRUCT_STATFS_F_FSTYPENAME.
95301 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
95303         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
95304         yesterday's patch by changing test -n to test -z.
95306 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
95308         * modules/getloadavg (Files): Add m4/getloadavg.m4.
95309         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
95310         the former is now obsolescent.
95312         * modules/chdir-long (Depends-on): Add fcntl.
95314 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
95316         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
95317         obsolescent, and programs should use gnulib instead.
95318         * m4/getloadavg.m4: New file, with contents taken from Autoconf
95319         but with prefixes changed.
95321 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
95323         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
95324         or stdbool.h, because they might not exist while configuring.
95326         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
95327         Don't include unistd.h or limits.h; not needed, since chdir-long.h
95328         does that for us.
95329         (O_DIRECTORY): Remove.
95331 2006-08-31  Eric Blake  <ebb9@byu.net>
95333         * gnulib-tool: Don't let emacs change spaces to TAB.
95335 2006-08-31  Bruno Haible  <bruno@clisp.org>
95337         * gnulib-tool: When calling func_import more than once, do it in a
95338         subshell.
95339         Reported by Eric Blake <ebb9@byu.net>.
95341 2006-08-31  Bruno Haible  <bruno@clisp.org>
95343         * gnulib-tool (nl): Remove variable.
95344         (sed_transform_lib_file): Use more robust test for config-h module.
95345         (func_import): Fix typo in 2006-08-25 patch.
95347 2006-08-31  Bruno Haible  <bruno@clisp.org>
95349         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
95350         specified, augment Makefile.am variables instead of assigning them.
95352 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
95354         Work around a bug in both the Linux and SunOS 64-bit kernels:
95355         nanosleep mishandles sleeps for longer than 2**31 seconds.
95356         Problem reported by Frank v Waveren in
95357         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
95358         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
95359         Check for nanosleep bug.
95360         (LIB_NANOSLEEP): Append clock_gettime library if needed.
95362 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
95364         Work around a bug in both the Linux and SunOS 64-bit kernels:
95365         nanosleep mishandles sleeps for longer than 2**31 seconds.
95366         Problem reported by Frank v Waveren in
95367         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
95368         * lib/nanosleep.c (BILLION): New constant.
95369         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
95370         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
95371         implementation.
95373 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
95375         * modules/nanosleep (Depends-on): Add gettime.
95377 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
95378         and Simon Josefsson  <jas@extundo.com>
95379         and Oskar Liljeblad  <oskar@osk.mine.nu>
95381         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
95382         * gnulib-tool (func_import): New license type 'unmodifiable license
95383         text'.
95384         * modules/fdl: Use it.  Longer description.
95385         * module/gpl, module/lgpl: New files.
95387 2006-08-30  Jim Meyering  <jim@meyering.net>
95389         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
95390         shadowing the parameter.
95392 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95394         Sync from Libtool:
95396         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95398         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
95399         sharing with gnulib.  Report by Eric Blake.
95401 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
95403         * modules/isapipe: New file.
95404         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
95406 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
95408         * modules/configmake (Makefile.am): Add a comment, and omit
95409         the CONFIGMAKE_ prefix from generated macro names.  Suggested
95410         by Bruno Haible.
95412 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
95414         * m4/isapipe.m4: New file.
95416 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
95418         * lib/isapipe.c, lib/isapipe.h: New files.
95420 2006-08-29  Jim Meyering  <jim@meyering.net>
95422         * modules/configmake (Makefile.am): Make configmake.h depend on
95423         Makefile.  Otherwise, a stale configmake.h could hang around.
95425 2006-08-29  Eric Blake  <ebb9@byu.net>
95427         * lib/error.c (error_at_line, print_errno_message): Match libc, after
95428         resolution of upstream bug 3044.
95430 2006-08-29  Bruno Haible  <bruno@clisp.org>
95432         * modules/localcharset (Depends-on): Add configmake.
95433         (Makefile.am): Remove setting of LIBDIR through DEFS.
95435 2006-08-29  Bruno Haible  <bruno@clisp.org>
95437         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
95438         defined.
95440 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
95442         * modules/fcntl: New file.
95443         * modules/chdir-safer (Depends-on): Add fcntl.
95444         * modules/fts: Likewise.
95445         * modules/mkdir-p: Likewise.
95447         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
95448         This undoes the most recent change, since we're now addressing the
95449         problem in a different way.
95451         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
95452         into output, since the output might be called Makefile.am even
95453         if $makefile_name is something different.
95454         (func_import): Use $makefile_am rather than
95455         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
95456         empty.
95458         * modules/inttypes (Files): Add m4/inttypes-h.m4.
95460 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
95462         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
95463         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
95464         recent change to stdint.m4, since we're now addressing the problem in a
95465         different way.
95467 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
95469         * m4/fcntl_h.m4: New file.
95471 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
95473         * lib/fcntl_.h: New file.
95474         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
95475         the fcntl module.
95476         * lib/dirchownmod.c: Likewise.
95477         * lib/fts.c: Likewise.
95479         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
95480         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
95481         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
95482         just before including <inttypes.h>, to avoid circular inclusion.
95484 2006-08-28  Jim Meyering  <jim@meyering.net>
95486         * doc/visibility.texi: Actually read and correct the grammar of the
95487         sentence affected by yesterday's change.
95489 2006-08-28  Eric Blake  <ebb9@byu.net>
95491         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
95492         needs wrapper.
95494 2006-08-28  Eric Blake  <ebb9@byu.net>
95496         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
95498 2006-08-28  Eric Blake  <ebb9@byu.net>
95500         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
95502 2006-08-28  Bruno Haible  <bruno@clisp.org>
95504         * modules/c-strstr: New file, from GNU gettext.
95505         * MODULES.html.sh (String handling): Add c-strstr.
95507 2006-08-28  Bruno Haible  <bruno@clisp.org>
95509         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
95510         macros.
95511         Reported by Eric Blake.
95513 2006-08-28  Bruno Haible  <bruno@clisp.org>
95515         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
95516         (VASNPRINTF): Return a string of length > INT_MAX without failing.
95517         * lib/vasprintf.c: Include errno.h, limits.h.
95518         (EOVERFLOW): New fallback definition.
95519         (vasprintf): Test here whether the string length is > INT_MAX.
95520         * lib/vsnprintf.c: Include errno.h, limits.h.
95521         (EOVERFLOW): New fallback definition.
95522         (vsnprintf): Fix bug when generated string was too long for the buffer.
95523         Test here whether the string length is > INT_MAX.
95525 2006-08-28  Bruno Haible  <bruno@clisp.org>
95527         * lib/inttypes_.h (SCNX*): Remove definitions.
95528         Reported by Eric Blake.
95530 2006-08-28  Bruno Haible  <bruno@clisp.org>
95532         * lib/c-strstr.h: New file, from GNU gettext.
95533         * lib/c-strstr.c: New file, from GNU gettext.
95535 2006-08-28  Bruno Haible  <bruno@clisp.org>
95537         * gnulib-tool: Reorder some statements.
95539 2006-08-28  Bruno Haible  <bruno@clisp.org>
95541         * gnulib-tool: New option --makefile-name.
95542         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
95543         $makefile_name.
95544         (func_import): Write $makefile_name to the cache file, and read it from
95545         there unless explicitly specified. Use $makefile_name as file name
95546         instead of Makefile.am. Adjust the recommendations accordingly.
95548 2006-08-28  Bruno Haible  <bruno@clisp.org>
95550         * gnulib-tool (func_verify_module): Check against misapplying patch.
95552 2006-08-28  Bruno Haible  <bruno@clisp.org>
95554         * gnulib-tool (func_relativize, func_relconcat): New functions.
95555         Give an error if --local-dir is given with --update.
95556         Remove trailing slashes from $local_gnulib_dir.
95557         (func_import): Store the relativized $local_gnulib_dir in
95558         gnulib-cache.m4, and read it from there if not specified explicitly.
95560 2006-08-28  Bruno Haible  <bruno@clisp.org>
95562         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
95563         is the current directory. Respect also $local_gnulib_dir.
95565 2006-08-28  Bruno Haible  <bruno@clisp.org>
95566             Simon Josefsson  <jas@extundo.com>
95568         BeOS portability.
95569         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
95571 2006-08-27  Jim Meyering  <jim@meyering.net>
95573         * doc/visibility.texi: Remove duplicate word: "pointer".
95575 2006-08-26  Bruno Haible  <bruno@clisp.org>
95577         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
95578         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
95579         (Makefile.am): Create inttypes.h from inttypes_.h.
95580         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
95582         * modules/imaxabs: New file.
95584         * modules/imaxdiv: New file.
95586 2006-08-26  Bruno Haible  <bruno@clisp.org>
95588         * m4/inttypes.m4: New file.
95589         * m4/_inttypes_h.m4: Remove file.
95590         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
95591         PRI_MACROS_BROKEN.
95592         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
95594         * m4/imaxabs.m4: New file.
95596         * m4/imaxdiv.m4: New file.
95598 2006-08-26  Bruno Haible  <bruno@clisp.org>
95600         * lib/inttypes_.h: New file.
95601         * lib/inttypes.h: Remove file.
95602         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
95604         * lib/imaxabs.c: New file.
95606         * lib/imaxdiv.c: New file.
95608 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
95610         New config-h module, so that "make" output needn't be cluttered
95611         by -DHAVE_CONFIG_H.
95612         * MODULES.html.sh (Support for building libraries and executables):
95613         Add config-h.
95614         * modules/config-h: New file.
95615         * gnulib-tool (nl, sed_transform_lib_file): New vars.
95616         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
95617         the config-h module is used.
95619         New configmake module, so that "make" output needn't be cluttered
95620         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
95621         * MODULES.html.sh (Support for building libraries and executables):
95622         Add configmake.
95623         * modules/configmake: New file.
95625 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
95627         * m4/config-h.m4: New file.
95629 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
95631         * config/srclist.txt: Add elisp-comp.
95633 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
95635         * MODULES.html.sh (Support for building libraries and executables):
95636         Add elisp-comp.
95637         * build-aux/elisp-comp: New file.
95638         * modules/elisp-comp: New file.
95640 2006-08-24  Bruno Haible  <bruno@clisp.org>
95642         * gnulib-tool (func_create_testdir): Use non-default values of
95643         sourcebase and m4base.
95645 2006-08-24  Bruno Haible  <bruno@clisp.org>
95647         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
95648         HTML structure.
95650 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
95652         * modules/openat (Depends-on): Add lchown.
95654 2006-08-23  Bruno Haible  <bruno@clisp.org>
95656         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
95657         of gl_LOCK_EARLY instead of gl_LOCK.
95659 2006-08-23  Bruno Haible  <bruno@clisp.org>
95661         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
95662         on OSF/1 to no.
95663         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
95665 2006-08-23  Bruno Haible  <bruno@clisp.org>
95667         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
95668         as unusable.
95670         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
95671         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
95672         (gl_LOCK): New macro.
95674 2006-08-22  Simon Josefsson  <jas@extundo.com>
95676         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
95677         to md5 module.
95679 2006-08-22  Simon Josefsson  <jas@extundo.com>
95681         * MODULES.html.sh: Add "Support for maintaining and release
95682         projects".
95684         * build-aux/gnupload: New file, from coreutils.
95686 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
95688         Avoid the need for AC_LIBSOURCES in m4 macros.
95689         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
95690         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
95691         * modules/check-version (EXTRA_DIST): Add check-version.h.
95692         * modules/crc (EXTRA_DIST): Add crc.h.
95693         * modules/des (EXTRA_DIST): Add des.h.
95694         * modules/gc (EXTRA_DIST): Add gc.h.
95695         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
95696         * modules/getline (EXTRA_DIST): Add getline.h.
95697         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
95698         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
95699         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
95700         * modules/md2 (EXTRA_DIST): Add md2.h.
95701         * modules/md4 (EXTRA_DIST): Add md4.h.
95702         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
95703         * modules/read-file (EXTRA_DIST): Add read-file.h.
95704         * modules/readline (EXTRA_DIST): Add readline.h.
95705         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
95706         rijndael-api-fst.h.
95708 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
95710         * m4/rijndael.m4 (gl_ARCFOUR):
95711         * m4/arctwo.m4 (gl_ARCTWO):
95712         * m4/check-version.m4 (gl_CHECK_VERSION):
95713         * m4/crc.m4 (gl_CRC):
95714         * m4/des.m4 (gl_DES):
95715         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
95716         * m4/gc.m4 (gl_GC):
95717         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
95718         * m4/getline.m4 (gl_FUNC_GETLINE):
95719         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
95720         * m4/hmac-md5.m4 (gl_HMAC_MD5):
95721         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
95722         * m4/md2.m4 (gl_MD2):
95723         * m4/md4.m4 (gl_MD4):
95724         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
95725         * m4/read-file.m4 (gl_FUNC_READ_FILE):
95726         * m4/readline.m4 (gl_FUNC_READLINE):
95727         * m4/rijndael.m4 (gl_RIJNDAEL):
95728         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
95729         to get the necessary .h files and whatnot.
95731 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
95733         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
95734         gnulib rather than the other way around.
95735         * config/srclistvars.sh (COREUTILS): Remove.
95737 2006-08-22  Jim Meyering  <jim@meyering.net>
95739         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
95741         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
95743 2006-08-22  Eric Blake  <ebb9@byu.net>
95745         * modules/regexprops-generic: New file.
95746         * MODULES.html.sh (Support for building documentation): List it.
95748 2006-08-22  Eric Blake  <ebb9@byu.net>
95750         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
95751         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
95752         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
95753         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
95755 2006-08-22  Bruno Haible  <bruno@clisp.org>
95757         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
95758         and lib_LTLIBRARIES like the other lib_* variables.
95760 2006-08-22  Bruno Haible  <bruno@clisp.org>
95762         * build-aux/x-to-1.in: New file, from GNU gettext.
95764 2006-08-22  Bruno Haible  <bruno@clisp.org>
95766         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
95767         <utmpx.h> exists.
95769 2006-08-22  Bruno Haible  <bruno@clisp.org>
95771         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
95772         <utmpx.h> exists.
95774 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
95776         BeOS portability.
95777         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
95778         exist.
95779         Problem reported by Bruno Haible.
95781 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
95783         Avoid the need for AC_LIBSOURCES in m4 macros.
95784         * modules/acl (EXTRA_DIST): Add acl.h.
95785         * modules/argmatch (Files): Add m4/argmatch.m4.
95786         (configure.ac): Add gl_ARGMATCH.
95787         (EXTRA_DIST): Renamed from lib_SOURCES, for
95788         consistency with the other modules.  Remove argmatch.c.
95789         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
95790         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
95791         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
95792         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
95793         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
95794         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
95795         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
95796         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
95797         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
95798         * modules/closeout (EXTRA_DIST): Add closeout.h.
95799         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
95800         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
95801         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
95802         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
95803         dirname.h; remove basename.c and stripslash.c.
95804         * modules/exclude (EXTRA_DIST): Add exclude.h.
95805         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
95806         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
95807         * modules/file-type (EXTRA_DIST): Add file-type.h.
95808         * modules/filemode (EXTRA_DIST): Add filemode.h.
95809         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
95810         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
95811         * modules/fpending (EXTRA_DIST): Add __fpending.h.
95812         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
95813         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
95814         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
95815         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
95816         * modules/getdate (EXTRA_DIST): Add getdate.c.
95817         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
95818         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
95819         * modules/getpass (EXTRA_DIST): Add getpass.h.
95820         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
95821         * modules/group-member (EXTRA_DIST): Add group-member.h.
95822         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
95823         * modules/hash (EXTRA_DIST): Add hash.h.
95824         * modules/human (EXTRA_DIST): Add human.h.
95825         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
95826         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
95827         * modules/lchown (EXTRA_DIST): Add lchown.h.
95828         * modules/long-options (EXTRA_DIST): Add long-options.h.
95829         * modules/lstat (EXTRA_DIST): Add lstat.h.
95830         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
95831         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
95832         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
95833         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
95834         * modules/memxor (EXTRA_DIST): Add memxor.h.
95835         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
95836         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
95837         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
95838         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
95839         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
95840         * modules/physmem (EXTRA_DIST): Add physmem.h.
95841         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
95842         * modules/posixver (EXTRA_DIST): Add posixver.h.
95843         * modules/quote (EXTRA_DIST): Add quote.h.
95844         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
95845         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
95846         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
95847         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
95848         regex_internal.h regexec.c.
95849         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
95850         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
95851         * modules/same (EXTRA_DIST): Add same.h.
95852         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
95853         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
95854         * modules/savedir (EXTRA_DIST): Add savedir.h.
95855         * modules/sha1 (EXTRA_DIST): Add sha1.h.
95856         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
95857         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
95858         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
95859         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
95860         * modules/strdup (EXTRA_DIST): Add strdup.h.
95861         * modules/strftime (EXTRA_DIST): Add strftime.h.
95862         * modules/strndup (EXTRA_DIST): Add strndup.h.
95863         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
95864         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
95865         * modules/time_r (EXTRA_DIST): Add time_r.h.
95866         * modules/timespec (EXTRA_DIST): Add timespec.h.
95867         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
95868         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
95869         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
95870         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
95871         * modules/userspec (EXTRA_DIST): Add userspec.h.
95872         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
95873         * modules/utimens (EXTRA_DIST): Add utimens.h.
95874         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
95875         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
95876         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
95877         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
95878         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
95879         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
95880         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
95881         * modules/yesno (EXTRA_DIST): Add yesno.h.
95883 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
95885         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
95887         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
95888         * m4/dev-ino.m4, same-inode.m4: Remove.
95890         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
95891         * m4/acl.m4 (AC_FUNC_ACL):
95892         * m4/backupfile.m4 (gl_BACKUPFILE):
95893         * m4/c-strtod.m4 (gl_C99_STRTOLD):
95894         * m4/canon-host.m4 (gl_CANON_HOST):
95895         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
95896         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
95897         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
95898         * m4/cloexec.m4 (gl_CLOEXEC):
95899         * m4/close-stream.m4 (gl_CLOSE_STREAM):
95900         * m4/closeout.m4 (gl_CLOSEOUT):
95901         * m4/dirfd.m4 (gl_FUNC_DIRFD):
95902         * m4/dirname.m4 (gl_DIRNAME):
95903         * m4/exclude.m4 (gl_EXCLUDE):
95904         * m4/exitfail.m4 (gl_EXITFAIL):
95905         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
95906         * m4/file-type.m4 (gl_FILE_TYPE):
95907         * m4/filemode.m4 (gl_FILEMODE):
95908         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
95909         * m4/fpending.m4 (gl_FUNC_FPENDING):
95910         * m4/fprintftime.m4 (gl_FPRINTFTIME):
95911         * m4/fts.m4 (gl_FUNC_FTS):
95912         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
95913         * m4/getdate.m4 (gl_GETDATE):
95914         * m4/gethrxtime.m4 (gl_GETHRXTIME):
95915         * m4/getpagesize.m4 (gl_GETPAGESIZE):
95916         * m4/getpass.m4 (gl_FUNC_GETPASS):
95917         * m4/gettime.m4 (gl_GETTIME):
95918         * m4/getugroups.m4 (gl_GETUGROUPS):
95919         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
95920         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
95921         * m4/hard-locale.m4 (gl_HARD_LOCALE):
95922         * m4/hash.m4 (gl_HASH):
95923         * m4/idcache.m4 (gl_IDCACHE):
95924         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
95925         * m4/lchown.m4 (gl_FUNC_LCHOWN):
95926         * m4/long-options.m4 (gl_LONG_OPTIONS):
95927         * m4/lstat.m4 (gl_FUNC_LSTAT):
95928         * m4/md5.m4 (gl_MD5):
95929         * m4/memcasecmp.m4 (gl_MEMCASECMP):
95930         * m4/memcoll.m4 (gl_MEMCOLL):
95931         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
95932         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
95933         * m4/memxor.m4 (gl_MEMXOR):
95934         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
95935         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
95936         * m4/modechange.m4 (gl_MODECHANGE):
95937         * m4/mountlist.m4 (gl_MOUNTLIST):
95938         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
95939         * m4/openat.m4 (gl_FUNC_OPENAT):
95940         * m4/pathmax.m4 (gl_PATHMAX):
95941         * m4/physmem.m4 (gl_PHYSMEM):
95942         * m4/posixtm.m4 (gl_POSIXTM):
95943         * m4/posixver.m4 (gl_POSIXVER):
95944         * m4/quote.m4 (gl_QUOTE):
95945         * m4/quotearg.m4 (gl_QUOTEARG):
95946         * m4/readtokens.m4 (gl_READTOKENS):
95947         * m4/readutmp.m4 (gl_READUTMP):
95948         * m4/regex.m4 (gl_REGEX):
95949         * m4/safe-read.m4 (gl_SAFE_READ):
95950         * m4/safe-write.m4 (gl_SAFE_WRITE):
95951         * m4/same.m4 (gl_SAME):
95952         * m4/save-cwd.m4 (gl_SAVE_CWD):
95953         * m4/savedir.m4 (gl_SAVEDIR):
95954         * m4/settime.m4 (gl_SETTIME):
95955         * m4/sha1.m4 (gl_SHA1):
95956         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
95957         * m4/stat-macros.m4 (gl_STAT_MACROS):
95958         * m4/stat-time.m4 (gl_STAT_TIME):
95959         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
95960         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
95961         * m4/strdup.m4 (gl_FUNC_STRDUP):
95962         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
95963         * m4/strndup.m4 (gl_FUNC_STRNDUP):
95964         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
95965         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
95966         * m4/time_r.m4 (gl_TIME_R):
95967         * m4/timespec.m4 (gl_TIMESPEC):
95968         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
95969         * m4/unlinkdir.m4 (gl_UNLINKDIR):
95970         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
95971         * m4/userspec.m4 (gl_USERSPEC):
95972         * m4/utimecmp.m4 (gl_UTIMECMP):
95973         * m4/utimens.m4 (gl_UTIMENS):
95974         * m4/xalloc.m4 (gl_XALLOC):
95975         * m4/xgetcwd.m4 (gl_XGETCWD):
95976         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
95977         * m4/xreadlink.m4 (gl_XREADLINK):
95978         * m4/xstrtod.m4 (gl_XSTRTOD):
95979         * m4/yesno.m4 (gl_YESNO):
95980         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
95981         to get the necessary .h files and whatnot.
95983 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
95984             Bruno Haible  <bruno@clisp.org>
95986         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
95987         /bin/sh understanding of '!' conditional negation.
95989 2006-08-21  Jim Meyering  <jim@meyering.net>
95991         * modules/openat (Depends-on): Really alphabetize.
95993         * modules/acl (Depends-on): Add error and quote.
95995         * check-module (find_included_lib_files): Add at-func.c to the
95996         ok-to-include-more-than-once white list.
95998         * modules/openat (Depends-on): Add lstat.  Alphabetize.
96000 2006-08-21  Bruno Haible  <bruno@clisp.org>
96002         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
96003         Emit a pkgdata_DATA variable only if some snippets add contents to it.
96004         Reported by Martin Lambers <marlam@marlam.de>.
96006 2006-08-21  Bruno Haible  <bruno@clisp.org>
96008         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
96009         specify an installation location, don't emit a noinst_LIBRARIES or
96010         noinst_LTLIBRARIES assignment.
96012 2006-08-21  Bruno Haible  <bruno@clisp.org>
96014         BeOS portability.
96015         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
96016         BeOS has mbrtowc() but no <wctype.h>.
96018 2006-08-21  Bruno Haible  <bruno@clisp.org>
96020         BeOS portability.
96021         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
96022         exist.
96024 2006-08-21  Bruno Haible  <bruno@clisp.org>
96026         BeOS portability.
96027         * lib/mbchar.h: Include <wctype.h> only if it exists.
96029 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
96031         Remove files that are no longer needed by their respective modules.
96032         * m4/obstack.m4: Remove.
96033         * m4/strerror_r.m4: Remove.
96034         * m4/uint32_t.m4: Remove.
96035         * m4/uintptr_t.m4: Remove.
96036         * m4/ullong_max.m4: Remove.
96037         * m4/xstrtoimax.m4: Remove.
96038         * m4/xstrtoumax.m4: Remove.
96040         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
96041         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
96042         dependencies now capture this.
96044         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
96045         Do not use AC_LIBSOURCES, since gnulib modules now do this.
96046         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
96047         * m4/human.m4 (gl_HUMAN): Likewise.
96048         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
96049         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
96051         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
96053         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
96054         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
96055         stdint.
96056         * m4/human.m4 (gl_HUMAN): Likewise.
96057         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
96058         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
96059         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
96060         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
96061         * m4/xstrtol (gl_XSTRTOL): Likewise.
96063         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
96064         AC_TYPE_LONG_LONG_INT.
96065         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
96066         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
96067         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
96068         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
96070         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
96071         on stdbool.
96073         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
96074         (gl_PREREQ_XSTRTOUL): Remove.
96076         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
96078         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
96079         mode.
96081 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
96083         Add and change modules to make it easier for coreutils to use
96084         gnulib-tool.
96085         * modules/backupfile (Files): Remove m4/d-ino.m4.
96086         (Depends-on): Add d-ino.
96087         * modules/cycle-check (Depends-on): Add stdint.
96088         (lib_SOURCES): Add cycle-check.h.
96089         * modules/d-ino: New module.
96090         * modules/d-type: New module.
96091         * modules/error (Files): Remove m4/strerror_r.m4.
96092         * modules/filemode (Files): Add m4/st_dm_mode.m4.
96093         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
96094         m4/inttypes_h.m4, m4/uintmax_t.m4.
96095         (Depends-on): Add stdint.
96096         (lib_SOURCES): Add fsusage.h.
96097         * modules/getcwd (Files): Remove d-ino.m4.
96098         (Depends-on): Add d-ino.
96099         * modules/getndelim2 (Depends-on): Add stdint.
96100         * modules/glob (Files): Remove m4/d-type.m4.
96101         (Depends-on): Add d-type.
96102         * modules/host-os: New module.
96103         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
96104         m4/inttypes_h.m4, m4/uintmax_t.m4.
96105         * Depends-on: Add stdint.
96106         (lib_SOURCES): Add human.h.
96107         * modules/inttostr (Files): Remove m4/intmax_t.m4,
96108         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
96109         m4/uintmax_t.m4, m4/ulonglong.m4.
96110         (Depends-on): Add stdint.
96111         (EXTRA_DIST): Add inttostr.h.
96112         * modules/lchmod: New module.
96113         * modules/link-follow: New module.
96114         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
96115         (Depends-on): Add lchmod.
96116         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
96117         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
96118         (Depends-on): Add stdint.
96119         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
96120         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
96121         (Depends-on): Add stdint.
96122         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
96123         * modules/perl: New module.
96124         * modules/regex (Depends-on): Add stdint.
96125         * modules/rmdir-errno: New module.
96126         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
96127         m4/intmax_t.m4.
96128         (Depends-on): Add stdint.
96129         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
96130         m4/uintmax_t.m4.
96131         (Depends-on): Add stdint.
96132         * modules/unlink-busy: New module.
96133         * modules/utimecmp (Depends-on): Add stdint.
96134         * modules/uptime: New module.
96135         * modules/winsz-ioctl: New module.
96136         * modules/winsz-termios: New module.
96137         * modules/xnanosleep (Depends-on): Add nanosleep.
96138         * modules/ullong_max: Remove.
96139         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
96140         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
96141         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
96142         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
96143         (Depends-on): Add inttypes.
96144         (lib_SOURCES): Add xstrtol.h.
96145         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
96146         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
96147         * MODULES.html.sh: Move 'assert' into the assert section.
96148         Move 'dummy' into the linking section.
96149         Remove ullong_max.
96150         Add section for compatibility checks for POSIX:2001 functions,
96151         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
96152         winsz-ioctl, and winsz-termios into it.
96153         Add lchmod.
96154         Add top-level Misc section and put host-os, perl, and uptime
96155         into it.
96157 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
96159         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
96160         now assume the stdint module.  Do not include inttypes.h.
96161         * lib/fsusage.h: Likewise.
96162         * lib/getndelim2.c: Likewise.
96163         * lib/human.h: Likewise.
96164         * lib/inttostr.h: Likewise.
96165         * lib/obstack.c: Likewise.
96166         * lib/regex_internal.h: Likewise.
96167         * lib/tempname.c: Likewise.
96168         * lib/utimecmp.c: Likewise.
96169         * lib/xstrtol.h: Likewise.
96171         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
96173         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
96174         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
96175         * lib/xtime.h: Likewise.
96177 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
96179         * modules/openat (Files): Add lib/fchmodat.c.
96180         Fixes problem reported by Jay Youngman.
96182 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
96184         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
96185         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
96187 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
96188             Bruno Haible  <bruno@clisp.org>
96190         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
96191         and is a script that invokes bison. Tighten the code. Add comments.
96193 2006-08-18  Jim Meyering  <jim@meyering.net>
96195         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
96196         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
96197         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
96198         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
96200 2006-08-18  Bruno Haible  <bruno@clisp.org>
96202         * modules/bison-i18n: New file.
96203         * MODULES.html.sh (Internationalization functions): Add it.
96205 2006-08-18  Bruno Haible  <bruno@clisp.org>
96207         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
96208         sys/statvfs.h. When getmntinfo was found, check its declaration and
96209         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
96211 2006-08-18  Bruno Haible  <bruno@clisp.org>
96213         * m4/bison-i18n.m4: New file, from bison.
96215 2006-08-18  Bruno Haible  <bruno@clisp.org>
96217         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
96218         (ME_DUMMY): Treat "kernfs" as a dummy.
96219         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
96221 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
96223         Update from coreutils.
96225         2006-08-15  Jim Meyering  <jim@meyering.net>
96227         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
96229         2006-01-17  Jim Meyering  <jim@meyering.net>
96231         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
96233         2006-01-11  Jim Meyering  <jim@meyering.net>
96235         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
96236         Check for the lchmod function.
96238 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
96240         Update from coreutils.
96242         * lib/__fpending.h: Add copyright notice.
96243         * lib/fprintftime.h: Likewise.
96244         * lib/savedir.c: Use (C) in copyright notice.
96245         * lib/savedir.h: Likewise.
96247         2006-08-15  Jim Meyering  <jim@meyering.net>
96249         * lib/at-func.c: New file, with the logic of all emulated at-functions.
96250         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
96251         in support of the EXPECTED_ERRNO macro.
96252         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
96253         definitions.  Instead, define the appropriate symbols and include
96254         "at-func.c".
96255         * lib/mkdirat.c (mkdirat): Likewise.
96256         * lib/fchmodat.c (fchmodat): Likewise.
96257         (ENOSYS): Remove definition.
96258         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
96259         it.  Don't include "unistd--.h" -- it wasn't ever used.
96261         2006-01-17  Jim Meyering  <jim@meyering.net>
96263         Rewrite fts.c not to change the current working directory,
96264         by using openat, fstatat, fdopendir, etc..
96266         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
96267         (HAVE_OPENAT_SUPPORT): Define.
96268         [_LIBC] (fchdir): Don't undef or define; no longer used.
96269         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
96270         Now, this `function' always succeeds, and consumes its file descriptor
96271         parameter -- so callers must not close such FDs.  Update callers.
96272         (diropen_fd, opendirat, cwd_advance_fd): New functions.
96273         (diropen): Add parameter, SP.  Adjust all callers.
96274         Implement using diropen_fd, rather than open.
96275         (fts_open): Initialize new member, fts_cwd_fd.
96276         Remove fts_rft-setting code.
96277         (fts_close): Close fts_cwd_fd, if necessary.
96278         (__opendir2): Define in terms of opendir or opendirat,
96279         depending on whether the FST_NOCHDIR flag is set.
96280         (fts_build): Since fts_safe_changedir consumes its FD, and since
96281         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
96282         and close the dup'd file descriptor upon failure.
96283         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
96284         (fts_safe_changedir): Tweak semantics to reflect that this function
96285         now calls cwd_advance_fd and hence consumes its FD argument.
96286         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
96287         [struct FTS] (fts_rft): Remove now-unused member.
96288         [struct FTS] (fts_cycle.state): Improve comment.
96290         * lib/openat.c (openat_needs_fchdir): New function.
96291         * lib/openat.h (openat_needs_fchdir): Declare it.
96293 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
96295         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
96296         Problem and fix reported by Pádraig Brady in
96297         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
96299 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96301         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
96303 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96305         * lib/memcoll.c (memcoll): Optimize for the common case where the
96306         arguments are bytewise equal.
96308 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96310         * doc/regexprops-generic.texi: Add a copyright notice.
96312 2006-08-15  Bruno Haible  <bruno@clisp.org>
96314         * modules/tmpdir (License): Change to LGPL.
96316 2006-08-15  Bruno Haible  <bruno@clisp.org>
96318         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
96319         module.
96321 2006-08-14  Simon Josefsson  <jas@extundo.com>
96323         * config/srclist.txt: Add gnupload.
96325 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
96327         Change copyright notice from LGPL 2 to GPL 2, since that's the
96328         standard form used in the gnulib repository.
96329         * tests/test-lock.c: Likewise.
96330         * tests/test-stdint.c: Likewise.
96331         * tests/test-tls.c: Likewise.
96333         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
96334         prelude-manager.  User shorter URLs for GNU projects, without '?'.
96335         Add copyright notice.
96337         * check-module: Add copyright notice.  Output a copyright
96338         notice if "--version" is specified.
96339         * modules/COPYING: New file.
96340         * tests/test-getaddrinfo.c: Add copyright notice.
96341         * tests/test-verify.c: Likewise.
96343 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
96345         Change copyright notice from LGPL 2 to GPL 2, since that's the
96346         standard form used in the gnulib repository.
96347         * lib/lock.c: LGPL -> GPL.
96348         * lib/lock.h: Likewise.
96349         * lib/strnlen1.c: Likewise.
96350         * lib/strnlen1.h: Likewise.
96351         * lib/tls.c: Likewise.
96352         * lib/tls.h: Likewise.
96353         * lib/tmpdir.c: Likewise.
96355         * lib/TODO: Remove; this belongs only in coreutils.
96357 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
96359         Add copyright notices to long-enough files that lack them, since
96360         otherwise the files aren't clearly free.  Use the same notice that
96361         getdate.texi already uses.
96362         * doc/alloca-opt.texi: Add copyright notice.
96363         * doc/alloca.texi: Likewise.
96364         * doc/ctime.texi: Likewise.
96365         * doc/functions.texi: Likewise.
96366         * doc/gcd.texi: Likewise.
96367         * doc/gnulib-tool.texi: Likewise.
96368         * doc/inet_ntoa.texi: Likewise.
96369         * doc/visibility.texi: Likewise.
96371         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
96372         * doc/quote.texi: Add copyright notice.
96374         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
96375         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
96376         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
96377         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
96378         is now obsolete, and give a pointer to the Sun list.
96379         Add copyright notice.
96381 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
96383         * config/srclistvars.sh: Add copyright notice.
96385 2006-08-14  Eric Blake  <ebb9@byu.net>
96387         Import the following change from libc:
96389         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
96391         Upstream bug 2997.
96392         * lib/misc/error.c: Add space between program name and message if file
96393         name is missing.
96395 2006-08-12  Karl Berry  <karl@gnu.org>
96397         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
96398         remove, these originate in gnulib now.
96400 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96402         * doc/Makefile (standards.info standards.html standards.dvi):
96403         Also depend on make-stds.texi.
96405 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
96407         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
96408         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
96410         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
96411         in wchar_t.  Problem reported by Eric Blake.
96413         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
96414         LEN is smaller than SIZE.  Suggested by Bruno Haible.
96415         Also, help the compiler to keep LEN in a register.
96417 2006-08-11  Eric Blake  <ebb9@byu.net>
96419         * users.txt: Sort.  Add tar.
96421 2006-08-11  Bruno Haible  <bruno@clisp.org>
96423         * users.txt: New file.
96425 2006-08-11  Bruno Haible  <bruno@clisp.org>
96427         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
96428         before <wchar.h>. Needed for OSF/1 and BSD/OS.
96430 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
96432         * modules/snprintf (Depends-on): Remove minmax.
96433         (Maintainer): Add self and Bruno.
96435 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
96437         * lib/.cppi-disable: Add snprintf.h, socket_.h.
96438         * lib/snprintf.c: Include <errno.h> and <limits.h>.
96439         (EOVERFLOW): Define if the system does not.
96440         Do not include "minmax.h"; it wasn't used.
96441         (snprintf): Don't assume size_t promotes to an unsigned type.
96442         Fix bug when generated string was too long for the buffer: the
96443         buffer's contents are supposed to be the initial prefix of the
96444         output.  Don't assume vasnprintf returns EOVERFLOW if the size
96445         exceeds INT_MAX; do the check ourselves.
96447         Import the following changes from libc:
96449         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
96451         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
96452         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
96453         set wc to the byte which couldn't be converted.
96454         (re_string_reconstruct): Don't clear valid_raw_len before calling
96455         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
96456         tip_context using re_string_context_at.
96458         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
96460         * lib/posix/regex.h: g++ still cannot handled [restrict].
96462         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
96464         * lib/posix/regex.h: Remove special handling for VMS.
96466 2006-08-10  Jim Meyering  <jim@meyering.net>
96468         * modules/same-inode: New module.
96469         * modules/dev-ino: New module.
96470         * modules/cycle-check: Depend on these modules, rather than simply
96471         including their .h files.
96472         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
96473         required via m4/cycle-check.m4.
96474         * modules/same: Depend on new same-inode module, rather than
96475         including same-inode.h.
96476         * modules/chdir-safer: New file.
96478         * modules/chown (Depends-on): Add stat-macros.
96480 2006-08-10  Jim Meyering  <jim@meyering.net>
96482         * m4/cycle-check.m4: New file.
96483         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
96484         * m4/dev-ino.m4, m4/same-inode.m4: New files.
96486 2006-08-10  Eric Blake  <ebb9@byu.net>
96488         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
96489         in from original proposal.
96491 2006-08-10  Eric Blake  <ebb9@byu.net>
96492         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
96494         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
96495         namespace.
96497 2006-08-10  Bruno Haible  <bruno@clisp.org>
96499         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
96500         as well.
96502 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
96504         Sync from coreutils.
96506         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
96508         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
96509         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
96511 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
96513         * modules/restrict: Remove; no longer needed now that we assume
96514         Autoconf 2.59 or later.
96515         * MODULES.html.sh: Remove 'restrict'.
96516         * modules/argp (Depends-on): Remove 'restrict'.
96517         * modules/base64 (Depends-on): Likewise.
96518         * modules/gc (Depends-on): Likewise.
96519         * modules/getaddrinfo (Depends-on): Likewise.
96520         * modules/glob (Depends-on): Likewise.
96521         * modules/inet_ntop (Depends-on): Likewise.
96522         * modules/inet_pton (Depends-on): Likewise.
96523         * modules/memxor (Depends-on): Likewise.
96524         * modules/regex (Depends-on): Likewise.
96525         * modules/strtok_r (Depends-on): Likewise.
96526         * modules/time_r (Depends-on): Likewise.
96528 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
96530         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
96531         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
96532         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
96533         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
96534         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
96535         * m4/memxor.m4 (gl_MEMXOR): Likewise.
96536         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
96537         gl_C_RESTRICT replaced by AC_C_RESTRICT.
96539         Merge from coreutils.
96540         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
96541         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
96542         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
96543         * m4/time_r.m4 (gl_TIME_R): Likewise.
96545 2006-08-09  Karl Berry  <karl@gnu.org>
96547         * config/srclist.txt: no more gettext-tools, per Bruno.
96549 2006-08-08  Eric Blake  <ebb9@byu.net>
96551         * modules/verror: New module.
96552         * MODULES.html.sh: Document it.
96554 2006-08-08  Eric Blake  <ebb9@byu.net>
96556         * lib/verror.h, lib/verror.c: New files.
96558 2006-08-08  Eric Blake  <ebb9@byu.net>
96560         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
96561         verror_at_line output complies with GNU Coding Standards even when
96562         file is NULL.
96564 2006-08-07  Bruno Haible  <bruno@clisp.org>
96566         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
96567         versions of AIX.
96568         Reported by Ralf Wildenhues.
96570 2006-08-07  Bruno Haible  <bruno@clisp.org>
96572         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
96573         in an AC_DEFUN. Needed so that the autoconf snippets can use
96574         AC_REQUIRE.
96576 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96578         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
96579         Initialize pkgdata_DATA.
96580         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
96581         overriding it.
96583 2006-08-06  Eric Blake  <ebb9@byu.net>
96585         * lib/error.h: Fold in some upstream changes from glibc.
96586         * lib/error.c: Likewise.
96588 2006-08-04  Bruno Haible  <bruno@clisp.org>
96590         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
96591         Make the mostlyclean-local rule depend on mostlyclean-generic.
96592         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
96594 2006-07-31  Bruno Haible  <bruno@clisp.org>
96596         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
96597         <stdlib.h>, <string.h>.
96599 2006-07-30  Bruno Haible  <bruno@clisp.org>
96601         * modules/readlink (License): Change to LGPL.
96603 2006-07-30  Bruno Haible  <bruno@clisp.org>
96605         * modules/javaversion (Makefile.am): Distribute javaversion.java and
96606         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
96607         set PKGDATADIR to point to it.
96609 2006-07-30  Bruno Haible  <bruno@clisp.org>
96611         * modules/csharpexec (configure.ac): Comment out macro invocation.
96612         * modules/javaexec (configure.ac): Likewise.
96613         * modules/javacomp-script (configure.ac): Likewise.
96615         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
96617 2006-07-30  Bruno Haible  <bruno@clisp.org>
96619         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
96620         linked-list.
96622 2006-07-30  Bruno Haible  <bruno@clisp.org>
96624         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
96626 2006-07-30  Bruno Haible  <bruno@clisp.org>
96628         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
96629         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
96630         get removed.
96632 2006-07-29  Bruno Haible  <bruno@clisp.org>
96634         Make it possible for gnulib-tool to work with locally modified or
96635         augmented gnulib repositories.
96636         * gnulib-tool (func_usage): Document --local-dir option.
96637         (local_gnulib_dir): New variable.
96638         Handle --local-dir option.
96639         (func_lookup_file): New function.
96640         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
96641         (func_get_description, func_get_filelist, func_get_description,
96642         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
96643         func_get_automake_snippet, func_get_include_directive,
96644         func_get_license, func_get_maintainer): Use func_lookup_file.
96645         (func_import, func_create_testdir): Use func_lookup_file.
96647 2006-07-29  Bruno Haible  <bruno@clisp.org>
96649         * modules/setenv (Depends-on): Add unistd.
96651 2006-07-29  Bruno Haible  <bruno@clisp.org>
96653         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
96655 2006-07-29  Bruno Haible  <bruno@clisp.org>
96657         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
96659 2006-07-29  Bruno Haible  <bruno@clisp.org>
96661         * gnulib-tool (import, update): If there is no Makefile.am, look at
96662         aclocal.m4, instead of bailing out.
96664 2006-07-29  Bruno Haible  <bruno@clisp.org>
96666         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
96667         Categorize the options by when they are useful.
96669 2006-07-29  Bruno Haible  <bruno@clisp.org>
96671         * gnulib-tool (func_usage): Document option --no-libtool.
96672         Handle option --no-libtool.
96673         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
96674         for changed semantics of $libtool variable.
96675         (func_import): Likewise. If libtool is not used, show this through
96676         an option --no-libtool.
96677         (func_create_testdir): Update.
96679 2006-07-29  Bruno Haible  <bruno@clisp.org>
96681         * gnulib-tool (func_import): Extend error message about missing
96682         --doc-base.
96684 2006-07-29  Bruno Haible  <bruno@clisp.org>
96686         * gnulib-tool (func_import): Don't create the $docbase directory if
96687         there is no file to store there.
96689 2006-07-29  Bruno Haible  <bruno@clisp.org>
96691         * gnulib-tool (autoconf_minversion): If a --dir option is given and
96692         relevant, look for configure.ac there, not in the current directory.
96693         Also use a simple search for AC_PREREQ, not "autoconf --trace".
96695 2006-07-29  Bruno Haible  <bruno@clisp.org>
96697         * gnulib-tool (SORT): New variable.
96698         (func_usage): Undocument --assume-autoconf option.
96699         Remove --assume-autoconf option handling.
96700         (autoconf_minversion): Determine from the contents of configure.ac.
96701         (func_import): Remove autoconf_minversion handling.
96702         Suggested by Eric Blake.
96704 2006-07-29  Bruno Haible  <bruno@clisp.org>
96706         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
96708 2006-07-29  Bruno Haible  <bruno@clisp.org>
96710         * config/srclist.txt (*setenv.[ch]): Remove rules.
96712 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
96714         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
96716 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
96718         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
96719         arpa/inet.h.
96721 2006-07-28  Simon Josefsson  <jas@extundo.com>
96723         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
96724         * modules/inet_pton (Depends-on): Likewise.
96726 2006-07-28  Simon Josefsson  <jas@extundo.com>
96728         * m4/netinet_in_h.m4: New file.
96730 2006-07-28  Simon Josefsson  <jas@extundo.com>
96732         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
96733         #include's.
96735 2006-07-28  Simon Josefsson  <jas@extundo.com>
96737         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
96738         #include's.
96740 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
96742         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
96743         setgid on directories only if they set these bits.
96744         * lib/modechange.h: Remove obsolete comment about masks.
96746 2006-07-28  Eric Blake  <ebb9@byu.net>
96748         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
96749         macro expansion.
96751 2006-07-28  Bruno Haible  <bruno@clisp.org>
96753         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
96755 2006-07-28  Bruno Haible  <bruno@clisp.org>
96757         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
96759 2006-07-28  Bruno Haible  <bruno@clisp.org>
96761         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
96762         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
96763         Define fallbacks.
96764         Avoids link error on FreeBSD 4.x.
96765         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
96767         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
96768         encoding.
96769         * lib/mbswidth.c (iswcntrl): Likewise.
96771 2006-07-27  Bruno Haible  <bruno@clisp.org>
96773         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
96774         test.
96776 2006-07-27  Bruno Haible  <bruno@clisp.org>
96778         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
96779         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
96780         defined.
96782 2006-07-26  Eric Blake  <ebb9@byu.net>
96784         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
96786 2006-07-26  Eric Blake  <ebb9@byu.net>
96788         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
96789         like mingw that lack mkstemp.
96790         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
96791         avoid compilation warning on mingw.
96793 2006-07-26  Bruno Haible  <bruno@clisp.org>
96795         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
96796         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
96797         INT_FAST*_MIN, INTPTR_MIN.
96799 2006-07-25  Bruno Haible  <bruno@clisp.org>
96801         * modules/version-etc (Depends-on): Add stdarg.
96803 2006-07-25  Bruno Haible  <bruno@clisp.org>
96805         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
96806         complex commands.
96808 2006-07-25  Bruno Haible  <bruno@clisp.org>
96810         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
96811         defined in <stdarg.h> or config.h.
96813 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
96815         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
96816         (gl_STDIO_SAFER): Remove.
96818 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
96820         * MODULES.html.sh (File stream based Input/Output):
96821         Add fopen-safer, tmpfile-safer; remove stdio-safer.
96822         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
96823         * modules/fopen-safer, modules/tmpfile-safer: New files.
96824         * modules/stdio-safer: Remove.
96826 2006-07-24  Bruno Haible  <bruno@clisp.org>
96828         * modules/tmpdir: New file.
96829         * MODULES.html.sh (File system functions): Add it.
96831 2006-07-24  Bruno Haible  <bruno@clisp.org>
96833         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
96834         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
96836 2006-07-24  Bruno Haible  <bruno@clisp.org>
96838         * modules/clean-temp: New file.
96840 2006-07-24  Bruno Haible  <bruno@clisp.org>
96842         * m4/tmpdir.m4: New file, from GNU gettext.
96844 2006-07-24  Bruno Haible  <bruno@clisp.org>
96846         * lib/tmpdir.h: New file, from GNU gettext.
96847         * lib/tmpdir.c: New file, from GNU gettext.
96849 2006-07-24  Bruno Haible  <bruno@clisp.org>
96851         * lib/clean-temp.h: New file, from GNU gettext.
96852         * lib/clean-temp.c: New file, from GNU gettext.
96854 2006-07-23  Eric Blake  <ebb9@byu.net>
96856         * modules/stdio-safer (Files): Add tmpfile-safer.c.
96857         (Depends-on): Add binary-io.
96859 2006-07-23  Eric Blake  <ebb9@byu.net>
96861         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
96863 2006-07-23  Eric Blake  <ebb9@byu.net>
96865         * lib/tmpfile-safer.c: New file.
96866         * lib/stdio-safer.h (fopen_safer): Add prototype.
96867         * lib/stdio--.h (tmpfile): Make safer.
96869 2006-07-23  Bruno Haible  <bruno@clisp.org>
96871         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
96872         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
96873         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
96874         gl_linked_remove_at): Use it.
96876 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
96877         and Simon Josefsson <jas@extundo.com>
96879         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
96881         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
96883 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
96885         * modules/close-stream: New file.
96886         * modules/closeout (Description): Make it clear that it exits
96887         with a diagnostic on error.
96888         (Depends-on): Add close-stream.  Remove fpending, stdbool.
96889         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
96891 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
96893         * m4/close-stream.m4: New file.
96895 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
96897         * lib/close-stream.c, lib/close-stream.h: New files.
96899 2006-07-22  Bruno Haible  <bruno@clisp.org>
96901         Merge from GNU gettext 0.15.
96903         2006-05-01  Bruno Haible  <bruno@clisp.org>
96905                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
96907         2006-07-22  Bruno Haible  <bruno@clisp.org>
96909                 * modules/javaversion: New file.
96910                 * MODULES.html.sh (Java): Add javaversion.
96912         2006-03-12  Bruno Haible  <bruno@clisp.org>
96914                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
96916         2005-12-04  Bruno Haible  <bruno@clisp.org>
96918                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
96919                 (untested).
96921         2006-06-21  Bruno Haible  <bruno@clisp.org>
96923                 Avoid warnings from recent versions of mcs.
96924                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
96925                 -o, -L, -r any more. Use options documented since mcs-1.0
96926                 instead. Similarly for -g.
96928         2005-12-04  Bruno Haible  <bruno@clisp.org>
96930                 * build-aux/csharpcomp.sh.in: Suffix for resources is
96931                 .resources, not .resource.
96933         2005-07-09  Bruno Haible  <bruno@clisp.org>
96935                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
96936                 add a .dll suffix.
96937                 Reported by Mark Junker <mjscod@gmx.de>.
96939         2006-07-22  Bruno Haible  <bruno@clisp.org>
96941                 * modules/gettext: Upgrade to gettext-0.15.
96942                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
96943                 m4/visibility.m4.
96944                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
96946 2006-07-22  Bruno Haible  <bruno@clisp.org>
96948         Merge from GNU gettext 0.15.
96950         2006-03-25  Bruno Haible  <bruno@clisp.org>
96952                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
96954         2006-07-21  Bruno Haible  <bruno@clisp.org>
96956                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
96957                 "1.1".
96959         2006-05-09  Bruno Haible  <bruno@clisp.org>
96961                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
96962                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
96963                 for the conftestver execution.
96965         2006-05-01  Bruno Haible  <bruno@clisp.org>
96967                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
96968                 optional target-version argument. Verify that the compiler
96969                 groks source of the specified source-version, or add -source
96970                 option as necessary. Verify that the compiler produces
96971                 bytecode in the specified target-version, or add -target and
96972                 -source options as necessary. Make the result of the test
96973                 available as variable CONF_JAVAC. Also log error output in
96974                 config.log.
96976         2006-03-11  Bruno Haible  <bruno@clisp.org>
96978                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
96980         2006-05-09  Bruno Haible  <bruno@clisp.org>
96982                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
96983                 CLASSPATH_SEPARATOR to a semicolon.
96985         2006-03-12  Bruno Haible  <bruno@clisp.org>
96987                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
96988                 available as variable CONF_JAVA, for subsequent autoconf
96989                 tests. Also log error output in config.log.
96991         2006-07-19  Bruno Haible  <bruno@clisp.org>
96993                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
96994                 that getline works on glibc2 systems. Needed to avoid trouble
96995                 in relocatable.c.
96996                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
96998         2005-12-04  Bruno Haible  <bruno@clisp.org>
97000                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
97001                 launcher (untested).
97003         2005-12-04  Bruno Haible  <bruno@clisp.org>
97005                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
97007         2006-07-22  Bruno Haible  <bruno@clisp.org>
97009                 * gettext.m4: Update from GNU gettext-0.15.
97010                 * nls.m4: Likewise.
97011                 * po.m4: Likewise.
97012                 * inttypes-pri.m4: Likewise.
97013                 * inttypes-h.m4: Renamed from inttypes.m4.
97014                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
97016 2006-07-22  Bruno Haible  <bruno@clisp.org>
97018         Merge from GNU gettext 0.15.
97020         2005-07-05  Bruno Haible  <bruno@clisp.org>
97022                 * printf-args.c (printf_fetchargs): Work around broken
97023                 definition of wint_t on mingw.
97025         2005-02-12  Bruno Haible  <bruno@clisp.org>
97027                 * xallocsa.h: Add extern "C" for C++.
97029         2006-05-17  Bruno Haible  <bruno@clisp.org>
97031                 Cygwin portability.
97032                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
97034         2006-04-30  Bruno Haible  <bruno@clisp.org>
97036                 * progreloc.c: Include <mach-o/dyld.h> if available.
97037                 (find_executable): Use _NSGetExecutablePath when possible.
97039         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
97041                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
97042                 function.
97044         2005-12-29  Bruno Haible  <bruno@clisp.org>
97046                 * progreloc.c (set_program_name_and_installdir): Fix
97047                 compilation error.
97049         2005-12-04  Bruno Haible  <bruno@clisp.org>
97051                 Cygwin portability.
97052                 * progreloc.c: Include <windows.h> also on Cygwin.
97053                 (find_executable): Add support for Cygwin.
97054                 (set_program_name_and_installdir): Handle also platforms with
97055                 nonempty EXEEXT.
97057         2006-07-11  Bruno Haible  <bruno@clisp.org>
97059                 * javacomp.c: Fix a comment.
97060                 Reported by Jim Meyering.
97062         2006-04-30  Bruno Haible  <bruno@clisp.org>
97064                 * javacomp.h (compile_java_class): Add source_version,
97065                 target_version arguments.
97066                 * javacomp.c: Rewritten to choose only a compiler that
97067                 respects the specified source_version and target_version.
97069         2006-06-27  Bruno Haible  <bruno@clisp.org>
97071                 Assume correct S_ISDIR macro.
97072                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
97074         2006-07-22  Bruno Haible  <bruno@clisp.org>
97076                 * javaversion.h: New file, from GNU gettext.
97077                 * javaversion.c: New file, from GNU gettext.
97078                 * javaversion.java: New file, from GNU gettext.
97079                 * javaversion.class: New file, from GNU gettext.
97081         2006-05-17  Bruno Haible  <bruno@clisp.org>
97083                 Cygwin portability.
97084                 * javaexec.c (execute_java_class): Test for jview program
97085                 also on Cygwin.
97087         2006-04-09  Bruno Haible  <bruno@clisp.org>
97089                 * fatal-signal.c: Don't include string.h.
97090                 (at_fatal_signal): Use a copying loop instead of memcpy.
97092         2005-12-04  Bruno Haible  <bruno@clisp.org>
97094                 * csharpexec.c: Add support for 'clix' launcher (untested).
97095                 (execute_csharp_using_sscli): New function.
97096                 (execute_csharp_program): Call it.
97098         2006-06-21  Bruno Haible  <bruno@clisp.org>
97100                 Avoid warnings from recent versions of mcs.
97101                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
97102                 -o, -L, -r any more. Use options documented since mcs-1.0
97103                 instead. Similarly for -g.
97105         2005-07-09  Bruno Haible  <bruno@clisp.org>
97107                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
97108                 add a .dll suffix.
97109                 Reported by Mark Junker <mjscod@gmx.de>.
97111         2006-06-17  Bruno Haible  <bruno@clisp.org>
97113                 * config.charset: Update for NetBSD 3.0.
97115         2006-05-17  Bruno Haible  <bruno@clisp.org>
97117                 Cygwin portability.
97118                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
97120         2006-05-16  Bruno Haible  <bruno@clisp.org>
97122                 * localcharset.c [CYGWIN]: Include <windows.h>.
97123                 (get_charset_aliases): For Cygwin, return the same CPxxx
97124                 aliases list as under WIN32.
97125                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
97126                 the environment variables. Fall back to GetACP().
97128         2006-04-05  Bruno Haible  <bruno@clisp.org>
97130                 * config.charset: Update Juan Manuel Guerrero's address.
97132         2005-02-12  Bruno Haible  <bruno@clisp.org>
97134                 * allocsa.h: Add extern "C" for C++.
97136         2005-02-10  Bruno Haible  <bruno@clisp.org>
97138                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
97139                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
97141         2006-07-22  Bruno Haible  <bruno@clisp.org>
97143                 * gettext.h: Update to GNU gettext-0.15.
97145 2006-07-22  Bruno Haible  <bruno@clisp.org>
97147         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
97148         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
97149         lib-prefix.m4, longdouble.m4, ssize_t.m4.
97151 2006-07-21  Eric Blake  <ebb9@byu.net>
97153         * modules/stdlib-safer: New file.
97154         * MODULES.html.sh (File stream based Input/Output): Add
97155         stdlib-safer.
97157 2006-07-21  Eric Blake  <ebb9@byu.net>
97159         * lib/stdlib-safer.h: New file from coreutils, required by
97160         stdlib--.h.
97162 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
97164         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
97166 2006-07-20  Bruno Haible  <bruno@clisp.org>
97168         * gnulib-tool: Recognize new option --assume-autoconf.
97169         (autoconf_minversion): New variable.
97170         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
97172 2006-07-20  Bruno Haible  <bruno@clisp.org>
97174         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
97176 2006-07-19  Derek R. Price  <derek@ximbiot.com>
97178         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
97179         Reindent and repaginate.
97181 2006-07-19  Derek Price  <derek@ximbiot.com>
97183         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
97184         Correct grammar.
97186 2006-07-17  Bruno Haible  <bruno@clisp.org>
97188         * modules/list: New file.
97189         * modules/array-list: New file.
97190         * modules/carray-list, modules/carray-list-tests: New files.
97191         * modules/linked-list, modules/linked-list-tests: New files.
97192         * modules/avltree-list, modules/avltree-list-tests: New files.
97193         * modules/rbtree-list, modules/rbtree-list-tests: New files.
97194         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
97195         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
97196         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
97197         * modules/oset: New file.
97198         * modules/array-oset: New file.
97199         * modules/avltree-oset, modules/avltree-oset-tests: New files.
97200         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
97201         * tests/test-carray_list.c: New file.
97202         * tests/test-linked_list.c: New file.
97203         * tests/test-avltree_list.c: New file.
97204         * tests/test-rbtree_list.c: New file.
97205         * tests/test-linkedhash_list.c: New file.
97206         * tests/test-avltreehash_list.c: New file.
97207         * tests/test-rbtreehash_list.c: New file.
97208         * tests/test-avltree_oset.c: New file.
97209         * tests/test-rbtree_oset.c: New file.
97210         * MODULES.html.sh (Container data structures): New section.
97212 2006-07-17  Bruno Haible  <bruno@clisp.org>
97214         * m4/gl_list.m4: New file.
97216 2006-07-17  Bruno Haible  <bruno@clisp.org>
97218         * lib/gl_list.h: New file.
97219         * lib/gl_list.c: New file.
97220         * lib/gl_array_list.h: New file.
97221         * lib/gl_array_list.c: New file.
97222         * lib/gl_carray_list.h: New file.
97223         * lib/gl_carray_list.c: New file.
97224         * lib/gl_linked_list.h: New file.
97225         * lib/gl_linked_list.c: New file.
97226         * lib/gl_anylinked_list1.h: New file.
97227         * lib/gl_anylinked_list2.h: New file.
97228         * lib/gl_avltree_list.h: New file.
97229         * lib/gl_avltree_list.c: New file.
97230         * lib/gl_anyavltree_list1.h: New file.
97231         * lib/gl_anyavltree_list2.h: New file.
97232         * lib/gl_rbtree_list.h: New file.
97233         * lib/gl_rbtree_list.c: New file.
97234         * lib/gl_anyrbtree_list1.h: New file.
97235         * lib/gl_anyrbtree_list2.h: New file.
97236         * lib/gl_anytree_list1.h: New file.
97237         * lib/gl_anytree_list2.h: New file.
97238         * lib/gl_linkedhash_list.h: New file.
97239         * lib/gl_linkedhash_list.c: New file.
97240         * lib/gl_anyhash_list1.h: New file.
97241         * lib/gl_anyhash_list2.h: New file.
97242         * lib/gl_avltreehash_list.h: New file.
97243         * lib/gl_avltreehash_list.c: New file.
97244         * lib/gl_rbtreehash_list.h: New file.
97245         * lib/gl_rbtreehash_list.c: New file.
97246         * lib/gl_anytreehash_list1.h: New file.
97247         * lib/gl_anytreehash_list2.h: New file.
97249         * lib/gl_oset.h: New file.
97250         * lib/gl_oset.c: New file.
97251         * lib/gl_array_oset.h: New file.
97252         * lib/gl_array_oset.c: New file.
97253         * lib/gl_avltree_oset.h: New file.
97254         * lib/gl_avltree_oset.c: New file.
97255         * lib/gl_rbtree_oset.h: New file.
97256         * lib/gl_rbtree_oset.c: New file.
97257         * lib/gl_anytree_oset.h: New file.
97259 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
97261         * m4/mkancesdirs.m4: New file.
97262         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
97263         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
97264         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
97265         it.
97267 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
97269         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
97270         * lib/mkancesdirs.h: New files.
97271         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
97272         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
97273         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
97274         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
97275         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
97276         callers changed.  Revamp internals significantly, by not
97277         attempting to create directories that are temporarily more
97278         permissive than the final results.  Do not attempt to use
97279         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
97280         This removes some race conditions, fixes some bugs, and simplifies
97281         things.  Use new dirchownmod function to do owner and mode changes.
97282         * lib/mkdir-p.h: Likewise.
97283         * lib/modechange.c (octal_to_mode): New function.
97284         (struct mode_change): New member mentioned.
97285         (make_node_op_equals): New arg mentioned.  All callers changed.
97286         (mode_compile): Keep track of which mode bits the user has explicitly
97287         mentioned.
97288         (mode_adjust): New arg DIR, so that we implement the X op correctly.
97289         New arg PMODE_BITS, to keep track of which mode bits the user
97290         mentioned; it treats S_ISUID and S_ISGID speciall.
97291         All callers changed.
97292         * lib/modechange.h: Likewise.
97294 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
97296         * MODULES.html.sh: Add mkancestors.
97297         * modules/mkancesdirs: New module.
97298         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
97299         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
97300         The chdir-safer and afs files are now orphans; I'll remove them
97301         unless someone speaks up.
97302         Add lib/dirchownmod.c, lib/dirchownmod.h.
97303         (Depends-on): Remove alloca, chown, save-cwd, dirname.
97304         Add lchown, mkancesdirs.
97305         (Maintainer): Add self.
97307 2006-07-15  Karl Berry  <karl@gnu.org>
97309         * gnulib-tool: help message wording/arrangement.
97311 2006-07-14  Simon Josefsson  <jas@extundo.com>
97313         * doc/gnulib.texi (Libtool and Windows): New section.
97315 2006-07-12  Simon Josefsson  <jas@extundo.com>
97317         * modules/gendocs (License): Fix license, approved by Karl.
97319 2006-07-12  Eric Blake  <ebb9@byu.net>
97321         * MODULES.html.sh: Add gendocs.
97323 2006-07-11  Eric Blake  <ebb9@byu.net>
97325         * modules/fdl: New module, to install doc/fdl.texi.
97326         * MODULES.html.sh: Add new section for documentation modules.
97327         * gnulib-tool: Avoid space-tab.
97328         (--doc-base): New option, to manage files from doc.
97330 2006-07-11  Eric Blake  <ebb9@byu.net>
97332         * m4/absolute-header.m4: Fix comments to match recent change.
97334 2006-07-11  Eric Blake  <ebb9@byu.net>
97336         * gnulib-tool: List --doc-base before --tests-base.
97338 2006-07-11  Derek R. Price  <derek@ximbiot.com>
97340         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
97342 2006-07-11  Bruno Haible  <bruno@clisp.org>
97344         * README: Mention where to put documentation.
97346 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97348         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
97350 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
97352         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
97353         to stdint.m4.
97355 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
97357         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
97358         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
97359         "no/such/file/stdint.h" when there is no such file, so that
97360         the resulting C code can be parsed by dodgy compilers.
97361         Problems reported by Bob Proulx.
97363 2006-07-10  Derek R. Price  <derek@ximbiot.com>
97365         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
97366         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
97367         macros into the GNU _D_EXACT_NAMLEN.
97368         * lib/savedir.c:  Likewise.
97369         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
97371 2006-07-10  Derek R. Price  <derek@ximbiot.com>
97372         and Paul Eggert  <eggert@cs.ucla.edu>
97374         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
97375         * m4/savedir.m4:
97376         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
97377         macros into the GNU _D_EXACT_NAMLEN.
97379 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
97381         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
97382         around the absolute name, to work around a problem with the HP-UX
97383         11.23 native C compiler, reported by Bob Proulx.
97385 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
97387         * doc/maintain.texi, make-stds.texi: Sync from
97388         <http://savannah.gnu.org/projects/gnustandards>.
97390 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
97392         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
97394 2006-07-09  Jim Meyering  <jim@meyering.net>
97396         * m4/glob.m4: Remove a doubled word in a comment.
97398 2006-07-09  Jim Meyering  <jim@meyering.net>
97400         * lib/argp-pv.c: Remove a doubled word in a comment.
97401         * lib/check-version.c (check_version): Likewise.
97402         * lib/javacomp.c (compile_java_class): Likewise.
97404 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
97406         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
97407         for the benefit of people using Autoconf 2.60.  If you want to
97408         support older Autoconf versions you can copy m4/onceonly_2_57.m4
97409         (or m4/onceonly.m4, if pre-2.57) manually.
97411 2006-07-08  Jim Meyering  <jim@meyering.net>
97413         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
97414         comment.
97415         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
97416         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
97417         comment.
97419 2006-07-08  Jim Meyering  <jim@meyering.net>
97421         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
97423 2006-07-07  Simon Josefsson  <jas@extundo.com>
97425         * tests/test-crc.c: Change expected crc value, the test vector
97426         were probably computed using the old broken crc.c?
97428 2006-07-06  Simon Josefsson  <jas@extundo.com>
97430         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
97431         now the canonical place for the M4 file).
97433         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
97434         from the sys_socket dependency now.
97436         * modules/inet_pton (Files): Ditto.
97438         * modules/inet_ntop (Files): Ditto.
97440 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
97442         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
97443         not gl_PREREQ_GETUSERSHELL.
97445 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97447         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
97448         with only one argument, for Autoconf 2.60.
97449         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
97450         expand to nothing, so add a shell command to avoid syntax error.
97451         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
97453 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97455         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
97457 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
97459         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
97460         no longer needed.  Check for isblank decl.
97461         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
97462         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
97463         of existence.
97465 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
97467         * lib/getloadavg.c: Use __VMS, not VMS.
97468         * lib/getopt.c: Likewise.
97469         * lib/getpagesize.h: Likewise.
97470         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
97471         and probably does not work.
97473 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
97475         * lib/.cppi-disable: Add wcwidth.
97476         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
97477         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
97478         (ISGRAPH): Remove.  All uses changed to isgraph.
97479         (FOLD) [!defined _LIBC]: Remove special case.
97480         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
97481         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
97482         HAVE_ISBLANK.
97483         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
97484         case.
97486 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
97488         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
97489         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
97490         brackets.  Other minor changes to suppress some compiler
97491         warnings.
97493 2006-07-06  Derek R. Price  <derek@ximbiot.com>
97494         and Paul Eggert  <eggert@cs.ucla.edu>
97496         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
97497         of invoking obsolescent AC_HEADER_DIRENT macro.
97498         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
97499         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
97500         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
97501         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
97502         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
97503         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
97504         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
97505         * m4/readdir.m4: Remove; no longer needed.
97507 2006-07-06  Derek R. Price  <derek@ximbiot.com>
97508         and Paul Eggert  <eggert@cs.ucla.edu>
97510         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
97511         Don't worry about this obsolete case any more.
97512         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
97513         directories.
97514         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
97515         worry about this obsolete case any more.
97516         * lib/fts.c: Likewise.
97517         * lib/getcwd.c: Likewise.
97518         * lib/glob.h: Likewise.
97519         * lib/savedir.c: Likewise.
97521 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
97523         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
97524         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
97525         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
97526         needed.
97527         All uses removed.
97528         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
97529         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
97530         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
97531         needed.
97532         * m4/getdate.m4 (gl_GETDATE): Likewise.
97533         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
97534         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
97535         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
97536         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
97537         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
97538         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
97539         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
97540         needed.
97542 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
97544         * lib/memcasecmp.c: Include <limits.h>.
97545         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
97546         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
97547         Don't assume isdigit succeeds only on '0' through '9'.
97549 2006-07-05  Eric Blake  <ebb9@byu.net>
97551         * modules/getaddrinfo (Depends-on): Add snprintf.
97553 2006-07-05  Eric Blake  <ebb9@byu.net>
97555         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
97556         to avoid 'header present but could not be compiled' on cygwin.
97558 2006-07-05  Eric Blake  <ebb9@byu.net>
97560         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
97561         missing from netdb.h.
97562         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
97564 2006-07-05  Derek R. Price  <derek@ximbiot.com>
97566         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
97567         no longer needed.
97568         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
97569         * m4/getdate.m4 (gl_GETDATE): Likewise.
97570         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
97571         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
97572         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
97573         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
97574         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
97576 2006-07-05  Derek R. Price  <derek@ximbiot.com>
97578         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
97579         All uses of is_space replaced by isspace.
97580         * lib/exit.h: Don't talk about STDC_HEADERS.
97581         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
97582         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
97583         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
97584         replaced by isprint etc.
97585         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
97586         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
97587         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
97588         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
97589         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
97590         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
97592 2006-07-05  Bruno Haible  <bruno@clisp.org>
97594         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
97595         the function exists, before testing against AIX.
97596         Reported by Martin Lambers <marlam@marlam.de>.
97598 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
97600         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
97601         From Mark D. Baushke.
97603 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
97605         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
97606         to the absolute name, not just one, to bypass Sun C 5.8's
97607         "warning: #include of /usr/include/... may be non-portable".
97609 2006-07-04  Eric Blake  <ebb9@byu.net>
97611         * modules/dirname-tests: New test module.
97612         * tests/test-dirname.c: New file, replacing dirname.c
97613         TEST_DIRNAME section that was recently deleted.
97615 2006-07-04  Bruno Haible  <bruno@clisp.org>
97617         Assume ANSI C header files and <ctype.h> functions.
97618         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
97619         (mbsnwidth): Use isprint, iscntrl instead.
97621 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
97623         Merge from coreutils.
97624         * MODULES.html.sh: Add xstrtold.
97625         * modules/xstrtold: New file.
97626         * modules/cycle-check (Files): Add lib/same-inode.h.
97627         * modules/dirname (Files): Add m4/double-slash-root.m4.
97628         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
97629         * modules/mkdir-p (Files): Add lib/same-inode.h.
97630         * modules/same (Files): Add lib/same-inode.h.
97632 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
97634         * m4/absolute-header.m4: Renamed from full-header-path.m4.
97635         This is to keep the terminology clean; POSIX talks about
97636         "absolute pathnames", not "full pathnames", but the GNU
97637         Coding Standards say to use "path" for something else;
97638         so use "absolute" to keep both sides happy.
97639         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
97640         Set gl_absolute_header, not gl_full_header_path.
97641         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
97642         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
97643         All uses changed.
97645         Merge from coreutils.
97647         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
97649         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
97650         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
97651         want to require the building of c-strtod.o.
97652         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
97653         needs -lm directly.
97654         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
97656         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
97658         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
97659         --as-needed option if available.  Problem reported by Albert Chin in
97660         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
97661         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
97662         cc merely issues a bunch of annoying warnings for --as-needed
97663         (this problem was reported by Bob Proulx).  Also, try linking with
97664         -lm to detect a bug in binutils 2.16 (this problem was reported
97665         by Ralf Wildenhues).
97667         2006-06-18  Jim Meyering  <jim@meyering.net>
97669         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
97670         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
97671         macro.
97672         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
97673         also check for glibc-2.4's abort-inducing bug.
97675         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
97676         Low-probability clean-up should be to use rmdir to get rid of
97677         the just-created directory, not unlink.
97679         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
97680         configure fail, and request a bug report to inform us about it.
97681         Add a comment that, barring reports to the contrary, in 2007 we'll
97682         assume ftruncate is universally available.
97684         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
97686         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
97688         2006-03-12  Jim Meyering  <jim@meyering.net>
97690         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
97691         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
97692         * m4/same.m4 (gl_SAME): Likewise.
97693         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
97695         2006-03-11  Eric Blake  <ebb9@byu.net>
97697         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
97698         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
97699         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
97700         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
97702 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
97704         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
97705         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
97706         reported by Mark D. Baushke, one in
97707         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
97709         Merge from coreutils.
97711         * lib/.cppi-disable: Add stdint_.h.
97712         * lib/.cvsignore: Add stdint.h.
97714         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
97716         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
97717         both double and long double versions.
97718         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
97719         * lib/xstrtold.c: New file.
97720         * lib/xstrtod.h (xstrtold): New decl.
97722         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
97724         * lib/filemode.c (setst): Remove.
97725         (strmode): Rewrite to avoid setst.  This makes the code shorter,
97726         (arguably) clearer, and the generated code is a bit smaller on my
97727         Debian GNU/Linux stable x86 host.
97729         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
97731         * lib/filemode.c: Include "filemode.h" first, to test the interface.
97732         Assume that filemode.h includes sys/types.h and sys/stat.h.
97733         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
97734         (ftypelet): Reorder to put common cases first, for efficiency.
97735         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
97736         to do 'M'.
97737         (strmode): Renamed from mode_string, and now stores 12 bytes instead
97738         of 10, for compatibility with FreeBSD.  All callers changed.
97739         (filemodestring): Now stores 12 bytes instead of 10, and sets file
97740         types that can't be deduced solely from st_mode.  First arg is now a
97741         const pointer.
97742         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
97743         (strmode): Renamed from mode_string.
97744         (filemodestring): New decl.
97745         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
97746         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
97747         needed.
97748         (S_ISPORT, S_ISWHT): New macros, if not already defined.
97750         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
97752         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
97753         fsusage.h now does that.  Include fsusage.h first, to test interface.
97754         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
97755         at most one method (the old code could have generated decls that
97756         didn't conform to C89, not that this was ever exercised).
97757         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
97759         2006-03-19  Jim Meyering  <jim@meyering.net>
97761         Work even in a chroot where d_ino values for entries in "/"
97762         don't match the stat.st_ino values for the same names.
97763         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
97764         number, iterate through all entries again, using lstat instead.
97765         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
97766         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
97768         * lib/getcwd.c (__getcwd): Clarify a comment.
97769         Use memcpy in place of a call to strcpy.
97771         2006-03-12  Jim Meyering  <jim@meyering.net>
97773         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
97774         matches that of the current directory (which we're about to chdir ".."
97775         out of), then save the dev-ino of the parent, instead.
97777         * lib/same-inode.h (SAME_INODE): New file/macro.
97778         * lib/chdir-safer.c (SAME_INODE): Remove definition.
97779         Include "same-inode.h", instead.
97780         * lib/same.c: Likewise.
97781         * lib/cycle-check.h: Include "same-inode.h".
97782         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
97783         * lib/cycle-check.c (SAME_INODE): Remove definition.
97784         * lib/root-dev-ino.h: Include "same-inode.h".
97786         2006-03-11  Eric Blake  <ebb9@byu.net>
97788         * lib/same.c (same_name): s/base_name/last_component/
97789         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
97790         * lib/filenamecat.c (file_name_concat): Likewise.
97792         2006-03-11  Eric Blake  <ebb9@byu.net>,
97793                     Paul Eggert  <eggert@cs.ucla.edu>
97795         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
97796         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
97797         drive prefix.
97798         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
97799         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
97800         (last_component): New method.
97801         * lib/dirname.c (dir_len): Determine when drive letters need a
97802         subsequent slash.  Preserve // when it is special.
97803         (dir_name): Don't append dot when drive letter is absolute.
97804         [TEST_DIRNAME]: Move into a full-blown gnulib test.
97805         * lib/basename.c (base_name): New semantics - malloc the result.
97806         Preserve // when it is special.  Preserve relative files that look
97807         like drive letters.
97808         (base_len): Preserve // when it is special.
97809         (last_component): New method, similar to old base_name semantics.
97810         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
97811         base_name.  Strip redundant slashes from ///.
97813 2006-07-03  Jim Meyering  <jim@meyering.net>
97815         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
97816         macro is used before the first cycle_check call.
97818 2006-07-03  Eric Blake  <ebb9@byu.net>
97820         * modules/dirname (Depends-on): Add xstrndup.
97822 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
97824         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
97825         test cases, so that config.log is a bit easier to follow.
97827 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
97829         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
97830         both are 64 bits, since this seems to be the tradition, and this
97831         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
97832         we ever run into a host that prefers long long to long in this
97833         case, we'll need another configure-time test.  Problem reported by
97834         Jim Meyering.
97836 2006-07-02  Eric Blake  <ebb9@byu.net>
97838         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
97840 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
97842         * modules/inttypes (Depends-on): No longer depends on stdint.
97843         * modules/stdint (Description): Say more about assumptions.
97844         Say that the fast types might differ.  Say macros are used.
97845         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
97846         (Makefile.am): Revise list of substituted symbols to match
97847         new stdint.m4.
97848         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
97849         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
97850         * tests/test-stdint.c (verify_same_types)
97851         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
97852         the code conforms to C99/C89.
97853         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
97854         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
97856 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
97858         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
97859         but fix a bug, by requiring at least 64 bits.
97860         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
97861         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
97862         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
97863         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
97865         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
97866         changes.  Make 2.59 a prerequisite.  Check and substitute for
97867         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
97868         inttypes.h.  Do not use special include files; just use the
97869         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
97870         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
97871         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
97872         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
97873         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
97874         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
97875         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
97876         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
97877         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
97878         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
97879         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
97880         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
97881         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
97882         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
97883         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
97884         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
97885         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
97886         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
97887         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
97888         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
97889         WINT_MAX.  Check for C99 conformance more strictly, by detecting
97890         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
97891         not check for things that C99 does not require, e.g., int8_t.  If
97892         a test isn't needed unless <stdint.h> isn't working, and is
97893         unlikely to be needed for any other reason, then don't do it
97894         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
97895         size_t, since we assume C89 freestanding at least.  Do not check
97896         for sig_atomic_t, wchar_t, or wint_t, since the code now does
97897         the right thing even if the types are not defined.  Instead use:
97898         (gl_STDINT_TYPE_PROPERTIES): New macro.
97899         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
97900         testing whether <sys/types.h> clashes, as Autoconf does this for
97901         us now.  All uses removed.
97902         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
97903         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
97904         (gl_CHECK_TYPE_SAME):
97905         Remove; no longer needed.
97906         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
97907         exists, since we'll return 0 anyway in that case.
97908         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
97910 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
97912         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
97913         possible collision with system files.
97914         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
97915         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
97916         WCHAR_MIN and WCHAR_MAX in this case.
97917         (<stddef.h>): Do not include; no longer needed.
97918         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
97919         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
97920         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
97921         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
97922         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
97923         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
97924         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
97925         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
97926         !defined(__c99))]: Include in this case too, since it's harmless
97927         now.
97928         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
97929         dangerous to do so.
97930         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
97931         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
97932         (_STDINT_MIN, _STDINT_MAX): New macros.
97933         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
97934         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
97935         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
97936         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
97937         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
97938         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
97939         macros, not typedefs; this simplifies things quite a bit.
97940         Use long int for all types narrower than int64_t.
97941         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
97942         Define in terms of long long int or int64_t or long int,
97943         not int64_t or int32_t.  This saves some compile-time testing.
97944         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
97945         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
97946         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
97947         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
97948         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
97949         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
97950         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
97951         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
97952         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
97953         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
97954         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
97955         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
97956         undef any previous version and define our own version, for
97957         simplicity and consistency with the new macros for types.
97958         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
97959         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
97960         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
97961         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
97962         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
97963         @WINT_T_SUFFIX@ to keep things simple here.
97964         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
97965         Simplify by assuming typical 8/16/32/64 host, since we're
97966         already doing that elsewhere anyway.
97967         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
97968         and assume long long int is 64 bits if available.  This
97969         speeds up 'configure'.
97971 2006-07-01  Eric Blake  <ebb9@byu.net>
97973         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
97974         Reported by Andreas Buening.
97976 2006-07-01  Eric Blake  <ebb9@byu.net>
97978         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
97980 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
97982         * lib/getaddrinfo.c: fixed typo
97984 2006-06-29  Jim Meyering  <jim@meyering.net>
97986         * modules/strftime (Maintainer): Add my name, since with the
97987         FPRINTFTIME changes strftime.c has forked from glibc.
97989 2006-06-29  Eric Blake  <ebb9@byu.net>
97991         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
97993 2006-06-29  Eric Blake  <ebb9@byu.net>
97995         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
97997 2006-06-29  Eric Blake  <ebb9@byu.net>
97999         * lib/stat_.h: New file.
98001 2006-06-29  Eric Blake  <ebb9@byu.net>
98003         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
98004         unused static function.
98006 2006-06-29  Eric Blake  <ebb9@byu.net>
98008         * doc/functions.texi (Function Portability): Document missing lstat
98009         on mingw.
98011 2006-06-29  Eric Blake  <ebb9@byu.net>
98013         * MODULES.html.sh: Add sys_stat.
98014         * modules/sys_stat: New module.
98015         * modules/mkstemp (Depends-on): Add sys_stat.
98017 2006-06-29  Derek R. Price  <derek@ximbiot.com>
98019         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
98021 2006-06-29  Derek R. Price  <derek@ximbiot.com>
98023         * m4/c-bs-a.m4: Removed.
98025 2006-06-29  Derek R. Price  <derek@ximbiot.com>
98027         * lib/strftime.c: Assume strftime() exists.
98029 2006-06-29  Derek Price  <derek@ximbiot.com>
98031         * modules/c-bs-a: Removed - \a is C89.
98032         * MODULES.html.sh: Remove c-bs-a.
98034 2006-06-29  Bruno Haible  <bruno@clisp.org>
98036         * modules/wcwidth (License): Change to LGPL.
98038 2006-06-28  Simon Josefsson  <jas@extundo.com>
98040         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
98041         on _WIN32.
98043         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
98044         getnameinfo.
98046 2006-06-28  Simon Josefsson  <jas@extundo.com>
98048         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
98050 2006-06-28  Simon Josefsson  <jas@extundo.com>
98052         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
98053         functions there.  It will succeed on Windows XP, but on Windows
98054         2000 and (presumably) earlier, it will fail, and use the internal
98055         re-implementation.
98056         (use_win32_p): New function.
98057         (getaddrinfo): Use strtoul on servname, to support numeric ports.
98058         Support AI_NUMERICSERV to disable getservbyname.
98059         (getnameinfo): New function, only supports
98060         NI_NUMERICHOST|NI_NUMERICSERV for now.
98062         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
98063         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
98064         getnameinfo.
98066 2006-06-28  Eric Blake  <ebb9@byu.net>
98068         * modules/wcwidth: New file.
98069         * modules/mbchar (Depends-on): Add wcwidth.
98070         * modules/mbswidth (Depends-on): Add wcwidth.
98071         * MODULES.html.sh: Add wcwidth.
98073 2006-06-28  Eric Blake  <ebb9@byu.net>
98075         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
98076         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
98078 2006-06-28  Eric Blake  <ebb9@byu.net>
98080         * lib/xvasprintf.h: Fix comments.
98082 2006-06-28  Eric Blake  <ebb9@byu.net>
98084         * lib/mbchar.h (wcwidth): Include wcwidth.h.
98085         * lib/mbswidth.c (wcwidth): Move from here...
98086         * lib/wcwidth.h: ...to this new file.
98088 2006-06-28  Derek R. Price  <derek@ximbiot.com>
98090         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
98092         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
98093         it's obsolete.
98094         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
98096 2006-06-28  Derek R. Price  <derek@ximbiot.com>
98098         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
98099         Autoconf 2.60 says this stuff was obsolete.
98101 2006-06-28  Bruno Haible  <bruno@clisp.org>
98103         * modules/wcwidth (Files): Add m4/wchar_t.m4.
98105 2006-06-28  Bruno Haible  <bruno@clisp.org>
98107         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
98108         gt_TYPE_WCHAR_T.
98110 2006-06-28  Bruno Haible  <bruno@clisp.org>
98112         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
98113         declaration for wcwidth.
98114         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
98116 2006-06-28  Bruno Haible  <bruno@clisp.org>
98118         * lib/mkdtemp.c [MINGW]: Include <io.h>.
98119         (mkdir): Define using _mkdir.
98121 2006-06-28  Bruno Haible  <bruno@clisp.org>
98123         * lib/getaddrinfo.h: Fix POSIX URL.
98124         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
98125         _WIN32.
98126         (use_win32_p): Make static.
98127         (getaddrinfo): Reject service name if it is empty or does not consist
98128         solely of decimal digits, or if its value is > 65535.
98129         (getnameinfo): Remove useless casts.
98131 2006-06-27  Simon Josefsson  <jas@extundo.com>
98133         * modules/sys_select: New file, suggested by Bruno Haible, Paul
98134         Eggert and Martin Lambers.
98136 2006-06-27  Simon Josefsson  <jas@extundo.com>
98138         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
98139         Eggert and Martin Lambers.
98141 2006-06-27  Bruno Haible  <bruno@clisp.org>
98143         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
98144         result to 0, not to empty.
98145         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
98147 2006-06-27  Bruno Haible  <bruno@clisp.org>
98149         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
98151 2006-06-26  Simon Josefsson  <jas@extundo.com>
98153         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
98154         present.
98156 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
98158         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
98159         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
98160         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
98162 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
98164         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
98166 2006-06-26  Bruno Haible  <bruno@clisp.org>
98168         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
98170 2006-06-26  Bruno Haible  <bruno@clisp.org>
98172         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
98174 2006-06-26  Bruno Haible  <bruno@clisp.org>
98176         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
98177         SGI C compiler in pre-C99 mode.
98178         Suggested by Mark D. Baushke and Larry Jones.
98180 2006-06-26  Bruno Haible  <bruno@clisp.org>
98182         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
98183         WCHAR_MAX.
98184         Reported by Mark D. Baushke and Larry Jones.
98186 2006-06-26  Bruno Haible  <bruno@clisp.org>
98188         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
98189         in pre-C99 mode.
98190         Suggested by Mark D. Baushke and Larry Jones.
98192 2006-06-23  Simon Josefsson  <jas@extundo.com>
98193             Bruno Haible  <bruno@clisp.org>
98195         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
98196         Emit mostlyclean-local rule.
98197         (func_emit_tests_Makefile_am): Likewise.
98198         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
98200 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
98202         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
98204 2006-06-23  Bruno Haible  <bruno@clisp.org>
98206         * tests/test-stdint.c: Update to match ISO C 99 Technical
98207         Corrigendum 1.
98209 2006-06-23  Bruno Haible  <bruno@clisp.org>
98211         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
98213 2006-06-23  Bruno Haible  <bruno@clisp.org>
98215         * lib/stdint_.h: Treat IRIX like OpenBSD.
98217 2006-06-23  Bruno Haible  <bruno@clisp.org>
98219         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
98220         ISO C 99 Technical Corrigendum 1.
98222 2006-06-22  Simon Josefsson  <jas@extundo.com>
98224         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
98225         MinGW.
98227 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
98229         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
98230         needed.  Some compiler complained about some of them.  Problem reported
98231         by Larry Jones in
98232         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
98234 2006-06-21  Simon Josefsson  <jas@extundo.com>
98236         * tests/test-getaddrinfo.c: New file.
98238         * modules/getaddrinfo-tests: New file.
98240         * MODULES.html.sh: Add inet_pton.
98242         * modules/inet_pton: New file.
98244 2006-06-21  Simon Josefsson  <jas@extundo.com>
98246         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
98247         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
98248         of using the (limited) gnulib implementation on Windows XP.
98250         * m4/inet_pton.m4: New file.
98252 2006-06-21  Simon Josefsson  <jas@extundo.com>
98254         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
98255         variable.
98257         * lib/socket_.h: Don't define WINVER.
98259         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
98260         slightly modified to work in gnulib.
98262 2006-06-21  Simon Josefsson  <jas@extundo.com>
98264         * doc/gnulib.texi (Windows sockets): Add.
98266 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
98268         * lib/read-file.c (fread_file): Start with buffer allocation of
98269         0 bytes rather than 1 byte; this simplifies the code.
98270         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
98271         code to free buffer and save/restore errno.
98272         (internal_read_file): Remove unused local.
98274 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
98276         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
98277         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
98278         Problem reported by Denis Excoffier in
98279         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
98281 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98283         * modules/sys_socket, modules/socklen: Include sys/types since
98284         FreeBSD 4.x's sys/socket.h needs it.
98286 2006-06-19  Simon Josefsson  <jas@extundo.com>
98288         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
98290 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
98292         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
98294 2006-06-19  Bruno Haible  <bruno@clisp.org>
98296         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
98297         and FULL_PATH_INTTYPES_H in angle brackets.
98298         Reported by Mark D. Baushke <mdb@gnu.org>.
98300 2006-06-17  Eric Blake  <ebb9@byu.net>
98302         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
98303         errno.
98305 2006-06-17  Bruno Haible  <bruno@clisp.org>
98307         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
98308         <sys/inttypes.h>.
98310 2006-06-17  Bruno Haible  <bruno@clisp.org>
98312         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
98313         whether errno is declared. Assume <errno.h> declares errno.
98315 2006-06-17  Bruno Haible  <bruno@clisp.org>
98317         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
98319 2006-06-17  Bruno Haible  <bruno@clisp.org>
98321         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
98322         problem on Solaris 2.5.1.
98324 2006-06-16  Eric Blake  <ebb9@byu.net>
98326         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
98327         * lib/unicodeio.c [!defined errno]: Likewise.
98328         * lib/strtol.c [!defined errno]: Likewise.
98329         * lib/strtod.c [!defined errno]: Likewise.
98331 2006-06-15  Eric Blake  <ebb9@byu.net>
98333         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
98335 2006-06-15  Eric Blake  <ebb9@byu.net>
98337         * config/srclist.txt (ssize_t.m4): Lose sync.
98339 2006-06-15  Bruno Haible  <bruno@clisp.org>
98341         * modules/stdint (Files): Include m4/full-header-path.m4,
98342         m4/size_max.m4, m4/wchar_t.m4.
98343         (Makefile.am): Many more substitutions.
98344         * modules/stdint-tests: New file.
98345         * tests/test-stdint.c: New file.
98347 2006-06-15  Bruno Haible  <bruno@clisp.org>
98349         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
98350         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
98351         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
98352         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
98353         gl_CHECK_TYPE_SAME): New macros.
98355 2006-06-15  Bruno Haible  <bruno@clisp.org>
98357         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
98359 2006-06-15  Bruno Haible  <bruno@clisp.org>
98361         * lib/stdint_.h: Rewritten to be fully auto-configured.
98362         Fixes bug on HP-UX/IA64.
98364 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
98366         * lib/getdate.y (__attribute__): Don't define if already defined.
98367         Problem reported by Larry Jones.
98368         * lib/utimens.c (__attribute__): Likewise.
98370 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
98372         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
98373         reported by Andreas Schwab.
98375 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98376             Bruno Haible  <bruno@clisp.org>
98378         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
98379         check for the declaration of strnlen and a run test that exposes the
98380         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
98381         rpl_strndup.
98383 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98384             Bruno Haible  <bruno@clisp.org>
98386         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
98388 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98390         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
98391         compile test, for Tru64 4.0D.
98393 2006-05-28  Karl Berry  <karl@gnu.org>
98395         * config/srclist.txt (printf-args.c): lose sync.
98397 2006-05-26  Martin Lambers  <marlam@marlam.de>
98399         * lib/getpass.c: Updates the test for the native W32 API, and adds
98400         missing includes, thus fixing compilation warnings.
98402 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
98404         * lib/exclude.c (exclude_fnmatch): New function.
98405         (excluded_file_name): Call exclude_fnmatch.
98406         * lib/exclude.h (excluded_file_name): New prototype
98408 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
98410         * lib/tempname.c (small_open, large_open): New macros.
98411         (__open, __open64) [!_LIBC]: Remove.
98412         (__gen_tempname): Use small_open and large_open instead of __open
98413         and __open64.  This fixes a portability bug on HP-UX 11.11i
98414         reported by Simon Wing-Tang in
98415         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
98417 2006-05-24  Bruno Haible  <bruno@clisp.org>
98419         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
98420         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
98421         Reported by Thorsten Maerz <torte@netztorte.de> via
98422         Aaron Stone <aaron@serendipity.cx>.
98424 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
98426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
98427         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
98428         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
98429         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
98430         not really conditional on the cache.
98431         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
98433 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
98435         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
98436         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
98437         (my_usleep): Don't mishandle maximum value.
98439 2006-05-19  Jim Meyering  <jim@meyering.net>
98441         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
98443 2006-05-17  Bruno Haible  <bruno@clisp.org>
98445         Cygwin portability.
98446         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
98448 2006-05-17  Bruno Haible  <bruno@clisp.org>
98450         * lib/stdint_.h: Fix recognition of Cygwin.
98452 2006-05-15  Bruno Haible  <bruno@clisp.org>
98454         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
98455         on libtool patch by Ralf Wildenhues.
98457 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
98459         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
98460         test for C99 conformance; (bool) 0.5 is an integer constant
98461         expression, but (bool) -0.5 is not.  Problem reported by Fedor
98462         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
98464 2006-05-11  Simon Josefsson  <jas@extundo.com>
98466         * m4/xvasprintf.m4: Fix obvious typo.
98468 2006-05-11  Jim Meyering  <jim@meyering.net>
98470         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
98471         James Lemley.
98473 2006-05-10  Simon Josefsson  <jas@extundo.com>
98475         * lib/md4.c: Typo fix, update copyright years.
98476         (K1, K2): Don't use L because it turn computations into 64-bit on
98477         64-bit platforms.
98479 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
98481         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
98482         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
98483         unwanted sign propagation, e.g., on hosts with 64-bit int.
98484         There still are some problems with reeelly weird theoretical hosts
98485         (e.g., 33-bit int) but it's not worth worrying about now.
98486         * lib/sha1.c (rol): Likewise.
98487         (K1, K2, K3, K4): Remove unnecessary L suffix.
98489 2006-05-10  Bruno Haible  <bruno@clisp.org>
98491         * lib/des.c: Cast to avoid warnings.
98493 2006-05-09  Bruno Haible  <bruno@clisp.org>
98495         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
98496         (Depends-on): Depend also on xsize, stdarg.
98497         (configure.ac): Add gl_XVASPRINTF.
98499 2006-05-09  Bruno Haible  <bruno@clisp.org>
98501         * m4/xvasprintf.m4: New file.
98503 2006-05-09  Bruno Haible  <bruno@clisp.org>
98505         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
98506         (EOVERFLOW): Define fallback value.
98507         (xstrcat): New function.
98508         (xvasprintf): Recognize the special case of a string concatenation.
98510 2006-05-08  Eric Blake  <ebb9@byu.net>
98512         * gnulib-tool (func_version): Base copyright year on CVS date.
98513         (func_emit_copyright_notice): New function.
98514         (func_emit_lib_Makefile_am): Use it.
98515         (func_emit_tests_Makefile_am): Likewise.
98516         (func_import): Likewise.
98518 2006-05-08  Bruno Haible  <bruno@clisp.org>
98520         * modules/stdarg: New file.
98521         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
98523 2006-05-08  Bruno Haible  <bruno@clisp.org>
98525         * m4/stdarg.m4: New file, from GNU gettext.
98527 2006-05-08  Bruno Haible  <bruno@clisp.org>
98529         * config/srclist.txt (build-aux/config.rpath): different from latest
98530         release.
98532 2006-05-08  Bruno Haible  <bruno@clisp.org>
98534         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
98536 2006-05-05  Jim Meyering  <jim@meyering.net>
98538         * m4/warning.m4: New file, derived from bison's file by the same name.
98540 2006-05-03  Bruno Haible  <bruno@clisp.org>
98542         * lib/stdint_.h: Shorter URL.
98543         * lib/inttypes.h: Likewise.
98545 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
98547         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
98549 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
98551         * lib/verify.h: Document the internals better.  Most of this change
98552         was written by Bruno Haible.
98554 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
98556         * doc/verify.texi: New file, partly based on a proposal by
98557         Bruno Haible.
98559 2006-05-02  Bruno Haible  <bruno@clisp.org>
98561         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
98562         test from here...
98563         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
98565 2006-04-29  Bruno Haible  <bruno@clisp.org>
98567         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
98568         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
98570 2006-04-29  Bruno Haible  <bruno@clisp.org>
98572         * gnulib-tool: Make --update option actually work.
98574 2006-04-29  Bruno Haible  <bruno@clisp.org>
98576         * doc/gcd.texi: New file.
98577         * doc/gnulib.texi: Include it.
98579 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
98581         * lib/getdate.y (get_date): When adding relative date, start with the
98582         initial time, not with the result of the first mktime call.
98584 2006-04-25  Bruno Haible  <bruno@clisp.org>
98586         * gnulib-tool (func_import): Output the include directives in three
98587         blocks, sorted separately.
98588         Reported by Ben Pfaff <blp@cs.stanford.edu>.
98590 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
98592         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
98593         to define main with arguments, for C++.  Reported by Eric Blake.
98594         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
98595         Prefer 'int main ()' to 'int main (void)', for C++.
98596         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
98597         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
98598         for 'main', for C99 and C++.
98600 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
98602         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
98603         Don't assume that exit status -1 is valid.
98604         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
98605         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
98606         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
98607         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
98608         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
98609         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
98610         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
98611         functions can be used without declaring them, or that you can
98612         exit with status -1.
98613         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
98615 2006-04-24  Karl Berry  <karl@gnu.org>
98617         * config/srclist.txt (longdouble.m4): sync lost.
98619 2006-04-24  Eric Blake  <ebb9@byu.net>
98621         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
98623 2006-04-24  Bruno Haible  <bruno@clisp.org>
98625         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
98626         poll() implementation in AIX.
98627         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
98629 2006-04-24  Bruno Haible  <bruno@clisp.org>
98631         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
98632         assigned exactly once.
98634 2006-04-23  Claudio Fontana  <claudio@gnu.org>
98635             Bruno Haible  <bruno@clisp.org>
98637         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
98638         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
98639         for AM_CPPFLAGS.
98641 2006-04-23  Bruno Haible  <bruno@clisp.org>
98643         * modules/copy-file: Depend on unistd.
98644         * modules/execute: Likewise.
98645         * modules/fatal-signal: Likewise.
98646         * modules/findprog: Likewise.
98647         * modules/mkdtemp : Likewise.
98648         * modules/pipe: Likewise.
98649         * modules/wait-process: Likewise.
98651 2006-04-23  Bruno Haible  <bruno@clisp.org>
98653         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
98654         condition was already detected.
98655         Reported by Ben Pfaff <blp@cs.stanford.edu>.
98657 2006-04-23  Bruno Haible  <bruno@clisp.org>
98659         * lib/copy-file.c: Include <unistd.h> unconditionally.
98660         * lib/execute.c: Likewise.
98661         * lib/fatal-signal.c: Likewise.
98662         * lib/findprog.c: Likewise.
98663         * lib/mkdtemp.c: Likewise.
98664         * lib/pipe.h: Likewise.
98665         * lib/pipe.c: Likewise.
98666         * lib/wait-process.h: Likewise.
98668 2006-04-23  Bruno Haible  <bruno@clisp.org>
98670         * gnulib-tool (func_usage): Fix --import description. Document
98671         --update.
98672         (func_import): Create temporary file in a temporary directory, if
98673         --dry-run is specified. Silence errors from 'grep' when there are no
98674         m4 files in $m4dir.
98675         (func_create_testdir): Silence errors from 'grep' when there are no
98676         m4 files in $m4dir.
98677         Reported by Karl Berry <karl@freefriends.org>.
98679 2006-04-20  Bruno Haible  <bruno@clisp.org>
98681         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
98682         one argument, so that the code will be portable to Autoconf 2.60.
98683         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
98684         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
98685         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
98687 2006-04-19  Derek Price  <derek@ximbiot.com>
98688             Eric Blake  <ebb9@byu.net>
98690         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
98691         rather than "/full/path.h".  Update comment to match.  Shorten &
98692         generalize m4_translit call via AS_TR_CPP.
98694 2006-04-19  Derek Price  <derek@ximbiot.com>
98695             Eric Blake  <ebb9@byu.net>
98697         * lib/inttypes.h: Correct grammar in comment.
98699 2006-04-18  Derek Price  <derek@ximbiot.com>
98700             Paul Eggert  <eggert@cs.ucla.edu>
98702         * modules/inttypes: New file.
98703         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
98705 2006-04-18  Derek Price  <derek@ximbiot.com>
98706             Paul Eggert  <eggert@cs.ucla.edu>
98708         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
98709         New files.
98711 2006-04-18  Derek Price  <derek@ximbiot.com>
98712             Paul Eggert  <eggert@cs.ucla.edu>
98714         * lib/inttypes.h: New file.
98715         * lib/strtoimax.c: Assume <inttypes.h>.
98717 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
98719         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
98720         isn't mounted.  Problem reported by Kir Kolyshkin.
98722 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
98724         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
98725         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
98726         Derek R. Price.
98727         * lib/regex.h (RE_DUP_MAX): Update comment to match current
98728         implementation.
98730 2006-04-12  Eric Blake  <ebb9@byu.net>
98732         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
98733         is now done automatically by the corresponding Autoconf macro.
98735 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
98737         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
98738         time_r.h.
98740 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
98742         Merge regex changes from libc, removing some of our
98743         POSIX-conformance changes that were rejected and redoing them in a
98744         less-intrusive way.
98746         * lib/regcomp.c (re_compile_internal, init_dfa):
98747         Length arg is now size_t, not Idx.  All uses changed.
98748         (peek_token): Forward decl now says internal_function.
98749         (__re_error_msgid, __re_error_msgid_idx):
98750         Now static rather than extern with attribute_hidden.
98751         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
98752         For some reason libc prefers K&R style defns for external functions.
98753         (regerror) [!defined _LIBC]: Likewise.
98754         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
98755         (seek_collating_symbol_entry, lookup_collation_sequence_value):
98756         (build_range_exp, build_collating_symbol):
98757         Use K&R-style defn.
98758         (re_compile_fastmap): Use '\0' to memset, not 0.
98759         (utf8_sb_map): Make the calculations more obvious.
98760         (init_dfa, parse_bracket_exp, build_charclass_op):
98761         Call calloc and cast result, as glibc does.
98762         (init_word_char, fetch_token, peek_token, peek_token_bracket):
98763         (build_range_exp, build_collating_symbol):
98764         Now internal functions.
98766         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
98768         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
98769         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
98770         Don't depend on VMS; depend on __VMS instead, for POSIX
98771         namespace cleanness.
98772         (regoff_t): Define to ssize_t, not long int.
98774         Remove the REG_ macros named below.  Instead, make the old names
98775         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
98776         __USE_GNU_REGEX.
98777         (REG_BACKSLASH_ESCAPE_IN_LISTS):
98778         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
98779         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
98780         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
98781         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
98782         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
98783         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
98784         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
98785         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
98786         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
98787         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
98788         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
98789         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
98790         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
98791         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
98792         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
98793         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
98794         (REG_NREGS):
98795         Remove.  All uses replaced by the old RE_* names.
98796         (RE_BACKSLASH_ESCAPE_IN_LISTS):
98797         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
98798         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
98799         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
98800         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
98801         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
98802         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
98803         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
98804         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
98805         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
98806         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
98807         Don't bother having these macros be independent of each others'
98808         values, since they no longer exist in the POSIX name space.
98810         Rename the following member names back to their old names,
98811         unless !__USE_GNU_REGEX.  All uses changed back.
98812         (buffer): Renamed from re_buffer.
98813         (allocated): Renamed from re_allocated.
98814         (used): Renamed from re_used.
98815         (syntax): Renamed from re_syntax.
98816         (fastmap): Renamed from re_fastmap.
98817         (translate): Renamed from re_translate.
98818         (can_be_null): Renamed from re_can_be_null.
98819         (regs_allocated): Renamed from re_regs_allocated.
98820         (fastmap_accurate): Renamed from re_fastmap_accurate.
98821         (no_sub): Renamed from re_no_sub.
98822         (not_bol): Renamed from re_not_bol.
98823         (not_eol): Renamed from re_not_eol.
98824         (newline_anchor): Renamed from re_newline_anchor.
98825         (num_regs): Renamed from rm_num_regs.
98826         (start): Renamed from rm_start.
98827         (end): Renamed from rm_end.
98829         (free_state): Move up a bit.
98831         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
98832         #define to be empty.
98833         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
98834         when that is what is intended.
98835         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
98836         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
98837         (MAX): New macro.
98838         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
98839         All uses changed back to re_malloc, etc.  It's now the caller's
98840         responsibility to check for overflow; all callers changed.
98841         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
98842         (re_x2nrealloc): Remove.
98843         (free_state): Remove decl.
98845         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
98846         (re_set_registers, re_exec):
98847         Use K&R-style defn.
98849         2006-01-31  Roland McGrath  <roland@redhat.com>
98851         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
98852         Reported by Mike Frysinger <vapier@gentoo.org>.
98854         2006-01-15  Andreas Jaeger  <aj@suse.de>
98856         [BZ #1950]
98857         * lib/regex_internal.c (re_string_reconstruct): Adjust for
98858         build_wcs_upper_buffer change.
98859         (build_wcs_upper_buffer): Change return type.
98861         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
98863         * lib/regex_internal.h: Include <stdint.h> if available.
98865         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
98867         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
98869         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
98871         * lib/regcomp.c: Adjust for changed secondary hash function.
98873         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
98875         * lib/regex.h: Pretty printing.
98876         Clean up namespace a bit.
98878         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
98880         * lib/regexec.c (update_cur_sifted_state, check_arrival,
98881         check_arrival_add_next_nodes): Avoid using uninitialized variable.
98883         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
98884                     Ulrich Drepper  <drepper@redhat.com>
98886         [BZ #1302]
98887         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
98888         changed.
98889         (bitset_word_t): Renamed from bitset_word.  All uses changed.
98891         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
98893         [BZ #281]
98894         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
98895         * lib/regcomp.c: Remove unnecessary uses of
98896         unsigned RE_TRANSLATE_TYPE.
98897         * lib/regex_internal.h: Likewise.
98898         * lib/regex_internal.c: Likewise.
98899         * lib/regexec.c: Likewise.
98900         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
98902         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
98904         * lib/regexec.c (find_recover_state): Remove unnecessary
98905         initialization.
98906         (transit_state_bkref): Make DFA a const pointer.
98907         (get_subexp): Likewise.
98908         (check_arrival): Likewise.
98909         (update_cur_sifted_state): Likewise.
98910         (re_search_internal): Likewise.
98911         (prune_impossible_nodes): Likewise.
98912         (acquire_init_state_context): Likewise.
98913         (proceed_next_node): Likewise.
98914         (set_regs): Likewise.
98915         (free_fail_stack_return): Likewise.
98916         (check_arrival_expand_ecl): Mark DFA parameter as const.
98917         (check_arrival_expand_ecl_sub): Likewise.
98918         (check_subexp_limits): Likewise.
98919         (sub_epsilon_src_nodes):  Likewise.
98920         (add_epsilon_src_nodes):  Likewise.
98921         (merge_state_array): Likewise.
98922         (update_regs): Likewise.
98923         (build_trtable): Likewise.
98924         (sift_states_backward): Mark MCTX parameter as const.
98925         (build_sifted_states): Likewise.
98926         (update_cur_sifted_state): Likewise.
98927         (sift_states_mkref): Likewise.
98928         (check_arrival_expand_ecl): Mark eclosure as const.
98929         (check_dst_limits_calc_pos_1): Likewise.
98930         * lib/regex_internal.h (re_match_context_t): Make dfa a const
98931         pointer.
98933         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
98935         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
98936         (transit_state_sb): Likewise.
98937         (transit_state_mb): Likewise.
98938         (sift_states_iter_mb): Likewise.
98939         (check_arrival_add_next_nodes): Likewise.
98940         (check_node_accept_bytes): Change first parameter to pointer-to-const.
98941         [_LIBC] (re_search_2_stub): Use mempcpy.
98943         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
98944         mbrtowc for very simple UTF-8 case.
98946         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
98947         a pointer-to-const.
98948         (re_acquire_state_context): Likewise.
98949         * lib/regex_internal.h: Adjust prototypes.
98951         * lib/regex.c: Prevent using C++ compilers.
98953         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
98954         (re_acquire_state_context): Likewise.
98956 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
98958         * modules/regex (Depends-on): Add ssize_t.
98960 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
98962         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
98963         translation table.
98965 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
98967         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
98969 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
98970             Bruno Haible  <bruno@clisp.org>
98972         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
98973         <sys/types.h> and <inttypes.h>.
98975 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98977         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
98978         `__error_t_defined', so argp.h will not typedef the former.
98980 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
98982         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
98983         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
98984         glibc names.  Even if glibc is changed to conform to POSIX, the
98985         traditional names will be available anyway, since regex depends on
98986         the extensions module.  Also, fix a longstanding typo in the
98987         implementation of Spencer ERE test #75 from grep 2.3.  Problems
98988         reported by Emanuele Giaquinta.  Also, change sense of cached
98989         variable, so that the message makes sense.
98991 2006-03-24  Simon Josefsson  <jas@extundo.com>
98993         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
98994         including some doc fixes.
98995         (base64_encode_alloc): Fix +1 bug on allocation failures.
98997 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98999         * lib/base64.c (base64_encode): Do not read past end of array with
99000         unsanitized input on systems with CHAR_BIT > 8.
99002 2006-03-24  Eric Blake  <ebb9@byu.net>
99004         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
99006 2006-03-22  Karl Berry  <karl@gnu.org>
99008         * config/srclist.txt (*setenv.[ch]): get from coreutils.
99009         * config/srclistvars.sh (COREUTILS): new var.
99011 2006-03-17  Jim Meyering  <jim@meyering.net>
99013         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
99014         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
99016 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
99018         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
99019         no longer needs it.  Instead, check that regoff_t is as least
99020         as wide as ptrdiff_t.
99022         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
99023         so that our regex.h stays compatible with the installed regex.
99024         This is helpful for installers who configure --without-included-regex.
99025         Problem reported by Emanuele Giaquinta.
99027 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
99029         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
99030         Typedef to long int, not to off_, as POSIX will likely change
99031         in that direction.
99033 2006-03-15  Eric Blake  <ebb9@byu.net>
99035         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
99037 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
99039         * lib/argp-help.c (validate_uparams): Fix typo
99040         * lib/argp-parse.c (argp_default_options): Consistently begin help
99041         messages with a lowercase letter.
99043 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
99045         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
99046         overrun buffers and shouldn't be used (much as gets shouldn't be
99047         used).
99048         * lib/time_r.c (asctime_r, ctime_r): Likewise.
99050 2006-03-08  Simon Josefsson  <jas@extundo.com>
99052         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
99053         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99055 2006-03-08  Simon Josefsson  <jas@extundo.com>
99057         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
99058         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99060 2006-03-08  Simon Josefsson  <jas@extundo.com>
99062         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
99063         signal that configure disabled the device.
99065 2006-03-08  Simon Josefsson  <jas@extundo.com>
99067         * build-aux/maint.mk: Fix refresh-po, to handle no translated
99068         languages.
99070 2006-03-07  Simon Josefsson  <jas@extundo.com>
99072         * modules/getopt (Depends-on): Add unistd.
99074         * modules/unistd: New file.
99076 2006-03-07  Simon Josefsson  <jas@extundo.com>
99078         * modules/gc-random: New file.
99080 2006-03-07  Simon Josefsson  <jas@extundo.com>
99082         * m4/unistd_h.m4: New file.
99084 2006-03-07  Simon Josefsson  <jas@extundo.com>
99086         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
99087         test to be side-effect free by storing the result in the cache
99088         variable gl_cv_lib_readline, and moving the assignment of
99089         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
99090         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99092 2006-03-07  Simon Josefsson  <jas@extundo.com>
99094         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
99095         error on missing devices (the functions will return an error).
99097         * m4/gc.m4: Move random stuff to gc-random.m4
99099 2006-03-07  Simon Josefsson  <jas@extundo.com>
99101         * lib/unistd_.h: New file.
99103 2006-03-07  Simon Josefsson  <jas@extundo.com>
99105         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
99107 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
99109         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
99110         Problem reported by Juan Manuel Guerrero.
99112 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
99114         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
99115         the unistd module.
99116         * lib/getlogin_r.c: Likewise.
99117         * lib/getlogin_r.h: Likewise.
99118         * lib/glob.c: Likewise.
99119         * lib/pagealign_alloc.c: Likewise.
99120         * lib/unistd_.h: Remove; no longer needed.
99122 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
99124         * MODULES.html.sh (Support for systems lacking POSIX:2001):
99125         Add unistd.
99126         * modules/c-stack (Depends-on): Add unistd.
99127         * modules/getlogin_r: Likewise.
99128         * modules/glob: Likewise.
99129         * modules/pagealign_alloc: Likewise.
99130         * modules/unistd (Files): Remove lib/unistd_.h.
99131         (EXTRA_DIST): Remove.
99132         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
99133         need unistd_.h.
99134         (MOSTLYCLEANFILES): Remove unistd.h-t.
99136 2006-03-03  Simon Josefsson  <jas@extundo.com>
99138         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
99140 2006-03-03  Simon Josefsson  <jas@extundo.com>
99142         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
99143         libidn and bison.
99145 2006-03-03  Simon Josefsson  <jas@extundo.com>
99147         * build-aux/maint.mk: Add indent target.
99149 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
99151         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
99152         our replacement poll.h in any case, to avoid a differing
99153         declaration from a system header.  Seen on AIX.
99155 2006-03-01  Simon Josefsson  <jas@extundo.com>
99157         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
99158         <kasal@ucw.cz>.
99160 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
99162         * modules/gettime (Depends-on): Add extensions module.
99163         * modules/nanosleep (Depends-on): Likewise.
99164         * modules/settime (Depends-on): Likewise.
99166 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
99168         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
99169         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
99170         pedantically.
99171         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
99172         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
99174         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
99175         not "==".  Reported by Ralf Wildenhues.
99177 2006-03-01  Karl Berry  <karl@gnu.org>
99179         * doc/Copyright/request-*: new files, synced from gnuorg.
99181 2006-03-01  Karl Berry  <karl@gnu.org>
99183         * config/srclist.txt (Copyright/*): new entries.
99185 2006-02-28  Simon Josefsson  <jas@extundo.com>
99187         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
99189 2006-02-27  Simon Josefsson  <jas@extundo.com>
99191         * lib/base64.h: Indent #define's.  From Jim Meyering
99192         <jim@meyering.net>.
99194 2006-02-27  Jim Meyering  <jim@meyering.net>
99196         Revert the change of 2006-02-24, so these files can continue
99197         to be sync'd from gettext.
99198         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
99199         of `config.h'.
99201 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
99203         * modules/intprops: New file.
99204         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
99205         Add intprops.
99206         * modules/getloadavg (Files): Remove lib/intprops.h.
99207         (Depends-on): Add intprops.
99208         * modules/human: Likewise.
99209         * modules/inttostr: Likewise.
99210         * modules/openat: Likewise.
99211         * modules/sig2str: Likewise.
99212         * modules/userspec: Likewise.
99213         * modules/utimecmp: Likewise.
99214         * modules/xnanosleep: Likewise.
99215         * modules/xstrtol: Likewise.
99217 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
99219         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
99220         * modules/lock-tests (TESTS): Use $(EXEEXT).
99221         * modules/tls-tests: Likewise.
99222         * modules/argp-tests: Likewise.
99223         (check_PROGRAMS): New var, replacing...
99224         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
99226 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99228         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
99229         `config.h'.
99231 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
99233         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
99235 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99237         Sync from coreutils.
99238         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
99239         gl_CHDIR_SAFER.
99241 2006-02-22  Jim Meyering  <jim@meyering.net>
99243         Sync from coreutils.
99244         * m4/chdir-safer.m4: New file.
99246 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
99248         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
99249         AT_FDCWD exceeds INT_MAX.
99250         * lib/openat.h (AT_FDCWD): Likewise.
99252 2006-02-17  Eric Blake  <address@hidden>
99254         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
99256 2006-02-16  Simon Josefsson  <jas@extundo.com>
99258         * modules/getaddrinfo (Depends-on): Add sys_socket.
99260 2006-02-15  Simon Josefsson  <jas@extundo.com>
99262         * build-aux/maint.mk: Add dsyntax-check rule.
99264 2006-02-15  Eric Blake  <ebb9@byu.net>
99266         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
99267         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
99268         'present but cannot compile' warnings on cygwin.
99269         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
99270         use ws2tcpip.h if sys/socket.h works.
99271         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
99272         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
99274 2006-02-14  Simon Josefsson  <jas@extundo.com>
99276         * modules/maintainer-makefile (Files): Rename.
99278         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
99279         and (the local) Makefile.cfg to maint-cfg.mk.
99281         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
99282         to the latter.
99284         * modules/maintainer-makefile: New module.
99286         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
99287         severaly stripped to make it possible to build it up from scratch
99288         with reliable tests.
99290         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
99291         fixes to permit overriding the default actions when configure and
99292         makefile are not available.
99294 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
99296         Sync from coreutils.
99297         * modules/lstat (Depends-on): Don't depend on xalloc.
99298         (License): Change from GPL to LGPL, since this is now simply a
99299         replacement for a libc function.
99301 2006-02-14  Jim Meyering  <jim@meyering.net>
99303         Sync from coreutils.
99305         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
99306         failure on deficient systems, and simplify gnulib lgpl dependencies.
99307         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
99308         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
99310         * lib/xalloc-die.c: Remove unused definition of N_.
99312 2006-02-14  Jim Meyering  <jim@meyering.net>
99314         Sync from coreutils.
99315         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
99316         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
99317         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
99318         double-quote uses of that variable, to accommodate the rare case in
99319         which getmntent is available in none of the libraries checked.  This
99320         happens at least on FreeBSD 5.0.
99322 2006-02-13  Simon Josefsson  <jas@extundo.com>
99324         * gnulib-tool (Usage): Fix --import, from
99325         karl@freefriends.org (Karl Berry).
99327 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
99329         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
99331 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
99333         * lib/argp-namefrob.h: Restore changes accidentally lost during the
99334         "autoupdate" on 2005-12-12.
99336 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
99338         * modules/closeout (Depends-on): Remove atexit.
99340 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
99342         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
99343         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
99345 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
99347         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
99348         __EXTENSIONS__ if this causes compilation to fail.  Problem
99349         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
99350         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
99352 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
99354         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
99355         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
99356         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
99357         All uses changed.
99359 2006-01-26  Simon Josefsson  <jas@extundo.com>
99361         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
99362         prototype is visible on mingw32.
99364         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
99365         for mingw32.
99367         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
99368         mingw32).
99370 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
99372         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
99373         attempt to open for write; this always fails, at least on POSIX
99374         hosts.  This reinstates the 2006-01-09 change, which was
99375         inadvertently removed.
99377 2006-01-26  Bruno Haible  <bruno@clisp.org>
99379         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
99380         Reported by Paul Eggert.
99382 2006-01-26  Bruno Haible  <bruno@clisp.org>
99383             Paul Eggert  <eggert@cs.ucla.edu>
99385         * lib/stdbool_.h (_Bool)
99386         [(! (defined __cplusplus || defined __BEOS__)
99387           && !defined __GNUC__
99388           && !(defined __HP_cc || defined __xlc__
99389                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
99390                || defined __sgi))]:
99391         #define to signed char in these cases too; this simplifies
99392         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
99393         etc., separately) and makes it more conservative.
99395 2006-01-25  Simon Josefsson  <jas@extundo.com>
99397         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
99398         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
99399         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
99401 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
99403         * lib/argp-namefrob.h: Bugfix. Remove stray #
99405 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
99407         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
99408         so that we test the test.
99409         Check for yet another HP-UX cc bug involving *bool |= bool.
99411 2006-01-25  Karl Berry  <karl@gnu.org>
99413         * config/srclist.txt (vasnprintf.c): sync lost.
99415 2006-01-25  Jim Meyering  <jim@meyering.net>
99417         Sync from the stable (b5) branch of coreutils:
99419         * lib/fts.c (fts_children): Don't let close() clobber errno from
99420         failed fchdir().
99422         * lib/fts.c (fts_stat): When following a symlink-to-directory,
99423         don't necessarily interpret stat-fails+lstat-succeeds as indicating
99424         a dangling symlink.  That can also happen at least for ELOOP.
99425         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
99426         FYI, this bug predates the inclusion of fts.c in coreutils.
99428         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
99429         in their own block, so pre-c99 compilers don't object.
99431         Avoid the double-free (first in fts_read, second in fts_close) that
99432         would occur when an `active' directory is made inaccessible (e.g.,
99433         via chmod a-x) during a traversal.
99434         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
99435         before returning.  Reproduce this failure by
99436         mkdir -p a/b; cd a; chmod a-x . b
99437         Reported by Stavros Passas.
99439 2006-01-25  Jim Meyering  <jim@meyering.net>
99441         * lib/fileblocks.c: Remove more useless parentheses.
99442         * lib/readutmp.h: Likewise.
99444 2006-01-25  Bruno Haible  <bruno@clisp.org>
99446         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
99447         warnings.
99448         Reported by Paul Eggert.
99450 2006-01-25  Bruno Haible  <bruno@clisp.org>
99452         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
99453         rid of a trap command. For Solaris sh.
99454         Reported by Mark D. Baushke <mdb@gnu.org>.
99456 2006-01-24  Simon Josefsson  <jas@extundo.com>
99458         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
99459         Bruno.
99461 2006-01-24  Karl Berry  <karl@gnu.org>
99463         * config/srclist.txt (argp-namefrob.h): sync lost.
99465 2006-01-24  Jim Meyering  <jim@meyering.net>
99467         * modules/openat (Files): Add lib/intprops.h.
99468         From Mark D. Baushke.
99470 2006-01-24  Jim Meyering  <jim@meyering.net>
99472         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
99473         Reported by Mark D. Baushke.
99475 2006-01-24  Jim Meyering  <jim@meyering.net>
99477         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
99479 2006-01-24  Bruno Haible  <bruno@clisp.org>
99481         * modules/strnlen (Maintainer): Change from glibc to all.
99483 2006-01-24  Bruno Haible  <bruno@clisp.org>
99485         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
99486         Patch by Paul Eggert.
99488 2006-01-24  Bruno Haible  <bruno@clisp.org>
99490         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
99491         already has it.
99492         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
99493         2005-11-26.
99495         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
99496         'signed char' to avoid problems with the built-in _Bool type.
99497         Reported by Paul Eggert on 2005-11-26.
99499 2006-01-24  Bruno Haible  <bruno@clisp.org>
99501         * gnulib-tool (func_import): Avoid constructing complicated sed
99502         expressions inside backquote.
99503         Report and solution by Mark D. Baushke <mdb@gnu.org>.
99505 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
99507         These changes imported from libc.
99508         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
99509         test and two separate function calls.
99510         * lib/strndup.c (__strndup): Add libc_hidden_def.
99512 2006-01-23  Simon Josefsson  <jas@extundo.com>
99514         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
99515         Remove the test_*_SOURCES variable: automake infers it by default.
99516         * modules/tls-tests: Likewise.
99518 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
99520         Work around porting bugs reported by Dieter in
99521         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
99522         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
99523         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
99524         Include "getopt.h" first, to check interface.
99525         (getenv): Declare only if defined HAVE_DECL_GETENV &&
99526         !HAVE_DECL_GETENV.
99527         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
99528         (__strndup): Revert to K&R-style function dfns, the glibc style.
99529         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
99530         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
99531         Include strnlen.h first, to get prototype properly.
99532         (strnlen): Renamed from __strnlen.
99533         Remove weak alias.
99535 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
99537         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
99539 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
99541         * config/srclist.txt: Adjust to reflect glibc reorganization.
99542         This affects only comments.
99544 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
99546          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
99547          Reported by Bruce Korb <bkorb@gnu.org>.
99549 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
99551         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
99552         to pacify gcc -Wswitch-default.
99554 2006-01-22  Bruno Haible  <bruno@clisp.org>
99556         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
99557         temporary buffer for sprintf, take into account the precision also
99558         for 'd', 'i', 'u', 'o', 'x', 'X'.
99560 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
99562         * modules/argp-tests: New module
99563         * tests/test-argp.c: New file
99564         * tests/test-argp-2.sh: New file
99566 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
99568         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
99569         (__argp_base_name): Removed
99570         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
99571         typo.
99572         (__argp_base_name): Provide macro definition or extern declaration
99573         depending on the configuration
99575 2006-01-20  Simon Josefsson  <jas@extundo.com>
99577         * modules/inet_ntop (Depends-on): Depend on sys_socket.
99579 2006-01-20  Simon Josefsson  <jas@extundo.com>
99581         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
99583 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
99585         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
99586         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
99587         Suggested by Bruno Haible.
99589 2006-01-20  Karl Berry  <karl@gnu.org>
99591         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
99592         until changes propagate, I guess.
99594 2006-01-19  Simon Josefsson  <jas@extundo.com>
99596         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
99598 2006-01-19  Simon Josefsson  <jas@extundo.com>
99600         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
99602 2006-01-19  Simon Josefsson  <jas@extundo.com>
99604         * gnulib-tool: Set check_PROGRAMS.
99606         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
99607         modules/des-tests, modules/gc-arcfour-tests,
99608         modules/gc-arctwo-tests, modules/gc-des-tests,
99609         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
99610         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
99611         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
99612         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
99613         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
99614         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
99615         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
99616         test_*_SOURCES.
99618 2006-01-18  Simon Josefsson  <jas@extundo.com>
99620         * modules/socklen (Depends-on): Depend on sys_socket.
99622 2006-01-18  Simon Josefsson  <jas@extundo.com>
99624         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
99625         modules/des-tests, modules/gc-arcfour-tests,
99626         modules/gc-arctwo-tests, modules/gc-des-tests,
99627         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
99628         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
99629         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
99630         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
99631         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
99632         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
99633         $(EXEEXT) to automake TESTS variable, for mingw32.
99635 2006-01-17  Simon Josefsson  <jas@extundo.com>
99637         * modules/socklen (Include): Need sys/socket.h.
99639 2006-01-17  Bruno Haible  <bruno@clisp.org>
99641         * modules/ssize_t (Include): Add <sys/types.h>.
99643 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
99645         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
99646         it's not portable and it doesn't work with cross-compiles.
99647         Problem reported by Bruno Haible.  Fix missing-$ typo in
99648         'test "gl_cv_ignore_unused_libraries" ...' that prevented
99649         -zignore from being used with Sun's C compiler.
99651 2006-01-12  Simon Josefsson  <jas@extundo.com>
99653         * lib/base64.c: Fix warning, reported by Bruno Haible
99654         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
99656 2006-01-12  Bruno Haible  <bruno@clisp.org>
99658         * modules/ldd: New file.
99659         * build-aux/ldd.sh.in: New file.
99660         * MODULES.html.sh (Support for building libraries and executables): Add
99661         ldd.
99663 2006-01-12  Bruno Haible  <bruno@clisp.org>
99665         * m4/ldd.m4: New file.
99667 2006-01-12  Bruno Haible  <bruno@clisp.org>
99669         * gnulib-tool (func_import, func_create_testdir): Don't go into an
99670         endless loop while replacing $auxdir with build-aux.
99672 2006-01-11  Simon Josefsson  <jas@extundo.com>
99674         * lib/stdint_.h (SIZE_MAX): Add missing (.
99676 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
99678         Sync from coreutils.
99679         * lib/md5.c: Fix commentary typos.
99680         (alignof, UNALIGNED_P): No need for a GCC-specific version.
99681         * lib/md5.h (__attribute__): Remove; unused.
99682         * lib/sha1.c: Fix commentary to match md5 better.
99683         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
99684         so that we don't need to worry about alignment.  All uses changed.
99685         This merges the 2005-10-28 md5 change into sha1.
99687 2006-01-11  Jim Meyering  <jim@meyering.net>
99689         Sync from coreutils.
99690         * lib/md5.c (OP): Fix spacing.
99692 2006-01-11  Bruno Haible  <bruno@clisp.org>
99694         Ensure automatic ordering between gl_LOCK and gl_ARGP.
99695         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
99696         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
99698 2006-01-11  Bruno Haible  <bruno@clisp.org>
99700         Ensure automatic ordering between gl_LOCK and gl_ARGP.
99701         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
99702         the "early" section as well.
99704 2006-01-11  Bruno Haible  <bruno@clisp.org>
99706         Avoid "ar: no archive members specified" error on MacOS X.
99707         * gnulib-tool (func_modules_add_dummy): New function.
99708         (func_import, func_create_testdir): Invoke it.
99710 2006-01-11  Bruno Haible  <bruno@clisp.org>
99712         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
99713         with $auxdir in AC_CONFIG_FILES statements.
99715 2006-01-11  Bruno Haible  <bruno@clisp.org>
99717         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
99718         Initialize also noinst_HEADERS to empty.
99720 2006-01-11  Bruno Haible  <bruno@clisp.org>
99722         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
99723         variables.
99724         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
99725         autoreconf.
99727 2006-01-11  Bruno Haible  <bruno@clisp.org>
99729         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
99730         overridable by the user.
99731         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99733 2006-01-10  Simon Josefsson  <jas@extundo.com>
99735         * modules/sys_socket: New file.
99737 2006-01-10  Simon Josefsson  <jas@extundo.com>
99739         * m4/sys_socket_h.m4: New file.
99741 2006-01-10  Simon Josefsson  <jas@extundo.com>
99743         * lib/socket_.h: New file.
99745 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
99747         * modules/readutmp (Maintainer): Add myself.
99749 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
99751         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
99752         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
99753         People who are still concerned with buggy memcmp implementations
99754         can invoke gl_FUNC_MEMCMP themselves.
99756 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
99758         * lib/regex_internal.h (BITSET_WORD_BITS):
99759         Work around a bug in 64-bit PGC (before version 6.1-2), where the
99760         preprocessor mishandles large unsigned values as if they were signed.
99761         Problem reported by Claudio Fontana in
99762         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
99764 2006-01-10  Jim Meyering  <jim@meyering.net>
99766         Avoid the double-free (first in fts_read, second in fts_close) that
99767         would occur when an `active' directory is made inaccessible (e.g.,
99768         via chmod a-x) during a traversal.
99769         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
99770         before returning.  Reproduce this failure by
99771         mkdir -p a/b; cd a; chmod a-x . b
99772         Reported by Stavros Passas.
99774         Sync from coreutils.
99775         * lib/sha1.c: Tweak grammar in a comment.
99777 2006-01-10  Jim Meyering  <jim@meyering.net>
99779         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
99780         Patch by Joerg Sonnenberger.
99782 2006-01-10  Bruno Haible  <bruno@clisp.org>
99784         * modules/readutmp: Depend on module free.
99785         * modules/strtok_r: Depend on module restrict.
99787 2006-01-10  Bruno Haible  <bruno@clisp.org>
99789         * modules/gettext (configure.ac): Add an invocation of
99790         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
99792 2006-01-10  Bruno Haible  <bruno@clisp.org>
99794         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
99795         Reported by Werner Lemberg <wl@gnu.org>.
99797 2006-01-10  Bruno Haible  <bruno@clisp.org>
99799         * lib/localcharset.c: Update from GNU gettext.
99801 2006-01-10  Bruno Haible  <bruno@clisp.org>
99803         * lib/argp.h (__const): Remove macro. Use const instead.
99804         * lib/argp-fmtstream.h (__const): Likewise.
99805         * lib/glob_.h (__const): Remove macro.
99806         * lib/glob-libc.h: Use const instead of __const.
99808 2006-01-10  Bruno Haible  <bruno@clisp.org>
99810         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
99811         variable.
99812         Needed to avoid an automake error regarding the 'gettext' module.
99814 2006-01-09  Simon Josefsson  <jas@extundo.com>
99816         * modules/inet_ntop (Depends-on): Add restrict.
99818 2006-01-09  Simon Josefsson  <jas@extundo.com>
99820         * modules/gc-rijndael-tests (License): Put under LGPL.
99822         * modules/gc-des-tests (License): Likewise.
99824         * modules/gc-arcfour-tests (License): Likewise.
99826         * modules/gc-arctwo-tests (License): Likewise.
99828         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
99830         * modules/gc-hmac-sha1-tests (Files): Likewise.
99832         * modules/gc-hmac-md5-tests (License): Likewise.
99834         * modules/gc-sha1-tests (License): Likewise.
99836         * modules/gc-md5-tests (License): Likewise.
99838         * modules/gc-md4-tests (License): Likewise.
99840         * modules/gc-md2-tests (License): Likewise.
99842         * modules/gc-tests (License): Likewise.
99844         * modules/des-tests (License): Likewise.
99846         * modules/md4-tests (License): Likewise.
99848         * modules/md2-tests (License): Likewise.
99850 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
99852         Sync from coreutils:
99854         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
99855         * modules/lib-ignore: New file.
99856         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
99857         chdir-safer.m4, lchmod.m4.
99858         * modules/openat: Add mkdirat.c, openat-priv.h.
99860 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
99862         Sync from coreutils.
99863         * m4/lib-ignore.m4: New file.
99864         * m4/lchmod.m4: New file.
99866 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
99868         Sync from coreutils.
99869         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
99870         for write access: POSIX says that must fail.
99871         * lib/fts.c (diropen): Likewise.
99872         * lib/save-cwd.c (save_cwd): Likewise.
99873         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
99874         well, for minor improvements on hosts that lack O_DIRECTORY.
99875         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
99876         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
99877         Fall back on chown if open failed with EACCES.
99879         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
99880         Report an error at compile-time if only a 1-second nominal clock
99881         resolution is found.
99883         * lib/lchmod.h: New file.
99884         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
99885         (make_dir_parents): Use lchown rather than chown, and
99886         lchmod rather than chmod.
99888         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
99889         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
99890         "proc" reported by n0dalus.
99892         * lib/mountlist.c: Include <limits.h>.
99893         (dev_from_mount_options)
99894         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
99895         New function.  It no longer assumes "dev=" has the System V meaning
99896         on Linux (since it doesn't).  It also parses "dev=" more carefully.
99897         (read_file_system_list)
99898         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
99899         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
99900         dev= in that case.
99902         * lib/posixtm.h (PDS_PRE_2000): New macro.
99903         * lib/posixtm.c (year): Arg is now syntax_bits rather than
99904         allow_century.  All usages changed.  Reject dates outside the range
99905         1969-1999 if PDS_PRE_2000 is used.
99907 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
99909         Sync from coreutils.
99910         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
99911         (Time of day items): Mention the possibility of leap seconds.
99912         Problem reported by Dr. David Alan Gilbert.
99914 2006-01-09  Jim Meyering  <jim@meyering.net>
99916         Sync from coreutils.
99918         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
99920         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
99922         * lib/modechange.c (mode_compile): Reject an invalid mode string
99923         that starts with an octal digit.  From Andreas Gruenbacher.
99925         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
99926         and dup to open_safer and dup_safer, respectively.
99927         (openat_permissive): Fix typo in comment.
99929         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
99930         "gettext.h"; either no longer needed or are guaranteed by openat.h.
99931         (_): Remove; no longer needed.
99932         (openat): Renamed from rpl_openat; no need for rpl_openat
99933         since openat.h renames openat for us.
99934         Replace most of the body with a call to openat_permissive,
99935         to avoid duplicate code.
99936         Port to (probably hypothetical) environments were mode_t is
99937         wider than int.
99938         (openat_permissive): Require mode arg, so that we can check
99939         types better.  Put it just after flags.  Change cwd failure
99940         indicator from pointer-to-bool to pointer-to-errno-value.
99941         All callers changed.
99942         Invoke openat_save_fail and/or openat_restore_fail if
99943         cwd_errno is null, so that openat can call us.
99944         (openat_permissive, fdopendir, fstatat, unlinkat):
99945         Simplify errno handling to avoid some duplicate code,
99946         as it's OK to set errno on success.
99947         * lib/openat.h: Revamp code so that function macros depend on
99948         __OPENAT_PREFIX only, not also on AT_FDCWD.
99949         (openat_ro): Remove.  Caller changed to use openat_permissive.
99950         (openat_permissive): Now a macro, if not a function.
99951         (openat_restore_fail, openat_save_fail): Now always functions,
99952         since mkdirat needs them even if __OPENAT_PREFIX is defined.
99954         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
99955         and openat.c.
99956         * lib/mkdirat.c: Include openat-priv.h.
99957         Remove definitions of macros defined therein.
99958         * lib/openat.c: Likewise.
99960         * lib/mkdirat.c (mkdirat): New file and function.
99961         * lib/openat.h (mkdirat): Declare.
99963         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
99965         * lib/openat.h (openat_permissive): Declare.
99966         (openat_ro): Define.
99968         * lib/openat.c (EXPECTED_ERRNO): New macro.
99969         (openat_permissive): New function -- used in remove.c rewrite.
99970         (all functions): Set errno just before returning, only if there
99971         was an actual failure.
99972         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
99974         Emulate openat-family functions using Linux's procfs, if possible.
99975         Idea and some code based on Ulrich Drepper's glibc changes.
99977         * lib/openat.c: (BUILD_PROC_NAME): New macro.
99978         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
99979         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
99980         before falling back on save_cwd and restore_cwd.
99981         (fdopendir, fstatat, unlinkat): Likewise.
99983         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
99984         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
99986         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
99987         as second argument to va_arg.  Otherwise, some versions of gcc
99988         warn that `if this code is reached, the program will abort'.
99990 2006-01-09  Jim Meyering  <jim@meyering.net>
99992         Sync from coreutils.
99993         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
99994         Require openat-priv.h.
99996 2006-01-09  Bruno Haible  <bruno@clisp.org>
99998         * modules/strnlen (Include): Use strnlen.h.
100000 2006-01-09  Bruno Haible  <bruno@clisp.org>
100002         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
100004 2006-01-09  Bruno Haible  <bruno@clisp.org>
100006         * lib/sysexit_.h (EX_OK): New macro.
100007         Suggested by Martin Lambers <marlam@marlam.de>.
100009 2006-01-09  Bruno Haible  <bruno@clisp.org>
100011         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
100012         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
100014 2006-01-09  Bruno Haible  <bruno@clisp.org>
100016         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
100017         numbers.
100019 2006-01-09  Bruno Haible  <bruno@clisp.org>
100021         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
100022         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
100023         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
100024         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
100026 2006-01-09  Bruno Haible  <bruno@clisp.org>
100028         * build-aux/javacomp.sh.in: New file, moved from lib/.
100029         * modules/javacomp-script (Files): Update.
100030         (configure.ac): Add AC_CONFIG_FILES invocation.
100031         (EXTRA_DIST): Remove variable.
100033         * build-aux/javaexec.sh.in: New file, moved from lib/.
100034         * modules/javaexec (Files): Update.
100035         (configure.ac): Add AC_CONFIG_FILES invocation.
100036         (EXTRA_DIST): Remove javaexec.sh.in.
100038         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
100039         * modules/csharpcomp-script (Files): Update.
100040         (configure.ac): Add AC_CONFIG_FILES invocation.
100041         (EXTRA_DIST): Remove variable.
100043         * build-aux/csharpexec.sh.in: New file, moved from lib/.
100044         * modules/csharpexec (Files): Update.
100045         (configure.ac): Add AC_CONFIG_FILES invocation.
100046         (EXTRA_DIST): Remove csharpexec.sh.in.
100048 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
100050         Sync from coreutils.
100052         Add POSIX ACL support
100053         * lib/acl.h (copy_acl, set_acl): Add declarations.
100054         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
100055         systems other than Linux.
100056         (chmod_or_fchmod): New function: use fchmod when possible,
100057         and chmod otherwise.
100058         (file_has_acl): Add a POSIX ACL implementation, with a
100059         Linux-specific subcase.
100060         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
100061         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
100062         acls are unsupported.
100063         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
100064         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
100065         are unsupported.
100067 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
100069         Sync from coreutils.
100070         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
100072 2006-01-07  Bruno Haible  <bruno@clisp.org>
100074         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
100075         gl_EARLY.
100077 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
100079         * lib/strftime.c (tzname): Don't declare if it is already #defined.
100080         Problem reported for Mingw by Mark Junker.
100082 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
100084         * README: Gnulib normally doesn't generate a tarball.
100086 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
100088         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
100089         long int, not int, for nanosecond counts, so that people who are
100090         used to POSIX struct timespec won't be surprised.  Reported by Jim
100091         Meyering.
100093 2005-12-28  Bruno Haible  <bruno@clisp.org>
100095         * build-aux/config.rpath: Update from GNU gettext.
100097 2005-12-16  Jim Meyering  <jim@meyering.net>
100099         * modules/fprintftime: New module.
100100         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
100102 2005-12-16  Jim Meyering  <jim@meyering.net>
100104         * m4/fprintftime.m4: New file.
100106 2005-12-16  Jim Meyering  <jim@meyering.net>
100108         * lib/fprintftime.c, lib/fprintftime.h: New files.
100110 2005-12-15  Simon Josefsson  <jas@extundo.com>
100112         * modules/socklen (configure.ac): Fix M4 macro name, to align with
100113         new m4/socklen.m4.
100115 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
100117         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
100118         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
100120 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
100122         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
100123         * lib/argp-help.c (fill_in_uparams): Check if the constructed
100124         struct uparams is valid. Fall back to the default values if it is
100125         not.
100127 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
100129         * modules/argp (Files): Add argp-pin.c
100130         (Depends-on): dirname
100131         (lib_SOURCES): Add argp-pin.c
100133 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
100135         * m4/argp.m4:  Check if program_invocation_name and
100136         program_invocation_short_name are declared and define appropriate
100137         macros if they are not.
100139 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
100141         * lib/argp-help.c (__argp_base_name): New function
100142         (__argp_short_program_name): Rewrite using __argp_base_name
100143         * lib/argp-namefrob.h: Define program_invocation_name and
100144         program_invocation_short_name if requested
100145         (__argp_base_name): Add prototype
100146         * lib/argp-parse.c (argp_def): Use gettext wrappers
100147         (argp_default_parser): Use __argp_base_name
100148         * lib/argp-pin.c: New file. Defines program_invocation_name and
100149         program_invocation_short_name on systems that lack them.
100151 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
100153         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
100154         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
100155         porting problem reported by Georg Schwarz in
100156         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
100158 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
100160         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
100161         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
100162         porting problem reported by Georg Schwarz in
100163         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
100165 2005-12-05  Bruno Haible  <bruno@clisp.org>
100167         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
100168         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
100169         Reported by Mark Junker <mjscod@gmx.de>.
100171 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
100173         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
100174         Use implementation from Albert Chin, with some
100175         comments/corrections by Stepan Kasal and myself.
100177 2005-12-02  Bruno Haible  <bruno@clisp.org>
100179         * gnulib-tool (func_import): Accept GPLed build tool modules when
100180         --lgpl is given.
100181         * modules/csharpcomp-script: New file.
100182         * modules/csharpcomp: Depend on it.
100183         * modules/javacomp-script: New file.
100184         * modules/javacomp: Depend on it.
100185         Suggested by Simon Josefsson.
100187 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
100189         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
100190         statement, to work around an HP-UX 10.20 compiler bug reported by
100191         Peter O'Gorman.
100193 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
100195         * modules/savedir (Depends-on): Add openat.
100197 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
100199         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
100200         (uintmax_t) [defined uintmax_t]: Do not declare.
100201         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
100202         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
100203         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
100204         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
100205         sake of portability to weird hosts that C allows (though we don't
100206         know of any practical examples).
100208         * lib/savedir.h (fdsavedir): New decl.
100209         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
100210         contains most of the former guts of savedir.
100211         (savedir): Use savedirstream.
100212         Include "openat.h".
100214 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
100216         * modules/obstack (Files): Add m4/ulonglong.m4.
100217         Problem reported by Davide Angelocola.
100219 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
100221         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
100222         coreutils no longer futzes with rounding modes.
100224 2005-11-14  Jim Meyering  <jim@meyering.net>
100226         * lib/mkstemp-safer.c: Include <config.h>, required for possible
100227         replacement of mkstemp.
100229 2005-11-10  Simon Josefsson  <jas@extundo.com>
100231         * lib/readline.c: Remove EOL.
100233 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
100235         * modules/gethrxtime (Depends-on): Add gettime.
100237 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
100239         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
100240         or gettimeofday; no longer needed.
100242 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
100244         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
100245         time business.
100246         (gethrxtime) [! (HAVE_NANOUPTIME
100247         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
100248         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
100249         our own approximation.
100251 2005-11-08  Eric Blake  <ebb9@byu.net>
100253         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
100255 2005-11-08  Eric Blake  <ebb9@byu.net>
100257         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
100259 2005-11-04  Bruno Haible  <bruno@clisp.org>
100261         * gnulib-tool: Implement --update mode.
100263 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
100265         Fix porting problem reported by Theodoros V. Kalamatianos.
100266         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
100267         Don't assume that futimes failing means we must fail.
100269 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
100271         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
100272         variables to suggest the intended function of the PATH_MAX check.
100274 2005-10-30  Kean Johnston  <jkj@sco.com>
100276         Trivial changes to support SCO systems.
100277         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
100278         as PATH_MAX.
100279         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
100280         where __ptr is null when no I/O is pending.
100282 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
100284         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
100285         leave errno alone.  Problem reported by Dmitry V. Levin.
100287 2005-10-28  Simon Josefsson  <jas@extundo.com>
100289         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
100290         Test more.
100292         * tests/test-gc-md2.c, tests/test-md2.c: New files.
100294         * modules/md2, modules/md2-tests: New files.
100296 2005-10-28  Simon Josefsson  <jas@extundo.com>
100298         * m4/inet_ntop.m4: More tests.
100300         * m4/gc-md2.m4, md2.m4: New file.
100302 2005-10-28  Simon Josefsson  <jas@extundo.com>
100304         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
100305         "restrict" keywords, as per POSIX.  Protect the function
100306         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
100307         Don't use K&R prototypes.  Check the sprintf return values.
100308         Re-define EAFNOSUPPORT if not present.  Indent.
100310         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
100311         suggested by Bruno Haible <bruno@clisp.org>.
100313         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
100315         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
100317         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
100318         libgcrypt).
100320         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
100322         * lib/md2.h, lib/md2.c: New files.
100324 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
100326         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
100327         errno alone.  Problem reported by Frederic Jolliton.
100329 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
100331         * modules/verify (License): Change from GPL to LGPL.  This is a
100332         tiny module and there are apparently near-equivalents that are
100333         under the BSD license.
100335 2005-10-24  Simon Josefsson  <jas@extundo.com>
100337         * modules/sha1: Relicense to LGPL.
100339 2005-10-24  Simon Josefsson  <jas@extundo.com>
100341         * lib/md4.h: Shrink buffer size, now that we changed the type.
100343 2005-10-23  Simon Josefsson  <jas@extundo.com>
100345         * gnulib-tool (func_import): Fix --tests-base.
100347 2005-10-22  Simon Josefsson  <jas@extundo.com>
100349         * modules/arcfour (Depends-on): Need stdint.
100351 2005-10-22  Simon Josefsson  <jas@extundo.com>
100353         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
100354         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
100356 2005-10-22  Simon Josefsson  <jas@extundo.com>
100358         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
100359         suggested by Bruno Haible <bruno@clisp.org>.
100361 2005-10-22  Simon Josefsson  <jas@extundo.com>
100363         * lib/crc.h: Include stddef.h, for size_t.
100365 2005-10-22  Simon Josefsson  <jas@extundo.com>
100367         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
100368         arcfour_context struct (simplify test vector testing in GNU
100369         Shishi).
100371 2005-10-21  Simon Josefsson  <jas@extundo.com>
100373         * modules/des, modules/des-tests: New files.
100375         * modules/gc-des, modules/gc-des-tests: New files.
100377         * tests/test-des.c, tests/test-gc-des.c: New file.
100379 2005-10-21  Simon Josefsson  <jas@extundo.com>
100381         * modules/arctwo, modules/arctwo-tests: New files.
100383         * tests/test-arctwo.c: New file.
100385         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
100387         * tests/test-gc-arctwo.c: New file.
100389 2005-10-21  Simon Josefsson  <jas@extundo.com>
100391         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
100392         Bruno Haible <bruno@clisp.org>.
100394         * m4/gc-des.m4: New file.
100396 2005-10-21  Simon Josefsson  <jas@extundo.com>
100398         * m4/arctwo.m4: New file.
100400         * m4/gc-arctwo.m4: New file.
100402 2005-10-21  Simon Josefsson  <jas@extundo.com>
100404         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
100405         block.
100407 2005-10-21  Simon Josefsson  <jas@extundo.com>
100409         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
100410         <bruno@clisp.org>.
100412         * lib/hmac-sha1.c (hmac_sha1): Likewise.
100414         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
100415         Bruno Haible <bruno@clisp.org>.
100417         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
100418         <bruno@clisp.org>.
100420 2005-10-21  Simon Josefsson  <jas@extundo.com>
100422         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
100424 2005-10-21  Simon Josefsson  <jas@extundo.com>
100426         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
100428 2005-10-21  Simon Josefsson  <jas@extundo.com>
100430         * lib/des.h, lib/des.c: New files.
100432         * lib/gc-gnulib.c: Support DES.c
100434 2005-10-21  Simon Josefsson  <jas@extundo.com>
100436         * lib/arctwo.h, lib/arctwo.c: New files.
100438         * lib/gc-gnulib.c: Support ARCTWO.
100440 2005-10-21  Simon Josefsson  <jas@extundo.com>
100442         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
100443         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100445 2005-10-21  Simon Josefsson  <jas@extundo.com>
100447         * gnulib-tool (func_import, func_create_testdir): Define automake
100448         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
100449         Makefile.am snippet),
100450         suggested by Bruno Haible <bruno@clisp.org>.
100452         * modules/gc (Makefile.am): Use it.
100454 2005-10-21  Bruno Haible  <bruno@clisp.org>
100456         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
100457         patch.
100459 2005-10-19  Simon Josefsson  <jas@extundo.com>
100461         * tests/test-gc-rijndael.c: New file.
100463         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
100465 2005-10-19  Simon Josefsson  <jas@extundo.com>
100467         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
100468         interface too.
100470 2005-10-19  Simon Josefsson  <jas@extundo.com>
100472         * tests/test-gc-arcfour.c: New file.
100474         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
100476 2005-10-19  Simon Josefsson  <jas@extundo.com>
100478         * modules/gc-md4, modules/gc-md4-tests: New file.
100480         * tests/test-gc-md4.c: New file.
100482 2005-10-19  Simon Josefsson  <jas@extundo.com>
100484         * m4/gc-md4.m4: New file.
100486 2005-10-19  Simon Josefsson  <jas@extundo.com>
100488         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
100489         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
100490         <kasal@ucw.cz>.
100492 2005-10-19  Simon Josefsson  <jas@extundo.com>
100494         * m4/gc-arcfour.m4: New file.
100496         * m4/gc-rijndael.m4: New file.
100498 2005-10-19  Simon Josefsson  <jas@extundo.com>
100500         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
100502 2005-10-19  Simon Josefsson  <jas@extundo.com>
100504         * lib/gc-gnulib.c: Support ARCFOUR.
100506 2005-10-19  Simon Josefsson  <jas@extundo.com>
100508         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
100509         support.
100511         * lib/gc.h: Add ECB enum type.
100513         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
100515 2005-10-18  Simon Josefsson  <jas@extundo.com>
100517         * tests/test-md5.c: New file.
100519         * modules/md5-tests: New file.
100521 2005-10-18  Simon Josefsson  <jas@extundo.com>
100523         * tests/test-md4.c: New file.
100525         * modules/md4, modules/md4-tests: New files.
100527 2005-10-18  Simon Josefsson  <jas@extundo.com>
100529         * m4/md4.m4: New file.
100531 2005-10-18  Simon Josefsson  <jas@extundo.com>
100533         * lib/md4.h, lib/md4.c: New files, based on md5.?.
100535 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
100537         * gnulib-tool (func_create_testdir): Omit the second check whether
100538         BUILT_SOURCES in nonempty.
100540 2005-10-17  Simon Josefsson  <jas@extundo.com>
100542         * tests/test-rijndael.c: New file.
100544 2005-10-17  Simon Josefsson  <jas@extundo.com>
100546         * modules/sha1: Depend on stdint instead of md5.
100548         * modules/md5: Depend on stdint, remove uint32_t.
100550 2005-10-17  Simon Josefsson  <jas@extundo.com>
100552         * modules/gc-sha1-tests: New file.
100554         * tests/test-gc-sha1.c: New file.
100556 2005-10-17  Simon Josefsson  <jas@extundo.com>
100558         * m4/md5.m4: Remove call to uint32_t.m4.
100560 2005-10-17  Simon Josefsson  <jas@extundo.com>
100562         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
100564         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
100565         md5.h.
100567         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
100569         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
100571 2005-10-17  Simon Josefsson  <jas@extundo.com>
100573         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
100575 2005-10-17  Simon Josefsson  <jas@extundo.com>
100577         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
100579 2005-10-17  Simon Josefsson  <jas@extundo.com>
100581         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
100583         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
100585 2005-10-17  Bruno Haible  <bruno@clisp.org>
100587         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
100588         that it can also be used in a test.
100590 2005-10-16  Bruno Haible  <bruno@clisp.org>
100592         * gnulib-tool (func_emit_tests_Makefile_am): Also define
100593         TESTS_ENVIRONMENT, so that individual tests can augment it.
100595         * gnulib-tool (func_create_testdir): Use an intermediate target for
100596         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
100597         macros, like $(ALLOCA_H), which cannot be passed through the command
100598         line.
100600 2005-10-15  Simon Josefsson  <jas@extundo.com>
100602         * modules/rijndael-tests: New file.
100604         * modules/rijndael: New file.
100606 2005-10-15  Simon Josefsson  <jas@extundo.com>
100608         * m4/rijndael.m4: New file.
100610 2005-10-15  Simon Josefsson  <jas@extundo.com>
100612         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
100614         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
100616 2005-10-14  Simon Josefsson  <jas@extundo.com>
100618         * tests/test-arcfour.c: New file.
100620         * modules/arcfour, modules/arcfour-tests: New files.
100622 2005-10-14  Simon Josefsson  <jas@extundo.com>
100624         * m4/arcfour.m4: New file.
100626 2005-10-14  Simon Josefsson  <jas@extundo.com>
100628         * lib/arcfour.h, lib/arcfour.c: New files.
100630 2005-10-14  Roland McGrath  <roland@redhat.com>
100632         Import from libc.  [BZ #1331]
100633         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
100634         macro argument.
100635         Reported by Matej Vela <vela@debian.org>.
100637 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
100639         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
100640         include <wchar.h>; no longer needed.
100642 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
100644         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
100646 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
100647         and  Ulrich Drepper  <drepper@redhat.com>
100649         Import from libc.
100650         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
100651         instead of inline stream orientation test and two separate
100652         function calls.  Pay no attention to USE_IN_LIBIO.
100654 2005-10-13  Simon Josefsson  <jas@extundo.com>
100656         * modules/gc-hmac-md5-tests: New file.
100658         * tests/test-gc-hmac-sha1.c: New file.
100660         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
100662         * modules/gc-hmac-md5-tests: New file.
100664         * tests/test-gc-md5.c: New file.
100666         * modules/gc-md5-tests: New file.
100668 2005-10-13  Simon Josefsson  <jas@extundo.com>
100670         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
100671         Move memory allocation outside of loop.
100673 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
100675         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
100676         intermediate directory is in a read-only file system.  Problem
100677         reported by Eric Blake.
100679 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
100681         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
100683 2005-10-12  Simon Josefsson  <jas@extundo.com>
100685         * tests/test-hmac-sha1.c: New file.
100687         * modules/hmac-sha1-tests: New file.
100689         * modules/hmac-sha1: New file.
100691 2005-10-12  Simon Josefsson  <jas@extundo.com>
100693         * modules/gc-sha1: New file.
100695 2005-10-12  Simon Josefsson  <jas@extundo.com>
100697         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
100699         * tests/test-gc-pbkdf2-sha1.c: New file.
100701 2005-10-12  Simon Josefsson  <jas@extundo.com>
100703         * modules/gc-md5, modules/gc-hmac-md5: New files.
100705         * modules/gc (Files): Remove md5, memxor and hmac files.
100707 2005-10-12  Simon Josefsson  <jas@extundo.com>
100709         * m4/gc-pbkdf2-sha1.m4: New file.
100711         * m4/gc-hmac-sha1.m4: New file.
100713         * m4/gc-sha1: New file.
100715         * m4/hmac-sha1.m4: New file.
100717 2005-10-12  Simon Josefsson  <jas@extundo.com>
100719         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
100721         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
100723 2005-10-12  Simon Josefsson  <jas@extundo.com>
100725         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
100726         suggested by Bruno Haible <bruno@clisp.org>.
100728 2005-10-12  Simon Josefsson  <jas@extundo.com>
100730         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
100732 2005-10-12  Simon Josefsson  <jas@extundo.com>
100734         * lib/gc-pbkdf2-sha1.c: New file.
100736         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
100738 2005-10-12  Simon Josefsson  <jas@extundo.com>
100740         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
100742         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
100744 2005-10-12  Simon Josefsson  <jas@extundo.com>
100746         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
100747         GC_USE_HMAC_MD5, respectively.
100749         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
100750         (gc_md5): Fix typo.
100752         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
100754         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
100756         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
100758 2005-10-12  Bruno Haible  <bruno@clisp.org>
100760         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
100761         Reported by Stepan Kasal <kasal@ucw.cz>.
100763 2005-10-11  Simon Josefsson  <jas@extundo.com>
100765         * tests/test-crc.c: New file.
100767         * modules/crc, modules/crc-tests: New files.
100769 2005-10-11  Simon Josefsson  <jas@extundo.com>
100771         * m4/crc.m4: New file.
100773 2005-10-11  Simon Josefsson  <jas@extundo.com>
100775         * lib/gc.h: Add gc_hash and gc_hash_buffer.
100777         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
100779         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
100781 2005-10-11  Simon Josefsson  <jas@extundo.com>
100783         * lib/crc.h, lib/crc.c: New files.
100785         * lib/gc.h (gc_hash_buffer): Add doc.
100787 2005-10-11  Bruno Haible  <bruno@clisp.org>
100789         * modules/c-strcasestr: New file.
100790         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
100792 2005-10-11  Bruno Haible  <bruno@clisp.org>
100794         * modules/c-strcase: New file.
100795         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
100797 2005-10-11  Bruno Haible  <bruno@clisp.org>
100799         * lib/strcasecmp.c: Include limits.h.
100800         (strcasecmp): Avoid integer overflow on exotic platforms.
100801         * lib/strncasecmp.c: Include limits.h.
100802         (strncasecmp): Avoid integer overflow on exotic platforms.
100803         Reported by Paul Eggert.
100805 2005-10-11  Bruno Haible  <bruno@clisp.org>
100807         * lib/c-strcasestr.h: New file, from GNU gettext.
100808         * lib/c-strcasestr.c: New file, from GNU gettext.
100810 2005-10-11  Bruno Haible  <bruno@clisp.org>
100812         * lib/c-strcase.h: New file, from GNU gettext.
100813         * lib/c-strcasecmp.c: New file, from GNU gettext.
100814         * lib/c-strncasecmp.c: New file, from GNU gettext.
100816 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
100818         * modules/mempcpy (License): GPL -> LGPL.
100819         * modules/strchrnul (License): Likewise.
100820         * modules/sysexits (License): Likewise.
100822 2005-10-08  Simon Josefsson  <jas@extundo.com>
100824         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
100826 2005-10-07  Simon Josefsson  <jas@extundo.com>
100828         * m4/memxor.m4: Remove gl_C_RESTRICT call.
100830 2005-10-06  Simon Josefsson  <jas@extundo.com>
100832         * tests/test-hmac-md5.c: New file.
100834         * modules/hmac-md5-tests: New file.
100836         * modules/hmac-md5: New file.
100838 2005-10-06  Simon Josefsson  <jas@extundo.com>
100840         * m4/hmac-md5.m4: New file.
100842         * m4/memxor.m4: Require gl_C_RESTRICT.
100844 2005-10-06  Simon Josefsson  <jas@extundo.com>
100846         * lib/memxor.c (memxor): Avoid casts and warnings.
100848 2005-10-06  Simon Josefsson  <jas@extundo.com>
100850         * lib/hmac-md5.c: New file.
100852         * lib/hmac.h: New file.
100854 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
100856         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
100857         promotes to int, not unsigned int, to catch the AIX 5.3
100858         compiler bug.
100860 2005-10-05  Simon Josefsson  <jas@extundo.com>
100862         * modules/memxor: New file.
100864         * modules/iconv (Files): Move config.rpath to havelib, it is used
100865         there.
100867         * modules/havelib (Files): Add config.rpath.
100869 2005-10-05  Simon Josefsson  <jas@extundo.com>
100871         * m4/memxor.m4: New file.
100873 2005-10-05  Simon Josefsson  <jas@extundo.com>
100875         * lib/memxor.c (memxor): Fix compiler error.
100877         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
100878         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
100880         * lib/memxor.h, lib/memxor.c: New files.
100882         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
100883         we assume all systems have it, suggested by Jim Meyering
100884         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
100885         any systems lack sys/socket.h; mingw32 is known to lack it, but we
100886         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
100887         same reasons.
100889 2005-10-05  Simon Josefsson  <jas@extundo.com>
100891         * config/srclist.txt: Add glibc bug 1423 for md5.h.
100893 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
100895         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
100896         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
100897         needed, since the source code now assumes these .h files.
100899 2005-10-05  Derek Price  <derek@ximbiot.com>
100901         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
100903 2005-10-05  Bruno Haible  <bruno@clisp.org>
100905         * modules/stdint (License): Change to LGPL.
100907 2005-10-04  Simon Josefsson  <jas@extundo.com>
100909         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
100910         D. Baushke" <mdb@gnu.org>.
100912 2005-10-04  Bruno Haible  <bruno@clisp.org>
100914         * lib/verify.h (verify_true): Provide alternative definition for C++.
100916 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
100918         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
100919         (SSIZE_MAX): New macro, if not already defined.
100920         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
100921         than 2 GiB.
100923 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
100925         Sync from coreutils.
100926         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
100927         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
100928         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
100929         ULLONG_MAX doesn't work with 2.7.2.1.
100931 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
100933         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
100934         From Ben Pfaff.
100936         * modules/exclude (Depends-on): Depend on verify.
100937         * modules/strtoimax (Depends-on): Likewise.
100938         * modules/utimecmp (Depends-on): Likewise.
100940 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
100942         * lib/exclude.c: Include verify.h.
100943         (verify): Remove.  All callers changed to use verify.h's version.
100944         * lib/strtoimax.c: Likewise.
100945         * lib/utimecmp.c: Likewis.e
100947         Sync from coreutils.
100948         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
100949         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
100950         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
100951         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
100952         bother returning ENOSYS if settimeofday or stime fails; just let
100953         them return whatever errno they want to return.
100954         * lib/utimens.c: Include unistd.h, for dup2.
100955         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
100956         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
100958 2005-10-02  Jim Meyering  <jim@meyering.net>
100960         Sync from coreutils.
100961         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
100962         from glibc-2.2.5 that fails for read-only files.
100964 2005-10-02  Jim Meyering  <jim@meyering.net>
100966         Sync from coreutils.
100967         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
100968         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
100969         `#if HAVE_CONFIG_H'.
100970         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
100971         Remove AT_FDCWD test.
100972         Do not consume the fd unless successful.
100973         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
100974         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
100975         block, so that we don't even try to compile it if settimeofday is
100976         available.  This works around a compilation failure on OSF1 V5.1,
100977         due to stime requiring a `long int*' while tv_sec is `int'.
100979 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
100981         Sync from coreutils.
100982         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
100983         against `yes', rather than just testing for nonempty.
100985 2005-10-01  Simon Josefsson  <jas@extundo.com>
100987         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
100988         and Darwin.
100990         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
100991         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
100992         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
100993         freeaddrinfo and gai_strerror are declared by the POSIX headers.
100994         Check if struct addrinfo is declared.
100996 2005-10-01  Simon Josefsson  <jas@extundo.com>
100998         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
100999         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
101000         AI_* and EAI_* definitions.  Protect function declarations.
101002 2005-10-01  Jim Meyering  <jim@meyering.net>
101004         Sync from coreutils.
101006         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
101007         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
101008         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
101009         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
101010         in the inet and nsl libraries.  Required on Solaris 5.7.
101012 2005-10-01  Jim Meyering  <jim@meyering.net>
101014         Sync from coreutils.
101015         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
101016         in the inet and nsl libraries.  Required on Solaris 5.7.
101018 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
101020         * lib/getdelim.c (getdelim): Remove unused variables.
101022 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
101024         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
101025         so that the code works even with ancient cpp.  Portability problem
101026         with GCC 2.7.2.1 reported by Thomas M.Ott.
101028 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
101030         * modules/regex (Depends-on): Add strcase.
101032         * modules/gethostname (Licence): Change from GPL to LGPL, since
101033         gethostname.c is a trivial implementation of a standard library
101034         function.
101035         * modules/poll (License): Change from GPL to LGPL, since it's
101036         derived from LGPL code.
101038 2005-09-27  Jim Meyering  <jim@meyering.net>
101040         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
101041         HAVE_CONFIG_H.
101043         * lib/intprops.h (signed_type_or_expr__): Define.
101044         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
101045         for unsigned types.
101047 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
101049         * lib/verify.h (verify_expr): Remove, replacing with:
101050         (verify_true): New macro that returns true instead of void.
101051         (verify_type__): Remove.
101052         (verify): Use verify_true rather than verify_type__.
101054 2005-09-26  Bruno Haible  <bruno@clisp.org>
101056         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
101057         is necessary.
101058         (lib_SOURCES): Remove mbchar.c.
101059         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
101060         (Files): Add m4/mbrtowc.m4.
101061         * modules/mbiter: Likewise.
101062         * modules/mbuiter: Likewise.
101064 2005-09-26  Bruno Haible  <bruno@clisp.org>
101066         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
101067         compile mbchar.c if they are not both present.
101068         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
101069         * m4/mbiter.m4 (gl_MBITER): Likewise.
101070         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
101071         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
101072         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
101074 2005-09-25  Jim Meyering  <jim@meyering.net>
101076         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
101077         also uses socklen_t.
101079 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
101081         * lib/utimens.c (ENOSYS): Define if not already defined.
101082         (futimens): Support having a null PATH if the file descriptor
101083         is nonnegative.
101085         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
101086         Remove.
101087         (__attribute): Define to empty unless GCC 3.1 or later.
101088         This works around a core dump on OpenBSD 3.4, which has GCC
101089         2.95.3, which dumps core when given __attribute__(()).  It also
101090         simplifies other tests, since we really don't want to bother with
101091         worrying about which ancient version of GCC supported what.
101092         Original problem reported by Yoann Vandoorselaere, with part of
101093         the fix suggested by Derek Price.
101095 2005-09-24  Jim Meyering  <jim@meyering.net>
101097         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
101098         so we can once again use a positive bitfield width of 1 -- now we
101099         don't have to explain why we were using a bitfield width of 2.
101101 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
101103         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
101104         and similarly for the other external symbols.  Problem reported
101105         by James Gallager.
101107         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
101108         bug reported by Jim Meyering.
101110         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
101111         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
101112         not needed, since socklen is a prerequisite module.
101114 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
101116         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
101117         Problem reported by Eric Blake.
101118         (getaddrinfo): Initialize se so that it's not garbage.
101119         Redo internal storage allocation so that it doesn't make unportable
101120         assumptions about alignment.
101121         Fix a memory leak.
101123         * lib/utimens.c (futimens): Use futimesat if available.
101124         Prefer it to futimes since it doesn't have the futimes bug.
101126         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
101127         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
101128         Instead, declare a function that returns a pointer to an array,
101129         and use verify_type__ to declare the size of the array.
101130         Problem and germ of a solution reported by Bruno Haible.
101131         (verify_type__): Use 2, not 1, for bitfield size, to avoid
101132         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
101134 2005-09-23  Jim Meyering  <jim@meyering.net>
101136         Sync from coreutils.
101137         Correct build failure (socklen_t not defined) on at least
101138         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
101139         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
101141 2005-09-23  Jim Meyering  <jim@meyering.net>
101143         * modules/getaddrinfo (Depends-on): Add socklen.
101145 2005-09-23  Bruno Haible  <bruno@clisp.org>
101147         * tests/test-verify.c: New file.
101149 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
101151         Sync from coreutils.
101153         * modules/argmatch (Depends-on): Add verify.
101154         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
101155         unistd-safer.
101156         * modules/save-cwd (Depends-on): Likewise.
101158         * modules/openat (Files): Add lib/openat-die.c.
101159         (Depends-on): Remove error, exitfail.
101160         Add dirname.
101162         * modules/verify: New file.
101163         * MODULES.html.sh (Diagnostics <assert.h>): New section,
101164         with "verify" module.
101166 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
101168         Sync from coreutils.
101170         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
101171         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
101172         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
101173         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
101174         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
101175         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
101176         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
101177         Don't bother checking for string.h, stdlib.h, unistd.h.
101178         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
101179         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
101180         module's job.
101181         * m4/jm-macros.m4 (gl_MACROS): Likewise.
101182         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
101184         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
101185         (gl_GETDATE): Use it.
101187         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
101189 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
101191         Sync from coreutils.
101193         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
101194         stat-time.h.
101195         * lib/argmatch.h: Include verify.h
101196         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
101197         (ARGMATCH_ASSERT): Remove; unused.
101198         * lib/canonicalize.c: Assume STDC_HEADERS.
101199         * lib/exclude.c: Include "strcase.h".
101200         * lib/regex_internal.h [!defined _LIBC]: Likewise.
101201         * lib/getusershell.c: Include stdio--.h rather than stdio.h
101202         and stdio-safer.h.
101203         (getusershell): Call fopen, not fopen_safer.
101204         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
101205         Do not include unistd-safer.h.
101206         (save_cwd): Don't call fd_safer; no longer needed
101207         now that we include fcntl--.h.
101209         * lib/getdate.y (relative_time): New type.
101210         (RELATIVE_TIME_0): New constant.
101211         (parser_control): Use relative_time instead of doing it ourselves.
101212         (%union): Add new relative_time rel member.
101213         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
101214         Now typeless.
101215         (relunit, relunit_snumber): Now of type rel.
101216         (zone, rel, relunit, get_date): Adjust to above changes.
101218         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
101219         Do not include unistd-safer.h.
101220         (getloadavg): Don't call fd_safer; no longer needed
101221         now that we include fcntl--.h.
101223         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
101224         (make_dir_parents): Treat ENOSYS like EEXIST.
101226         Improve quality of diagnostics on restore_cwd failure.
101227         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
101228         (make_dir_parents): Last arg is now int * (for errno), not bool *.
101229         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
101230         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
101231         each time through the loop.  Do not diagnose restore_cwd failure;
101232         that is the caller's job (and perhaps the caller does not care).
101234         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
101235         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
101236         If the file already exists but is not a directory, don't bother
101237         to try to make its parents.
101238         Close potential file descriptor leak if we can't chdir("/") (!).
101239         Don't always return true if chdir($PWD) fails; return true only
101240         if the requested action was done successfully (except for the
101241         chdir($PWD)).
101242         Don't log final directory unless we actually made it.
101243         Refactor to avoid duplicate code to fix up permissions.
101244         Don't attempt to fix up parent permissions if chdir($PWD) fails.
101246         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
101247         to make it a bit faster and (I hope) clearer.
101248         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
101249         Fix bug in formats like %2N.
101251         * lib/verify.h: New file.
101253 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
101255         Sync from coreutils.
101256         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
101258 2005-09-22  Jim Meyering  <jim@meyering.net>
101260         Sync from coreutils.
101262         * m4/lstat.m4 (gl_FUNC_LSTAT):
101263         Use AC_LIBSOURCES to require lstat.c and lstat.h.
101264         Remove obsolete comment.
101265         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
101266         * m4/xstrtod.m4: Likewise.
101268         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
101270 2005-09-22  Jim Meyering  <jim@meyering.net>
101272         Sync from coreutils.
101274         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
101276         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
101277         the .tm_year member, since otherwise gcc-4.0 would now warn about
101278         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
101280         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
101281         order to avoid an unsuppressible warning from gcc on 64-bit systems.
101283         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
101284         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
101285         when run in a time zone for which daylight savings time is in effect
101286         for the starting date.
101288         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
101289         stop us from restricting permissions of just-created absolute-named
101290         directories.
101291         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
101292         to restore initial working directory.
101293         * lib/mkdir-p.c (make_dir_parents): New parameter:
101294         different_working_dir, to tell caller if/when we change the working
101295         directory and are unable to return to the initial one.
101296         * lib/mkdir-p.h (make_dir_parents): Update prototype.
101297         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
101298         `return false'.  This fixes a bug introduced on 2004-07-30.
101300         * lib/openat.c (fdopendir): Be sure to close the supplied
101301         file descriptor before returning.  This makes our replacement
101302         implementation a little closer to Solaris's, where fdopendir
101303         ties the file descriptor to the returned DIR* pointer.
101304         * lib/openat.c (unlinkat): New function.
101305         * lib/openat.h (unlinkat): Add prototype.
101306         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
101307         (openat_restore_fail): Rename from openat_restore_die.
101308         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
101310         Provide an alternative to exiting immediately upon save_cwd or
101311         restore_cwd failure.  Now, an application can arrange e.g.,
101312         to perform a longjump in that case.
101313         * lib/openat.c: Include dirname.h.
101314         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
101315         (rpl_openat, fdopendir, fstatat): Call openat_save_die
101316         and openat_restore_die rather than calling error directly.
101317         Don't include "error.h" or "exitfail.h"; they're no longer needed.
101319         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
101320         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
101321         define.
101323         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
101324         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
101325                             int utc, int nanoseconds);
101326         Background:
101327         date should not have to allocate a megabyte of virtual memory to
101328         handle a format argument like +%1048575T.  When implemented with
101329         strftime, it must allocate such a buffer, use strftime to fill it
101330         in, print it, then free it.
101331         With fprintftime, it simply prints everything and exits.
101332         With no need for memory allocation, that's one fewer way to fail.
101333         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
101334         optional field width, not before, so we accept %9:z, not %:9z.
101335         (my_strftime): Be sure to use L_('x') for literals.
101337         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
101338         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
101339         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
101340         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
101341         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
101342         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
101343         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
101344         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
101345         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
101346         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
101347         * lib/xgethostname.c, lib/xreadlink.c:
101348         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
101350         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
101351         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
101352         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
101353         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
101354         and don't include <sys/file.h>).
101356 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
101358         Sync from coreutils.
101360         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
101361         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
101362         [!LDAV_DONE]: Avoid unused variable warning.
101364 2005-09-21  Bruno Haible  <bruno@clisp.org>
101366         * lib/unicodeio.h (unicode_to_mb): New declaration.
101368 2005-09-20  Derek Price  <derek@ximbiot.com>
101370         * lib/getaddrinfo.c: Don't include <netdb.h> included from
101371         getaddrinfo.h.
101373 2005-09-20  Bruno Haible  <bruno@clisp.org>
101375         * gnulib-tool: Remove trailing slashes from the values specified for
101376         --source-base, --m4-base, --tests-base, --aux-dir.
101377         Suggested by Simon Josefsson <jas@extundo.com>.
101379 2005-09-20  Bruno Haible  <bruno@clisp.org>
101381         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
101382         func_modules_to_filelist, func_import, func_create_testdir): Make all
101383         sorting results locale-independent, so that gnulib-cache.m4 doesn't
101384         change when gnulib-tool is invoked in a different locale.
101386 2005-09-19  Simon Josefsson  <jas@extundo.com>
101388         * m4/socklen.m4: Fix typo.
101390 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101392         Use a consistent style for including <config.h>.
101393         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
101394         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
101395         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
101396         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
101397         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
101398         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
101399         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
101400         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
101401         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
101402         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
101403         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
101404         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
101405         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
101406         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
101407         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
101408         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
101409         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
101410         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
101411         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
101412         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
101413         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
101414         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
101415         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
101416         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
101417         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
101418         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
101419         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
101420         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
101421         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
101422         lib/xstrtoumax.c, lib/yesno.c:
101423         Standardize inclusion of config.h.
101424         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
101425         lib/inttostr.h:  Removed inclusion of config.h from header files.
101426         * lib/inttostr.c:  Adjusted in-tree users.
101427         * lib/timespec.h: Remove superfluous warning to include config.h.
101428         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
101429         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
101430         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
101431         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
101432         config.h with HAVE_CONFIG_H.
101434 2005-09-19  Jim Meyering  <jim@meyering.net>
101436         * modules/pathmax (License): Change to LGPL.
101438 2005-09-19  Derek Price  <derek@ximbiot.com>
101440         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
101442 2005-09-19  Bruno Haible  <bruno@clisp.org>
101444         * gnulib-tool (import): Provide default for --tests-base.
101446 2005-09-19  Bruno Haible  <bruno@clisp.org>
101448         * doc/quote.texi: New file, extracted from gnulib.texi.
101449         * doc/ctime.texi: New file, extracted from gnulib.texi.
101450         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
101451         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
101452         * doc/gnulib.texi: Include them.
101454 2005-09-18  Bruno Haible  <bruno@clisp.org>
101456         Portability fix.
101457         * gnulib-tool (func_readlink): New function.
101458         (func_ln_if_changed): Use it.
101460 2005-09-18  Bruno Haible  <bruno@clisp.org>
101462         * gnulib-tool: Support --with-tests also with --import.
101463         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
101464         (func_import): Use variables $testsbase and $inctests. Emit a
101465         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
101466         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
101467         SUBDIRS += $testsdir.
101468         (func_create_testdir): Update.
101470 2005-09-18  Bruno Haible  <bruno@clisp.org>
101472         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
101473         instead of $dry_run.
101474         (func_cp_if_changed, func_mv_if_changed): Remove functions.
101475         (func_ln_if_changed): Don't handle dry-run here.
101476         (func_import): In dry-run mode, detect more precisely which actions
101477         would be performed, and don't use "...ing" verbs.
101479 2005-09-18  Bruno Haible  <bruno@clisp.org>
101481         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
101482         (func_import): Use join on two temporary files instead of three nested
101483         loops, in order to determine which files are new or old.
101485 2005-09-18  Bruno Haible  <bruno@clisp.org>
101487         * gnulib-tool (func_import): Comment out code that spits out the
101488         new files with --dry-run.
101490 2005-09-18  Bruno Haible  <bruno@clisp.org>
101492         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
101494 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
101496         * lib/stat-time.h: New file.
101497         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
101498         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
101499         in a different way.
101500         (timespec_cmp): New function.
101501         * lib/utimecmp.c: Include stat-time.h.
101502         (SYSCALL_RESOLUTION): Depend on whether various struct stat
101503         members exist, not on the obsolescent ST_MTIM_NSEC.
101504         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
101506 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
101508         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
101510 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
101512         * MODULES.html.sh (File system functions): Add stat-time.
101513         * modules/stat-time: New file.
101514         * modules/timespec (Files): Remove m4/st_mtim.m4; this
101515         is now done in a different way, by the stat-time module.
101516         * modules/utimecmp (Depends-on): Add stat-time.
101518 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
101520         * m4/st_mtim.m4: Remove.  Superseded by...
101521         * m4/stat-time.m4: New file.
101522         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
101523         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
101525 2005-09-15  Derek Price  <derek@ximbiot.com>
101527         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
101529 2005-09-15  Derek Price  <derek@ximbiot.com>
101531         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
101532         * lib/regex_internal.c: Ditto, using this...
101533         (__GNUC_PREREQ): ...new macro.
101534         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
101535         using...
101536         (__GNUC_PREREQ): ...this new macro.
101538         * lib/strstr.h: Include string.h. Define strstr as a macro here.
101540 2005-09-15  Derek Price  <derek@ximbiot.com>
101541             Paul Eggert  <eggert@cs.ucla.edu>
101543         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
101544         changes, consolidating in...
101545         * lib/regex_internal.h: ...this file.
101547 2005-09-13  Jim Meyering  <jim@meyering.net>
101549         * lib/canon-host.c: Filter through gnu indent and reword comments
101550         slightly.
101551         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
101553 2005-09-13  Derek Price  <derek@ximbiot.com>
101555         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
101556         failure.
101557         Reported by Jim Meyering  <jim@meyering.net>.
101559 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
101561         * lib/base64.c: Typo.
101562         (base64_encode): Put b64str in initialized data section.
101564 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
101566         Merge glibc and coreutils changes into gnulib, plus a few
101567         extra fixes.
101568         * lib/md5.c: Use #error rather than a string.
101569         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
101570         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
101571         (__attribute__): Define to empty for non recent-GCC.
101572         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
101573         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
101574         Renamed from their non-__ counterparts, with new macros replacing
101575         them if not _LIBC.  Add __THROW attribute.
101576         (rol): Remove.
101577         (struct md5_ctx): Align buffer if using GCC.
101578         * lib/sha1.h (struct sha1_ctx): Likewise.
101579         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
101580         The old name was backwards.
101581         (NOTSWAP): Remove; not used.
101582         (rol): New macro, moved here from md5.h.
101583         (sha1_process_block): Remove a FIXME that doesn't make sense.
101585 2005-09-12  Derek Price  <derek@ximbiot.com>
101587         Return usable errors from canon-host.
101588         * lib/canon-host.h: New file.
101589         * lib/canon-host.c (canon_host): Wrap...
101590         (canon_host_r): ...this new function, which now relies exclusively on
101591         getaddrinfo.
101592         (ch_strerror): New function.
101593         (last_cherror): New global.
101594         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
101595         interface.
101596         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
101597         void *.
101598         (freeaddrinfo): Free ai->ai_canonname when set.
101600 2005-09-12  Derek Price  <derek@ximbiot.com>
101602         Make canon-host require getaddrinfo.
101603         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
101604         AC_LIBSOURCE canon-host.h.  Call...
101605         (gl_PREREQ_CANON_HOST): ...this new function, which requires
101606         gl_GETADDRINFO.
101607         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
101609 2005-09-12  Derek Price  <derek@ximbiot.com>
101611         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
101612         LGPL.
101613         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
101615 2005-09-12  Derek Price  <derek@ximbiot.com>
101617         * lib/gai_strerror.c: Include config.h when available.  Include
101618         getaddrinfo.h before other headers to test interface.
101619         Reported by Larry Jones <lawrence.jones@ugs.com>.
101621 2005-09-12  Derek Price  <derek@ximbiot.com>
101622             Paul Eggert  <eggert@cs.ucla.edu>
101624         * modules/glob (Files): Add glob-libc.h.
101626 2005-09-12  Derek Price  <derek@ximbiot.com>
101627             Paul Eggert  <eggert@cs.ucla.edu>
101629         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
101630         glob_.h, glob-libc.h.
101631         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
101633 2005-09-12  Derek Price  <derek@ximbiot.com>
101634             Paul Eggert  <eggert@cs.ucla.edu>
101636         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
101637         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
101638         protecting things that should be done only in gnulib contexts.
101639         * lib/glob_.h: New file, containing only the glob things needed for
101640         gnulib.
101641         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
101642         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
101643         (glob, globfree, glob_pattern_p): Now defined simply in terms of
101644         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
101645         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
101646         and to respect the namespace rules better.
101648 2005-09-08  Simon Josefsson  <jas@extundo.com>
101650         * modules/socklen: New file.
101652 2005-09-08  Simon Josefsson  <jas@extundo.com>
101654         * m4/socklen.m4: New file.
101656 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
101658         * modules/utimens (Files): Add m4/utimbuf.m4, since
101659         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
101660         Reported by Sergey Poznyakoff.
101662 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
101664         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
101665         definitions, since that's the preferred style in glibc.
101666         Fix a minor spacing issue, and update copyright notice to match
101667         glibc's.
101669 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
101671         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
101673 2005-09-06  Simon Josefsson  <jas@extundo.com>
101675         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
101676         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
101678 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
101680         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
101681         warning.
101683 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
101685         * config/srclist.txt: Add glibc bug 1302.
101687 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
101689         Change bitset word type from unsigned int to unsigned long int,
101690         as this has better performance on typical 64-bit hosts.
101691         Port bitset code to hosts with unusual word sizes.
101692         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
101693         (build_collating_symbol):
101694         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
101695         argument is a bitset.  This is merely a style issue, but it makes
101696         it clearer that an entire array is expected.
101697         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
101698         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
101699         Port to the case where bitset_word is not the same as unsigned int.
101700         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
101701         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
101702         Likewise.
101703         * lib/regexec.c (check_dst_limits_calc_pos_1,
101704         check_subexp_matching_top):
101705         (build_trtable, group_nodes_into_DFAstates):
101706         Likewise.
101707         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
101708         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
101709         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
101710         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
101711         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
101712         * lib/regcomp.c (optimize_subexps, lower_subexp):
101713         Work even if bitset_word has holes in its bitwise representation.
101714         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
101715         * lib/regexec.c (check_dst_limits_calc_pos_1,
101716         check_subexp_matching_top):
101717         Likewise.
101718         * lib/regex_internal.c (re_string_reconstruct):
101719         Don't assume UCHAR_MAX == 255.
101720         * lib/regex_internal.h (bitset_set_all): Likewise.
101721         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
101722         All uses changed.
101723         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
101724         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
101725         All uses changed.
101726         (BITSET_WORD_MAX): New macro.
101727         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
101728         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
101729         (bitset_empty, bitset_copy):
101730         Prefer sizeof (bitset) to multiplying it out ourselves.
101731         (bitset_not_merge): Remove; unused.
101732         (bitset_contain): Return bool, not unsigned int with one bit on.
101733         All callers changed.
101734         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
101735         alignment than re_node_set; do this by defining a new internal
101736         type struct dests_alloc and using it to allocate memory.
101738 2005-09-05  Bruno Haible  <bruno@clisp.org>
101740         * gnulib-tool (func_import): Fix comparison in handling of symbolic
101741         links.
101743 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
101745         * modules/size_max (Makefile.am): Add size_max.h
101747 2005-09-04  Derek Price  <derek@ximbiot.com>
101749         * gnulib-tool (func_import): Fix reversed $symbolic logic.
101751 2005-09-03  Simon Josefsson  <jas@extundo.com>
101753         * gnulib-tool: Fix typo.
101755 2005-09-03  Simon Josefsson  <jas@extundo.com>
101757         * config/srclist.txt: Add glibc bug 1293.
101759 2005-09-03  Derek Price  <derek@ximbiot.com>
101761         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
101762         From Larry Jones <lawrence.jones@ugs.com>.
101764 2005-09-02  Simon Josefsson  <jas@extundo.com>
101766         * modules/socklen: New file.
101768 2005-09-02  Simon Josefsson  <jas@extundo.com>
101770         * modules/havelib: New module.
101772         * modules/gettext, modules/iconv, modules/lock, modules/readline:
101773         Use havelib.
101775 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
101777         Check for arithmetic overflow when calculating sizes, to prevent
101778         some buffer-overflow issues.  These patches are conservative, in the
101779         sense that when I couldn't determine whether an overflow was possible,
101780         I inserted a run-time check.
101781         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
101782         macros.
101783         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
101784         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
101785         (re_xnrealloc, re_x2nrealloc): New inline functions.
101786         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
101787         parse_bracket_exp):
101788         (build_equiv_class, build_charclass): Check for arithmetic overflow
101789         in size expression calculations.
101790         * lib/regex_internal.c (re_string_realloc_buffers):
101791         (build_wcs_upper_buffer, re_node_set_add_intersect):
101792         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
101793         (re_dfa_add_node, register_state): Likewise.
101794         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
101795         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
101796         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
101797         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
101799 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
101801         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
101802         m4/ulonglong.m4.  Problem reported by Martin Lambers.
101804 2005-09-02  Bruno Haible  <bruno@clisp.org>
101806         Support for lib vs. lib64 distinction on biarch platforms.
101807         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
101808         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
101809         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
101811 2005-09-02  Bruno Haible  <bruno@clisp.org>
101813         * gnulib-tool (import): In the other first-use case, provide defaults
101814         as well.
101816 2005-09-02  Bruno Haible  <bruno@clisp.org>
101818         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
101819         patches not yet found in the latest gettext release.
101821 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
101823         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
101824         to avoid a collision with bits/local_lim.h in glibc.
101825         All uses changed.  Problem reported by Dmitry V. Levin in
101826         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
101828         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
101829         bugs in int versus size_t comparisons.
101830         (re_string_context_at): Fix bug where the code assumed that
101831         Idx is signed.
101833         Use bool where appropriate.
101834         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
101835         All callers changed.
101836         (calc_eclosure_iter): Likewise, for ROOT arg.
101837         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
101838         (build_charclass_op): Likewise, for NON_MATCH arg.
101839         * lib/regex_internal.c (re_string_allocate, re_string_construct):
101840         (re_string_construct_common): Likewise, for ICASE arg.
101841         * lib/regexec.c (re_search_2_stub, re_search_stub):
101842         Likewise, for RET_LEN arg.
101843         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
101844         (set_regs): Likewise, for FL_BACKTRACK arg.
101845         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
101846         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
101847         (calc_eclosure_iter, parse_bracket_exp):
101848         Use bool for internal variables that are booleans.
101849         * lib/regexec.c (re_search_internal, check_matching,
101850         proceed_next_node):
101851         (set_regs, build_sifted_states, sift_states_bkref):
101852         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
101853         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
101854         (find_collation_sequence_value):
101855         Likewise.
101856         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
101857         (re_node_set_compare):
101858         Return bool, not int. All callers changed.
101859         * lib/regexec.c (check_halt_node_context, check_dst_limits):
101860         (build_trtable, check_node_accept): Likewise.
101861         * lib/regex_internal.h: Include stdbool.h.
101863         Fix bugs uncovered when converting to bool.
101864         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
101865         failure instead of charging ahead blindly.
101866         * lib/regex_internal.c (register_state): Likewise.
101867         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
101868         for freeing internal storage.
101869         (group_nodes_into_DFA_states): Use unsigned int, not int, for
101870         bitset pieces used as boolean, to avoid undefined behavior
101871         on hosts that do int overflow checking.
101873 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
101875         * config/srclist.txt: Add glibc bugs 1285-1287.
101877 2005-09-01  Jim Meyering  <jim@meyering.net>
101879         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
101880         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
101881         Require gl_STAT_MACROS, too.
101883 2005-09-01  Bruno Haible  <bruno@clisp.org>
101885         * gnulib-tool (import): In the first-use case, provide defaults.
101887 2005-09-01  Bruno Haible  <bruno@clisp.org>
101889         * gnulib-tool (func_import): Remove the .tmp files.
101891 2005-09-01  Bruno Haible  <bruno@clisp.org>
101893         * gnulib-tool (func_import): Fix handling of symbolic links.
101895 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
101897         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
101898         old glibc regex code mishandles strings longer than 2**31 bytes.
101899         This patch fixes this when the regex code is used in gnulib
101900         (i.e., outside glibc).
101902         This patch should not affect the use of the regex code inside
101903         glibc.  No doubt this problem also needs to be handled for glibc
101904         as well, but the result will be an incompatible change to the
101905         glibc ABI, and the old ABI will have to be supported too.  That
101906         can be the subject for another patch.
101908         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
101909         governing whether the rest of this patch is active.  By default,
101910         the macro is disabled and the patch has no effect.
101911         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
101912         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
101913         (struct re_pattern_buffer, re_search, re_search_2, re_match):
101914         (re_match_2, re_set_registers): Use the new types.
101915         * lib/regex_internal.h (Idx, re_hashval_t): New types.
101916         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
101917         New macros.
101918         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
101919         (re_string_context_at, bin_tree_t, re_dfastate_t):
101920         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
101921         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
101922         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
101923         (re_string_char_size_at, re_string_wchar_at):
101924         (re_string_elem_size_at):
101925         Use the new types and macros to port to 64-bit hosts.
101926         Use unsigned types for internal values, so that the code
101927         mostly works even for arrays larger than SSIZE_MAX.
101928         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
101929         (search_duplicated_node, calc_eclosure_iter, fetch_number):
101930         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
101931         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
101932         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
101933         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
101934         (calc_inveclosure, parse_dup_op, build_range_exp):
101935         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
101936         (fetch_number, create_token_tree, mark_opt_subexp):
101937         Likewise.
101938         * lib/regex_internal.c (re_string_construct_common,
101939         create_ci_newstate):
101940         (create_cd_newstate, re_string_allocate, re_string_construct):
101941         (re_string_realloc_buffers, build_wcs_upper_buffer):
101942         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
101943         (re_string_reconstruct, re_string_peek_byte_case):
101944         (re_string_fetch_byte_case, re_string_context_at):
101945         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
101946         (re_node_set_init_copy, re_node_set_add_intersect):
101947         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
101948         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
101949         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
101950         (re_acquire_state, re_acquire_state_context, register_state):
101951         Likewise.
101952         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
101953         search_cur_bkref_entry):
101954         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
101955         (re_search_internal, re_search_2_stub, re_search_stub)
101956         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
101957         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
101958         (update_cur_sifted_state, check_dst_limits):
101959         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
101960         (check_subexp_limits, sift_states_bkref, merge_state_array):
101961         (check_subexp_matching_top, get_subexp, get_subexp_sub):
101962         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
101963         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
101964         (expand_bkref_cache, check_node_accept_bytes):
101965         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
101966         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
101967         (acquire_init_state_context, check_halt_node_context):
101968         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
101969         (sift_states_backward, clean_state_log_if_needed):
101970         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
101971         (find_recover_state, transit_state_sb, transit_state_mb):
101972         (transit_state_bkref, build_trtable, match_ctx_clean):
101973         Likewise.
101974         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
101975         to work around an assumption that REG_MISSING is negative.
101977         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
101978         (seek_collating_symbol_entry) [defined _LIBC]:
101979         (lookup_collation_sequence_value) [defined _LIBC]:
101980         (build_range_exp, build_collating_symbol) [defined _LIBC]:
101981         Use prototypes rather than old-style function definitions.
101982         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
101983         (transit_state_sb) [0]:
101984         (find_collation_sequence_value) [defined _LIBC]: Likewise.
101986         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
101987         rm_eo.
101989         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
101990         (optimize_subexps, lower_subexp):
101991         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
101992         since the signed shift might overflow.  Use 1u<<31 instead.
101993         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
101994         Likewise.
101995         * lib/regexec.c (check_dst_limits_calc_pos_1,
101996         check_subexp_matching_top): Likewise.
101998         * lib/regcomp.c (optimize_subexps, lower_subexp):
101999         Use CHAR_BIT rather than 8, for clarity.
102000         * lib/regexec.c (check_dst_limits_calc_pos_1):
102001         (check_subexp_matching_top): Likewise.
102002         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
102003         have to worry about portability issues when shifting it left.
102004         Remove no-longer-needed test for table_size > 0.
102005         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
102006         in a word, as the resulting behavior is undefined.
102007         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
102008         in one case, a <= should have been an <, and in another case the
102009         whole test was missing.
102010         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
102011         the standard name CHAR_BIT.
102012         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
102013         this is not true on one's complement and signed-magnitude hosts.
102015         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
102016         next_last_offset.
102017         (struct re_dfa_t): Remove unused member states_alloc.
102018         * lib/regcomp.c (init_dfa): Don't initialize unused members.
102020 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
102022         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
102023         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
102024         and large-file glibc and in 32-bit large-file Solaris.
102026 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
102028         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
102029         lengths fit in regoff_t; this isn't true if regoff_t is the same
102030         width as size_t.
102031         * lib/regex.c (re_search_internal): 5th arg is LAST_START
102032         (= START + RANGE) instead of RANGE.  This avoids overflow
102033         problems when regoff_t is the same width as size_t.
102034         All callers changed.
102035         (re_search_2_stub): Check for overflow when adding the
102036         sizes of the two strings.
102037         (re_search_stub): Check for overflow when adding START
102038         to RANGE; if it occurs, substitute the extreme value.
102040 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
102042         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
102044 2005-08-31  Jim Meyering  <jim@meyering.net>
102046         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
102047         a pointer-to-const.
102048         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
102049         (register_state): Likewise.
102050         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
102051         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
102052         (group_nodes_into_DFAstates): Likewise.
102054 2005-08-31  Jim Meyering  <jim@meyering.net>
102056         * check-module: Add a FIXME comment.
102058 2005-08-31  Eric Blake  <ebb9@byu.net>
102060         * modules/unistd-safer (Files): Add unistd--.h.
102061         * modules/stdio-safer (Files): Add stdio--.h.
102063 2005-08-31  Derek Price  <derek@ximbiot.com>
102065         * lib/getdelim.c (getdelim): Return EOF on EOF.
102066         Reported by Larry Jones <lawrence.jones@ugs.com>.
102068 2005-08-31  Bruno Haible  <bruno@clisp.org>
102070         Avoid unnecessary diffs in the generated lib/Makefile.am.
102071         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
102072         the generated files.
102073         (func_import): Don't set cmd.
102075 2005-08-31  Bruno Haible  <bruno@clisp.org>
102077         * lib/strstr.c: Include <stddef.h>, for NULL.
102078         * lib/strcasestr.c: Likewise.
102079         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
102081 2005-08-31  Bruno Haible  <bruno@clisp.org>
102083         * gnulib-tool: New option --macro-prefix.
102084         (func_import): Use macro_prefix.
102085         (import): Handle option --macro-prefix.
102087 2005-08-31  Bruno Haible  <bruno@clisp.org>
102089         * gnulib-tool (import): Rename most ac_* variables to cached_*.
102090         Also use new variables cached_lgpl, cached_libtool.
102092 2005-08-31  Bruno Haible  <bruno@clisp.org>
102094         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
102095         always instantiating them.
102097 2005-08-31  Bruno Haible  <bruno@clisp.org>
102099         * gnulib-tool (func_import): Read the previous cached settings
102100         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
102101         earlier added by gnulib but are now dropped. Warn when a gnulib file
102102         overwrites a non-gnulib file.
102104 2005-08-31  Bruno Haible  <bruno@clisp.org>
102106         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
102107         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
102108         projects that don't keep autogenerated files in CVS. Put into
102109         actioncmd only the specified modules, not the transitive closure.
102111 2005-08-31  Bruno Haible  <bruno@clisp.org>
102113         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
102114         Create directories that shall be filled.
102115         (import): Don't look for gl_* macros in configure.ac. Recurse across
102116         all directories containing a gnulib-cache.m4 files, if meaningful.
102118 2005-08-31  Bruno Haible  <bruno@clisp.org>
102120         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
102121         (import): Set seen_libtool when we see gl_LIBTOOL.
102123 2005-08-31  Bruno Haible  <bruno@clisp.org>
102125         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
102126         declaration macro definitions from generated gnulib.m4.
102128 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
102130         * lib/iconvme.h: Add prototype for iconv_alloc.
102132 2005-08-29  Simon Josefsson  <jas@extundo.com>
102134         * lib/iconvme.c: Fix errno.
102136 2005-08-29  Bruno Haible  <bruno@clisp.org>
102138         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
102139         that it works when the directory contains spaces.
102141 2005-08-29  Bruno Haible  <bruno@clisp.org>
102143         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
102145 2005-08-29  Bruno Haible  <bruno@clisp.org>
102147         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
102148         Emit more advice.
102150 2005-08-29  Bruno Haible  <bruno@clisp.org>
102151         and Stepan Kasal  <kasal@ucw.cz>
102153         * check-module: If more parameters are given, check each of them
102154         separately; add more exceptions, as noted by Jim Meyering.
102155         (check_module): New procedure.
102156         (%exempt_header): Now contains all exceptions.
102158 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
102160         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
102162 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
102164         * lib/iconvme.c: Split iconv_string into iconv_alloc.
102166 2005-08-28  Bruno Haible  <bruno@clisp.org>
102168         * m4/gnulib-tool.m4: New file.
102170 2005-08-27  Jim Meyering  <jim@meyering.net>
102172         * modules/unistd-safer (Files): Add pipe-safer.c.
102173         * modules/fcntl-safer (Files): Add creat-safer.c.
102175 2005-08-27  Jim Meyering  <jim@meyering.net>
102177         * m4/stdlib-safer.m4: New file.  From coreutils.
102178         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
102179         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
102180         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
102181         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
102182         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
102184 2005-08-27  Jim Meyering  <jim@meyering.net>
102186         * lib/fopen-safer.c: Merge minor changes from coreutils.
102187         * lib/dup-safer.c: Likewise.
102188         * lib/fd-safer.c: Likewise.
102190         Merge from coreutils.
102191         * lib/stdio--.h: New file.
102192         * lib/stdlib--.h: New file.
102193         * lib/mkstemp-safer.c: New file.
102195         GNU tar needs these.
102196         * lib/pipe-safer.c: New file.
102197         * lib/creat-safer.c: New file.
102198         * lib/fcntl--.h (creat): Define to creat_safer.
102199         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
102200         * lib/unistd--.h (pipe): Define to pipe_safer.
102201         * lib/unistd-safer.h: Declare pipe_safer.
102203 2005-08-26  Simon Josefsson  <jas@extundo.com>
102205         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
102206         Haible <bruno@clisp.org>.
102208 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
102210         * lib/regex_internal.h: Remove all references to
102211         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
102212         or better.
102213         (bitset_not, bitset_merge, bitset_not_merge):
102214         (bitset_mask, re_string_allocate, re_string_construct):
102215         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
102216         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
102217         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
102218         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
102219         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
102220         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
102221         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
102222         (re_acquire_state_context):
102223         Remove unnecessary forward decls.
102224         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
102225         Put __attribute at function definition,
102226         now that the function decl has been removed.
102227         * lib/regex_internal.c (re_string_peek_byte_case):
102228         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
102229         Likewise.
102231 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
102233         * m4/regex.m4: Add AC_PREREQ(2.50).
102234         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
102236 2005-08-25  Simon Josefsson  <jas@extundo.com>
102238         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
102239         __fsetlocking.
102241 2005-08-25  Simon Josefsson  <jas@extundo.com>
102243         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
102244         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
102245         GLIBC specific code.
102247 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
102249         Make regex safe for g++.  This fixes one real bug (an "err"
102250         that should have been "*err").  g++ problem reported by
102251         Sam Steingold.
102252         * lib/regex_internal.h (re_calloc): New macro, consistent with
102253         re_malloc etc.  All callers of calloc changed to use re_calloc.
102254         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
102255         not int.  All callers changed.
102256         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
102257         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
102258         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
102259         (find_recover_state): Change "err" to "*err"; this fixes what
102260         appears to be a real bug.
102261         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
102262         versus int.
102264 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
102266         * modules/regex (Depends-on): Add malloc, since the code
102267         assumes that !malloc(0) means failure.
102269 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
102271         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
102273         alloca modernization/simplification for regex.
102274         * lib/regex.c: Remove portability cruft for alloca.  This no longer
102275         needs to be at the start of the file, and can be moved into
102276         regex_internal.h and simplified.
102277         * lib/regex_internal.h: Include <alloca.h>.
102278         (__libc_use_alloca) [!defined _LIBC]: New macro.
102279         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
102280         now works outside glibc.
102282 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
102284         * config/srclist.txt: Add glibc bugs 1241, 1245.
102286 2005-08-25  Jim Meyering  <jim@meyering.net>
102288         * lib/open-safer.c: Include <config.h>.
102289         Otherwise, we'd lose LARGEFILE support in any file using
102290         e.g. "fcntl--.h"
102292 2005-08-25  Bruno Haible  <bruno@clisp.org>
102294         * m4/minmax.m4: Require autoconf 2.52.
102295         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
102296         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
102297         alternatives of translit over the alphabet.
102298         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
102300 2005-08-24  Simon Josefsson  <jas@extundo.com>
102302         * tests/test-getpass.c: New file.
102304 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
102306         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
102307         for GNU regex features.
102309 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
102311         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
102312         * lib/regex.h (regerror): Likewise.
102314         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
102315         requires this.  (The code never needed it.)
102317         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
102318         All uses of recently-renamed identifiers changed to use the new,
102319         POSIX-compliant names.  The code will build and run just fine
102320         without these changes, but it's better to eat our own dog food
102321         and use the standard-conforming names.
102323         * lib/regex.h: Fix a multitude of POSIX name space violations.
102324         These changes have an effect only for programs that define
102325         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
102326         do not change anything for programs compiled in the normal way.
102327         Also, there is no effect on the ABI.
102329         (_REGEX_SOURCE): New macro.
102330         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
102331         defined and _GNU_SOURCE is not; this fixes a name space violation.
102333         Rename the following macros to obey POSIX requirements.
102334         The old names are still visible as macros if _REGEX_SOURCE is defined.
102335         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
102336         RE_BACKSLASH_ESCAPE_IN_LISTS.
102337         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
102338         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
102339         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
102340         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
102341         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
102342         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
102343         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
102344         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
102345         (REG_INTERVALS): renamed from RE_INTERVALS.
102346         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
102347         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
102348         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
102349         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
102350         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
102351         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
102352         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
102353         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
102354         RE_UNMATCHED_RIGHT_PAREN_ORD.
102355         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
102356         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
102357         (REG_DEBUG): renamed from RE_DEBUG.
102358         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
102359         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
102360         unusual, since we can't clash with the POSIX REG_ICASE.
102361         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
102362         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
102363         (REG_NO_SUB): renamed from RE_NO_SUB.
102364         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
102365         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
102366         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
102367         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
102368         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
102369         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
102370         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
102371         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
102372         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
102373         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
102374         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
102375         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
102376         RE_SYNTAX_POSIX_MINIMAL_BASIC.
102377         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
102378         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
102379         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
102380         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
102381         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
102382         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
102383         (REG_FIXED): Renamed from REGS_FIXED.
102384         (REG_NREGS): Renamed from RE_NREGS.
102386         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
102387         of other REG_* macros, since POSIX says the user is allowed to
102388         #undef these macros selectively.
102390         (reg_errcode_t): Update comment stating what other tables need
102391         to be consistent.
102393         Rename the following enum values to obey POSIX requirements.
102394         The old names are still visible as macros.
102395         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
102396         is not defined, since GNU is supposed to be a superset of POSIX as
102397         much as possible, and since we want reg_errcode_t to be a signed
102398         type for implementation consistency.
102399         (_REG_NOERROR): Renamed from REG_NOERROR.
102400         (_REG_NOMATCH): Renamed from REG_NOMATCH.
102401         (_REG_BADPAT): Renamed from REG_BADPAT.
102402         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
102403         (_REG_ECTYPE): Renamed from REG_ECTYPE.
102404         (_REG_EESCAPE): Renamed from REG_EESCAPE.
102405         (_REG_ESUBREG): Renamed from REG_ESUBREG.
102406         (_REG_EBRACK): Renamed from REG_EBRACK.
102407         (_REG_EPAREN): Renamed from REG_EPAREN.
102408         (_REG_EBRACE): Renamed from REG_EBRACE.
102409         (_REG_BADBR): Renamed from REG_BADBR.
102410         (_REG_ERANGE): Renamed from REG_ERANGE.
102411         (_REG_ESPACE): Renamed from REG_ESPACE.
102412         (_REG_BADRPT): Renamed from REG_BADRPT.
102413         (_REG_EEND): Renamed from REG_EEND.
102414         (_REG_ESIZE): Renamed from REG_ESIZE.
102415         (_REG_ERPAREN): Renamed from REG_ERPAREN.
102416         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
102417         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
102418         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
102419         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
102421         (_REG_RE_NAME, _REG_RM_NAME): New macros.
102422         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
102423         changed.  But support the old name if the new one is not defined
102424         and if _REGEX_SOURCE.
102426         Change the following member names in struct re_pattern_buffer.
102427         The old names are still supported if !_REGEX_SOURCE.
102428         The new names are always supported, regardless of _REGEX_SOURCE.
102429         (re_buffer): Renamed from buffer.
102430         (re_allocated): Renamed from allocated.
102431         (re_used): Renamed from used.
102432         (re_syntax): Renamed from syntax.
102433         (re_fastmap): Renamed from fastmap.
102434         (re_translate): Renamed from translate.
102435         (re_can_be_null): Renamed from can_be_null.
102436         (re_regs_allocated): Renamed from regs_allocated.
102437         (re_fastmap_accurate): Renamed from fastmap_accurate.
102438         (re_no_sub): Renamed from no_sub.
102439         (re_not_bol): Renamed from not_bol.
102440         (re_not_eol): Renamed from not_eol.
102441         (re_newline_anchor): Renamed from newline_anchor.
102443         Change the following member names in struct re_registers.
102444         The old names are still supported if !_REGEX_SOURCE.
102445         The new names are always supported, regardless of _REGEX_SOURCE.
102446         (rm_num_regs): Renamed from num_regs.
102447         (rm_start): Renamed from start.
102448         (rm_end): Renamed from end.
102450         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
102451         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
102452         Prepend __ to parameter names.
102454         Undo yesterday's changes.
102456 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
102458         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
102459         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
102460         lib/regex.c.
102462 2005-08-24  Jim Meyering  <jim@meyering.net>
102464         Sync from coreutils.
102465         * m4/fcntl-safer.m4: New file.
102467         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
102468         and object files for this module.
102470 2005-08-24  Jim Meyering  <jim@meyering.net>
102472         Sync from coreutils.
102473         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
102475 2005-08-24  Jim Meyering  <jim@meyering.net>
102477         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
102478         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
102480 2005-08-24  Jim Meyering  <jim@meyering.net>
102482         * modules/fcntl-safer: New module.
102483         * modules/fts (Depends-on): Add fcntl-safer.
102484         * MODULES.html.sh (File descriptor based Input/Output):
102485         Add fcntl-safer.
102487 2005-08-24  Bruno Haible  <bruno@clisp.org>
102489         Support for unit test modules.
102490         * modules/README: Mention tests modules.
102491         * modules/TEMPLATE-TESTS: New file.
102492         * gnulib-tool: New options --extract-tests-module, --with-tests and
102493         --tests-base (unused for the moment).
102494         (testsbase, inctests): New variables.
102495         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
102496         (func_verify_module): Exclude TEMPLATE-TESTS.
102497         (func_verify_nontests_module, func_verify_tests_module): New functions.
102498         (func_get_dependencies): Add implicit dependency for tests modules.
102499         (func_get_tests_module): New function.
102500         (func_modules_transitive_closure): When --with-tests was specified,
102501         include the unit tests as well, unless explicitly avoided.
102502         (func_emit_lib_Makefile_am): Ignore the tests modules here.
102503         (func_emit_tests_Makefile_am): New function.
102504         (func_create_testdir): When --with-tests was specified, emit a
102505         tests/ directory.
102506         * MODULES.html.sh (Future developments): Update.
102508 2005-08-24  Bruno Haible  <bruno@clisp.org>
102510         * modules/tls-tests: New file.
102511         * tests/test-tls.c: New file, from GNU gettext.
102513 2005-08-24  Bruno Haible  <bruno@clisp.org>
102515         * modules/lock-tests: New file.
102516         * tests/test-lock.c: New file, from GNU gettext.
102518 2005-08-24  Bruno Haible  <bruno@clisp.org>
102520         * lib/lock.h: Add multiple inclusion guard.
102521         * lib/tls.h: Add multiple inclusion guard.
102523 2005-08-24  Bruno Haible  <bruno@clisp.org>
102525         * gnulib-tool: Add support for the --aux-dir option to
102526         --create-testdir, --create-megatestdir, --test, --megatest.
102527         (func_create_testdir, func_create_megatestdir): Optionally emit a
102528         AC_CONFIG_AUX_DIR directive.
102529         (create-testdir, create-megatestdir, test, megatest): Provide a
102530         default value for $auxdir.
102532 2005-08-24  Bruno Haible  <bruno@clisp.org>
102534         * gnulib-tool (import): Use compound statement instead of subshell
102535         where possible.
102537 2005-08-24  Bruno Haible  <bruno@clisp.org>
102539         * gnulib-tool (import): Change --aux-dir default to "build-aux".
102541 2005-08-24  Bruno Haible  <bruno@clisp.org>
102543         * gnulib-tool (func_version): Update.
102545 2005-08-24  Bruno Haible  <bruno@clisp.org>
102547         * gnulib-tool (func_import, func_create_testdir,
102548         func_create_megatestdir): Quote all autoconf macro arguments.
102550 2005-08-24  Bruno Haible  <bruno@clisp.org>
102552         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
102553         option --force, because --force causes the aclocal.m4 of each
102554         subdirectory to be newer than the corresponding config.h.in.
102556 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
102558         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
102559         All contents moved to gl_REGEX.
102560         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
102561         assume that it does.
102563 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
102565         * lib/regex.h (REG_NOSYS)
102566         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
102567         Define, since POSIX requires it as of 2001.
102568         (_REG_ENOSYS)
102569         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
102570         New private symbol, used to keep the enum signed in all cases.
102571         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
102572         Youngman in
102573         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
102575         * lib/regex_internal.c (re_string_skip_chars, register_state):
102576         (calc_state_hash):
102577         Remove forward decls; no longer needed now that we use prototypes.
102578         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
102579         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
102580         (clean_state_log_if_needed): Likewise.
102582 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
102584         * config/srclist.txt: Add glibc bugs 1231-1233.
102586 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
102588         Fix problems reported by Sam Steingold in
102589         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
102590         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
102591         assumed that reg_errcode_t is a signed type, which is not
102592         necessarily true if _XOPEN_SOURCE is not defined.
102593         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
102594         since some compilers warn about it otherwise.
102596 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
102598         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
102599         (init_word_char, create_initial_state, duplicate_node_closure):
102600         (fetch_token, peek_token_bracket, build_range_exp):
102601         (build_collating_symbol): Remove forward decls; no longer needed
102602         now that we use prototypes.
102604         * lib/regcomp.c:
102605         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
102606         (re_compile_fastmap_iter, regcomp, regerror, regfree):
102607         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
102608         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
102609         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
102610         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
102611         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
102612         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
102613         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
102614         (build_range_exp, build_collating_symbol, parse_bracket_exp):
102615         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
102616         (build_charclass, build_charclass_op, fetch_number, create_tree):
102617         (create_token_tree, mark_opt_subexp, duplicate_tree):
102618         Use prototypes rather than old-style definitions.
102620         * lib/regex_internal.c:
102621         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
102622         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
102623         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
102624         (re_string_reconstruct, re_string_peek_byte_case):
102625         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
102626         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
102627         (re_node_set_init_copy, re_node_set_add_intersect):
102628         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
102629         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
102630         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
102631         (re_acquire_state, re_acquire_state_context, register_state):
102632         (create_ci_newstate, create_cd_newstate, free_state):
102633         Likewise.
102634         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
102635         re_search_2):
102636         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
102637         (re_search_internal, prune_impossible_nodes):
102638         (acquire_init_state_context, check_matching, static):
102639         (check_halt_node_context, check_halt_state_context, proceed_next_node):
102640         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
102641         (update_regs, sift_states_backward, build_sifted_states):
102642         (clean_state_log_if_needed, merge_state_array):
102643         (update_cur_sifted_state, add_epsilon_src_nodes):
102644         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
102645         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
102646         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
102647         (find_recover_state, check_subexp_matching_top, transit_state_mb):
102648         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
102649         (check_arrival, check_arrival_add_next_nodes):
102650         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
102651         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
102652         (check_node_accept_bytes, check_node_accept, extend_buffers):
102653         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
102654         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
102655         (sift_ctx_init):
102656         Likewise.
102658         * lib/regex_internal.h:
102659         (re_string_allocate, re_string_construct, re_string_reconstruct):
102660         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
102661         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
102662         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
102663         (re_string_context_at, re_string_peek_byte_case):
102664         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
102665         is defined, since we now use prototypes always.
102667         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
102668         C89 or better.  All uses removed.
102670 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
102672         * config/srclist.txt: Add glibc bugs 1220-1227.
102674 2005-08-20  Jim Meyering  <jim@meyering.net>
102676         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
102677         of unused local, dfa.
102679 2005-08-20  Bruno Haible  <bruno@clisp.org>
102681         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
102683 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
102685         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
102686         (re_node_set_insert_last, re_dfa_add_node):
102687         Rename local variables to avoid GCC shadowing warnings.
102689 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
102691         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
102692         [defined lint]: Suppress bogus uninitialized-variable warnings.
102694         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
102695         and let the caller return REG_ESPACE if out of space.  This
102696         removes an uninitialied-variable warning with GCC 4.0.1, and also
102697         avoids taking the address of a local variable.  All callers
102698         changed.
102700 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
102702         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
102703         $LIBCSRC/posix/regexec.c.
102704         Add glibc bug 1217 for regcomp.c.
102706 2005-08-19  Jim Meyering  <jim@meyering.net>
102708         * lib/regexec.c (proceed_next_node): Redo local variables to
102709         avoid GCC shadowing warnings.
102711 2005-08-18  Bruno Haible  <bruno@clisp.org>
102713         * lib/strstr.c (strstr): Fix return value in multibyte case.
102714         * lib/strcasestr.c (strcasestr): Likewise.
102716 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
102718         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
102720 2005-08-17  Jim Meyering  <jim@meyering.net>
102722         Make the %s format (seconds since the epoch) work for a negative
102723         number and when used with a zero-padded field width, e.g. %015s.
102725         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
102726         label so that it precedes the code to set `digits'.  Otherwise,
102727         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
102728         print `00-22'.  Now, it prints `-0022', as it should.
102730 2005-08-17  Bruno Haible  <bruno@clisp.org>
102732         * modules/strstr (Files): Add m4/mbrtowc.m4.
102733         (Depends-on): Add mbuiter.
102735 2005-08-17  Bruno Haible  <bruno@clisp.org>
102737         * modules/strcasestr: New file.
102738         * MODULES.html.sh (String handling, based on ANSI C 89): Add
102739         strcasestr.
102741 2005-08-17  Bruno Haible  <bruno@clisp.org>
102743         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
102745 2005-08-17  Bruno Haible  <bruno@clisp.org>
102747         * modules/mbuiter: New file.
102748         * MODULES.html.sh (Extended multibyte and wide character utilities):
102749         Add mbuiter.
102751 2005-08-17  Bruno Haible  <bruno@clisp.org>
102753         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
102754         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
102756 2005-08-17  Bruno Haible  <bruno@clisp.org>
102758         * m4/strcasestr.m4: New file.
102760 2005-08-17  Bruno Haible  <bruno@clisp.org>
102762         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
102763         * lib/strstr.c: Completely rewritten, with multibyte locale support.
102765 2005-08-17  Bruno Haible  <bruno@clisp.org>
102767         * lib/strcasestr.h: New file.
102768         * lib/strcasestr.c: New file.
102770 2005-08-17  Bruno Haible  <bruno@clisp.org>
102772         * lib/strcasecmp.c: Use mbuiter.h.
102774 2005-08-17  Bruno Haible  <bruno@clisp.org>
102776         * lib/mbuiter.h: New file.
102778 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
102780         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
102781         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
102782         and gl_GETOPT are both invoked via different paths (as happens
102783         with GNU tar CVS because it uses both argp and getopt), the former
102784         wins.
102786 2005-08-16  Bruno Haible  <bruno@clisp.org>
102788         * modules/tls: New file.
102789         * MODULES.html.sh (Multithreading): Add tls.
102791 2005-08-16  Bruno Haible  <bruno@clisp.org>
102793         * modules/strnlen1: New file.
102794         * MODULES.html.sh (String handling): Add strnlen1.
102796 2005-08-16  Bruno Haible  <bruno@clisp.org>
102798         * modules/strcase (Files): Add m4/mbrtowc.m4.
102799         (Depends-on): Add strnlen1, mbchar.
102801 2005-08-16  Bruno Haible  <bruno@clisp.org>
102803         * modules/mbiter: New file.
102804         * MODULES.html.sh (Extended multibyte and wide character utilities):
102805         Add mbiter.
102807 2005-08-16  Bruno Haible  <bruno@clisp.org>
102809         * modules/mbfile: New file.
102810         * MODULES.html.sh (Extended multibyte and wide character utilities):
102811         Add mbfile.
102813 2005-08-16  Bruno Haible  <bruno@clisp.org>
102815         * modules/mbchar: New file.
102816         * MODULES.html.sh (Extended multibyte and wide character utilities):
102817         New section.
102819 2005-08-16  Bruno Haible  <bruno@clisp.org>
102821         * m4/tls.m4: New file, from GNU gettext.
102823 2005-08-16  Bruno Haible  <bruno@clisp.org>
102825         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
102826         always.
102827         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
102829 2005-08-16  Bruno Haible  <bruno@clisp.org>
102831         * m4/mbiter.m4: New file.
102833 2005-08-16  Bruno Haible  <bruno@clisp.org>
102835         * m4/mbfile.m4: New file.
102837 2005-08-16  Bruno Haible  <bruno@clisp.org>
102839         * m4/mbchar.m4: New file.
102841 2005-08-16  Bruno Haible  <bruno@clisp.org>
102843         * lib/tls.h: New file, from GNU gettext.
102844         * lib/tls.c: New file, from GNU gettext.
102846 2005-08-16  Bruno Haible  <bruno@clisp.org>
102848         * lib/strnlen1.h: New file.
102849         * lib/strnlen1.c: New file.
102851 2005-08-16  Bruno Haible  <bruno@clisp.org>
102853         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
102854         (mbi_init): Update.
102855         (mbi_avail, mbi_advance): Let the iteration end before the terminating
102856         NUL byte, not after it.
102858 2005-08-16  Bruno Haible  <bruno@clisp.org>
102860         * lib/strcase.h (strcasecmp): Add note in comments.
102861         * lib/strncasecmp.c: Use code from strcasecmp.c.
102862         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
102863         (strcasecmp): Work correctly in multibyte locales.
102865 2005-08-16  Bruno Haible  <bruno@clisp.org>
102867         * lib/mbiter.h: New file.
102869 2005-08-16  Bruno Haible  <bruno@clisp.org>
102871         * lib/mbfile.h: New file.
102873 2005-08-16  Bruno Haible  <bruno@clisp.org>
102875         * lib/mbchar.h: New file.
102876         * lib/mbchar.c: New file.
102878 2005-08-16  Bruno Haible  <bruno@clisp.org>
102880         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
102881         the valid ones. Makes the comparison operations transitive:
102882         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
102883         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
102885 2005-08-15  Simon Josefsson  <jas@extundo.com>
102887         * modules/ssize_t (License): Change to 'unlimited'.
102889         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
102891 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
102893         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
102894         Add comments for each pending glibc patch.
102896 2005-08-15  Bruno Haible  <bruno@clisp.org>
102898         * lib/regex.h (__restrict_arr): Don't define to __restrict if
102899         __cplusplus is defined.
102901 2005-08-14  Jim Meyering  <jim@meyering.net>
102903         Sync from coreutils.
102905         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
102906         Use the hash-table-based cycle-detection code not just when
102907         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
102908         Reported by James Youngman in
102909         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
102910         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
102911         FTS_TIGHT_CYCLE_CHECK.
102912         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
102913         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
102914         once again.
102915         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
102916         * lib/fts.c (fd_safer): Remove decl.
102917         Include fcntl--.h rather than unistd-safer.h
102918         (fts_safe_changedir): Don't call fd_safer; no longer needed
102919         now that we include fcntl--.h.
102921 2005-08-12  Simon Josefsson  <jas@extundo.com>
102923         * modules/getndelim2: Use ssize_t module.
102924         * modules/getnline: Likewise.
102925         * modules/safe-read: Likewise.
102926         * modules/xreadlink: Likewise.
102928         * modules/ssize_t: New file.
102930 2005-08-12  Simon Josefsson  <jas@extundo.com>
102932         * m4/readline.m4: Look for termcap, curses or ncurses if required.
102934 2005-08-12  Simon Josefsson  <jas@extundo.com>
102936         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
102937         ssize_t.
102939 2005-08-12  Simon Josefsson  <jas@extundo.com>
102941         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
102942         readline, getdelim and check_version.
102943         (Support for systems lacking ISO C 99: Sizes of integer types):
102944         Add size_max.
102946 2005-08-12  Bruno Haible  <bruno@clisp.org>
102948         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
102950 2005-08-11  Simon Josefsson  <jas@extundo.com>
102952         * modules/readline: New file.
102954         * modules/strnlen (Files): Add strnlen.h.
102956 2005-08-11  Simon Josefsson  <jas@extundo.com>
102958         * m4/readline.m4: New file.
102960 2005-08-11  Simon Josefsson  <jas@extundo.com>
102962         * lib/readline.h, readline.c: New file.
102964 2005-08-11  Simon Josefsson  <jas@extundo.com>
102966         * doc/gnulib.texi (Initial import, Finishing touches): Mention
102967         gl_AVOID.
102969 2005-08-11  Bruno Haible  <bruno@clisp.org>
102971         * lib/strnlen.h (strnlen): Change parameter name to match comment.
102973 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
102975         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
102977 2005-08-10  Simon Josefsson  <jas@extundo.com>
102979         * tests/test-iconvme.c: New file.
102981 2005-08-10  Simon Josefsson  <jas@extundo.com>
102983         * m4/strnlen.m4: New file.
102985         * m4/strndup.m4: Don't check for strnlen declaration, done in
102986         strnlen.m4.
102988 2005-08-10  Simon Josefsson  <jas@extundo.com>
102990         * lib/strndup.c: Use strnlen.h.
102992         * lib/strnlen.h: New file.
102994 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
102996         * README: Typos.
102998 2005-08-02  Simon Josefsson  <jas@extundo.com>
103000         * modules/readline: New file.
103002 2005-08-02  Simon Josefsson  <jas@extundo.com>
103004         * modules/getdelim: New file.
103006         * modules/getline: Rewrite, don't use getndelim2.
103008 2005-08-02  Simon Josefsson  <jas@extundo.com>
103010         * m4/getline.m4: Separate out getdelim stuff into separate module.
103012         * m4/getdelim.m4: New file.
103014 2005-08-02  Simon Josefsson  <jas@extundo.com>
103016         * lib/getline.h, getline.c: Rewrite.
103018         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
103020 2005-07-31  Bruno Haible  <bruno@clisp.org>
103022         * lib/lock.h (gl_lock_initializer): New macro.
103023         (gl_lock_define_initialized): Use it.
103024         (gl_rwlock_initializer): New macro.
103025         (gl_rwlock_define_initialized): Use it.
103026         (gl_recursive_lock_initializer): New macro.
103027         (gl_recursive_lock_define_initialized): Use it.
103029 2005-07-30  Karl Berry  <karl@gnu.org>
103031         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
103032         Report from Ben Pfaff, regarding getopt.
103034 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
103036         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
103037         normal way.
103038         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
103039         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
103040         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
103041         (gl_GETOPT): Use the new macros.  Most of the implementation
103042         is moved to the new macros.  This is for programs like Emacs
103043         that don't want all the functionality of gl_GETOPT.
103045 2005-07-26  Bruno Haible  <bruno@clisp.org>
103047         * m4/lock.m4: Update from GNU gettext.
103049 2005-07-26  Bruno Haible  <bruno@clisp.org>
103051         * lib/lock.h: Update from GNU gettext.
103052         * lib/lock.c: Update from GNU gettext.
103054 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
103056         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
103057         obsolescent AC_TRY_RUN.  Include the default includes files, for
103058         'exit'.
103060 2005-07-24  Bruno Haible  <bruno@clisp.org>
103062         * modules/visibility: New file.
103063         * MODULES.html.sh (Misc): Add visibility.
103065 2005-07-24  Bruno Haible  <bruno@clisp.org>
103067         * m4/visibility.m4: New file.
103069 2005-07-24  Bruno Haible  <bruno@clisp.org>
103071         * doc/visibility.texi: New file.
103073 2005-07-22  Bruno Haible  <bruno@clisp.org>
103075         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
103076         $(ALLOCA_H), redundant through BUILT_SOURCES.
103077         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
103078         redundant through BUILT_SOURCES.
103079         * modules/byteswap (Makefile.am): Remove explicit dependency on
103080         $(BYTESWAP_H), redundant through BUILT_SOURCES.
103081         * modules/fnmatch (Makefile.am): Remove explicit dependency on
103082         $(FNMATCH_H), redundant through BUILT_SOURCES.
103083         * modules/getopt (Makefile.am): Remove explicit dependency on
103084         $(GETOPT_H), redundant through BUILT_SOURCES.
103085         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
103086         redundant through BUILT_SOURCES.
103087         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
103088         redundant through BUILT_SOURCES.
103089         * modules/stdbool (Makefile.am): Remove explicit dependency on
103090         $(STDBOOL_H), redundant through BUILT_SOURCES.
103091         * modules/stdint (Makefile.am): Remove explicit dependency on
103092         $(STDINT_H), redundant through BUILT_SOURCES.
103093         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
103094         Remove explicit dependency on $(SYSEXITS_H).
103095         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
103097 2005-07-18  Simon Josefsson  <jas@extundo.com>
103099         * lib/check-version.c (check_version): Accept identical versions too.
103101 2005-07-18  Bruno Haible  <bruno@clisp.org>
103103         * modules/lock: New file.
103104         * MODULES.html.sh (Multithreading): New section.
103106 2005-07-18  Bruno Haible  <bruno@clisp.org>
103108         * m4/lock.m4: New file, from GNU gettext.
103110 2005-07-18  Bruno Haible  <bruno@clisp.org>
103112         * lib/lock.h: New file, from GNU gettext.
103113         * lib/lock.c: New file, from GNU gettext.
103115 2005-07-18  Bruno Haible  <bruno@clisp.org>
103117         * lib/lock.h (gl_once_t): New type.
103118         (gl_once_define, gl_once): New macros.
103119         * lib/lock.c (fresh_once): New variable.
103120         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
103121         functions.
103123 2005-07-16  Simon Josefsson  <jas@extundo.com>
103125         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
103126         workaround, suggested by Bruno.
103128 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
103130         * modules/xalloc (Depends-on): Add xalloc-die.
103131         * modules/xvasprintf (Depends-on): Add xalloc-die.
103133 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
103135         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
103136         with a minor change.
103138 2005-07-15  Bruno Haible  <bruno@clisp.org>
103140         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
103141         When using lib/poll.c, define poll as rpl_poll.
103143 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
103145         * modules/argp (Depends-on): Remove unlocked-io.
103147 2005-07-14  Derek Price  <derek@ximbiot.com>
103149         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
103150         for glob symlink bug.
103152 2005-07-14  Bruno Haible  <bruno@clisp.org>
103154         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
103155         Instead, test for *_unlocked function declarations directly.
103157 2005-07-11  Simon Josefsson  <jas@extundo.com>
103159         * modules/size_max: New file.
103161         * modules/xsize: Depend on size_max module for size_max.m4.
103163 2005-07-11  Simon Josefsson  <jas@extundo.com>
103165         * lib/size_max.h: New file.
103167 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
103169         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
103170         copyright symbol and the year.
103171         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
103172         (version_etc_va): Use parameterized copyright notice.
103173         Reword to conform to the current GNU coding standards.
103175 2005-07-11  Karl Berry  <karl@gnu.org>
103177         * doc/gnulib.texi (Quoting): new node.
103178         (Initial import): more info, from Patrice.
103180 2005-07-11  Bruno Haible  <bruno@clisp.org>
103182         * gnulib-tool (func_usage): Document option --avoid.
103183         (Command line options): Handle --avoid.
103184         (func_acceptable): New function.
103185         (func_modules_transitive_closure): Use it.
103187 2005-07-11  Bruno Haible  <bruno@clisp.org>
103189         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
103190         Reported by Jim Meyering.
103192 2005-07-10  Bruno Haible  <bruno@clisp.org>
103194         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
103195         Needed when size_t is smaller than 'unsigned int'.
103196         Reported by Paul Eggert.
103198 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
103200         * modules/argp (Depends-on): Add unlocked-io
103202 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
103204         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
103205         block of defines.
103207 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
103209         * config/srclist.txt: Comment out regcomp.c, since we have a porting
103210         fix now.
103212 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
103213         and Paul Eggert  <eggert@cs.ucla.edu>
103215         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
103216         in wint_t, not wchar_t.  Remove now-unnecessary cast.
103218 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
103220         * modules/regex (Files): Add lib/regex_internal.c,
103221         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
103222         (Depends-on): Add extensions.
103223         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
103225 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
103227         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
103228         pathconf.
103229         * m4/same.m4 (gl_SAME): Likewise.
103230         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
103232         * m4/regex.m4: Adjust to new libc regex implementation.
103233         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
103234         all the .c and .h parts of (the new) regex.
103235         Quote the m4 stuff better.
103236         Check for RE_ICASE bug of old gnulib.
103237         Check for REG_STARTEND of recent libc.
103238         Rename local variables from jm_* to gl_*.
103239         Quote operand of "test -f".
103240         Say "recent enough" version of libc, not "version 2".
103241         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
103242         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
103243         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
103244         Remove check for btowc, isascii.
103245         Require AM_LANGINFO_CODESET.
103247 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
103249         * lib/regex.c, regex.h: Sync from libc.
103250         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
103251         * lib/regexec.c:
103252         New files, synced from libc, except that regex_internal.h
103253         currently has a small porting fix.
103255 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
103257         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
103258         regex_internal.c, regexec.c.
103259         Add regex_internal.h too, but as a comment, since the libc version
103260         is currently broken in gnulib mode.
103262 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
103264         Support programs like Emacs that use gnulib but not gettext.
103265         * MODULES.html.sh (Internationalization functions): Add gettext-h.
103266         * modules/gettext-h: New file.
103267         * modules/gettext (Files): Remove lib/gettext.h.
103268         (Depends-on): Add gettext-h.
103269         (Makefile.am): Remove lib_SOURCES.
103270         * modules/argmatch, modules/c-stack, modules/closeout:
103271         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
103272         * modules/execute, modules/file-type, modules/getaddrinfo:
103273         * modules/getopt, modules/human, modules/javacomp:
103274         * modules/javaexec, modules/mkdir-p, modules/obstack:
103275         * modules/openat, modules/pagealign_alloc, modules/pipe:
103276         * modules/quotearg, modules/regex, modules/rpmatch:
103277         * modules/unicodeio, modules/userspec, modules/version-etc:
103278         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
103279         * modules/xsetenv:
103280         Depend on gettext-h, not gettext.
103282 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
103284         * gnulib-tool (func_import): Add support for 'public domain' license.
103285         * modules/alloca, modules/atexit, modules/memmove:
103286         Now public domain, not GPL.
103287         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
103288         * modules/realloc, modules/strerror, modules/strtod:
103289         Now LGPL, not GPL.
103291 2005-07-05  Bruno Haible  <bruno@clisp.org>
103293         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
103294         autoconf CVS. Needed for mingw.
103296 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
103298         Remove the dependency of the strftime module on the tzset module.
103299         * modules/strftime (Depends-on): Remove dependency on tzset.
103301 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
103303         Remove the dependency of the strftime module on the tzset module.
103304         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
103305         gl_FUNC_TZSET_CLOBBER.
103307 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
103309         Remove the dependency of the strftime module on the tzset module.
103310         * lib/strftime.c (my_strftime)
103311         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
103312         Copy the input structure, to work around some of the bug with
103313         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
103314         Solaris releases, you should also use the tzset module, but we won't
103315         require it as a dependency any more since we don't want LGPLed code
103316         to depend on GPLed code.
103318 2005-07-02  Jim Meyering  <jim@meyering.net>
103320         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
103321         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
103322         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
103323         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
103325 2005-07-02  Jim Meyering  <jim@meyering.net>
103327         * lib/backupfile.c (backup_args): Change a `0' to NULL.
103329 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
103331         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
103332         declares only 'struct timespec;' (!).
103334 2005-07-01  Jim Meyering  <jim@meyering.net>
103336         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
103337         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
103338         * lib/save-cwd.c, tempname.c:
103339         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
103340         and don't include <sys/file.h>).
103342 2005-06-29  Jim Meyering  <jim@meyering.net>
103344         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
103345         type name.  Use the variable name instead.
103346         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
103347         Likewise.
103349 2005-06-28  Simon Josefsson  <jas@extundo.com>
103351         * modules/check-version (Files): Add check-version.m4.
103353 2005-06-28  Simon Josefsson  <jas@extundo.com>
103355         * m4/check-version.m4: New file, suggested by Jim Meyering
103356         <jim@meyering.net>.
103358 2005-06-28  Simon Josefsson  <jas@extundo.com>
103360         * lib/check-version.h, lib/check-version.c: New files.
103362 2005-06-28  Simon Josefsson  <jas@extundo.com>
103364         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
103365         collision with global variable.  Better indentation.  Don't
103366         increment buffer pointer beyond buffer end.  Based on comments
103367         from Paul Eggert <eggert@cs.ucla.edu>.
103369         * lib/base64.h: Indent.
103371 2005-06-28  Simon Josefsson  <jas@extundo.com>
103373         * doc/gnulib.texi (Library version handling): New section.
103375 2005-06-28  Jim Meyering  <jim@meyering.net>
103377         * check-module (find_included_lib_files): Hard-code another
103378         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
103379         but modules/fts-lgpl (correctly) does not list those files.
103381         * modules/canonicalize (Files): Add lib/pathmax.h.
103383 2005-06-25  Simon Josefsson  <jas@extundo.com>
103385         * modules/check-version: New file.
103387 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
103389         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
103390         initializer of struct addrinfo, as an indication that we don't
103391         care how many members the structure has.
103393 2005-06-24  Derek Price  <derek@ximbiot.com>
103394         and Bruno Haible  <bruno@clisp.org>
103396         Remove stat module & update lstat.
103397         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
103398         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
103399         * m4/stat.m4: Remove this file.
103401 2005-06-24  Derek Price  <derek@ximbiot.com>
103402         and Bruno Haible  <bruno@clisp.org>
103404         Remove stat module & update lstat.
103405         * lib/stat.c: Remove this file...
103406         (slash_aware_lstat): ...moving this content and its support...
103407         * lib/lstat.c (rpl_lstat): ...into here.
103408         * lib/lstat.h: New file.
103410 2005-06-24  Derek Price  <derek@ximbiot.com>
103411         and Bruno Haible  <bruno@clisp.org>
103413         Remove stat module & update lstat.
103414         * config/srclist.txt (libc sources): Remove stat.
103416 2005-06-24  Derek Price  <derek@ximbiot.com>
103417         and Bruno Haible  <bruno@clisp.org>
103419         Remove stat module & update lstat.
103420         * MODULES.html.sh (stat): Remove.
103421         * MODULES.html: Regenerated.
103422         * modules/lstat (Description): Correct function name.
103423         (Files): Add "lstat.h".
103424         (Depends-on): Remove stat, add xalloc, stat-macros.
103425         * modules/stat: Remove this file.
103426         (Include): Add "lstat.h", remove <sys/stat.h>.
103428 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103430         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
103431         (ranged_convert): Don't save conversion in a temporary struct.
103432         This causes a warning with GCC 4.0.0, and anyway in the typical
103433         case it's not worth the extra 100 bytes or so of code.
103434         (ranged_convert, __mktime_internal): When calling a function via a
103435         pointer P, use P () rather than (*P) (), as we now assume C89 or
103436         better.
103438 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
103440         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
103441         "who -r" failed to give output.  Problem reported by Tim Waugh.
103443         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
103444         (xcalloc): Use it to avoid needless tests.
103445         Problem reported by Jim Meyering.
103447 2005-06-20  Derek Price  <derek@ximbiot.com>
103449         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
103450         unnecessary for Autoconfs > 2.59c.
103452 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
103454         * lib/argp.h (__option_is_short): Check upper limit of
103455         __key. Isprint() requires its argument to have the value
103456         of an unsigned char or EOF.
103458 2005-06-16  Jim Meyering  <jim@meyering.net>
103460         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
103461         when either N or S is zero.
103463 2005-06-16  Derek Price  <derek@ximbiot.com>
103465         * m4/bison.m4: Declare YACC & YFLAGS precious.
103467 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
103469         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
103470         multibyte string or pattern, fall back on unibyte matching.
103471         Problem reported by James Youngman.
103473 2005-06-08  Bruno Haible  <bruno@clisp.org>
103475         * modules/csharpcomp: New file.
103476         * MODULES.html.sh (C#): Add csharpcomp.
103478 2005-06-08  Bruno Haible  <bruno@clisp.org>
103480         * m4/csharpcomp.m4: New file, from GNU gettext.
103482 2005-06-08  Bruno Haible  <bruno@clisp.org>
103484         * lib/csharpcomp.h: New file, from GNU gettext.
103485         * lib/csharpcomp.c: New file, from GNU gettext.
103486         * lib/csharpcomp.sh.in: New file, from GNU gettext.
103488 2005-06-08  Bruno Haible  <bruno@clisp.org>
103490         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
103491         warning on mingw.
103493 2005-06-07  Derek Price  <derek@ximbiot.com>
103495         Sync from CVS.
103496         * lib/glob_.h: Indent nested #ifdef.
103498 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
103500         Sync from coreutils.
103501         Use "file name" when talking about file names, instead of "filename"
103502         or "path", as per the GNU coding standards.
103503         * lib/mkdir-p.c: Renamed from makepath.c.
103504         (make_dir_parents): Renamed from make_path.  All callers changed.
103505         * lib/mkdir-p.h: Likewise.  All includers changed.
103506         * lib/filenamecat.c: Renamed from path-concat.c.
103507         (file_name_concat): Renamed from path_concat.  All callers changed.
103508         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
103509         * lib/filenamecat.h: Likewise.  All includers changed.
103510         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
103511         in comments or local variable names.
103512         * lib/basename.c: Likewise.
103513         * lib/canonicalize.c, canonicalize.h: Likewise.
103514         * lib/dirname.c, dirname.h: Likewise.
103515         * lib/euidaccess.c: Likewise.
103516         * lib/exclude.c: Likewise
103517         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
103518         * lib/fsusage.c, fsuage.h: Likewise.
103519         * lib/fts.c, fts_.h: Likewise.
103520         * lib/getcwd.c: Likewise.
103521         * lib/getloadavg.c: Likewise.
103522         * lib/mkstemp.c: Likewise.
103523         * lib/mountlist.c, mountlist.h: Likewise.
103524         * lib/openat.c, openat.h: Likewise.
103525         * lib/readlink-stub.c: Likewise.
103526         * lib/readutmp.c, readutmp.h: Likewise.
103527         * lib/rename.c: Likewise.
103528         * lib/rmdir.c: Likewise.
103529         * lib/same.c: Likewise.
103530         * lib/savedir.c: Likewise.
103531         * lib/stripslash.c: Likewise.
103532         * lib/tempname.c: Likewise.
103533         * lib/xreadlink.c: Likewise.
103534         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
103535         All uses changed.
103536         * lib/exclude.h: Likewise.
103538         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
103539         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
103540         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
103541         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
103542         * lib/pathmax.h: Include <limits.h> unconditionally, since other
103543         files have been getting away with it for years (MORE/BSD 4.3
103544         is extinct now).
103545         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
103546         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
103548         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
103549         Define to 256, not 255, as per modern POSIX.
103551 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
103553         Sync from coreutils.
103554         Use "file name" when talking about file names, instead of "filename"
103555         or "path", as per the GNU coding standards.
103556         * MODULES.html.sh: mkdir-p renamed from makepath.
103557         filenamecat renamed from path-concat.
103558         * modules/filenamecat: Renamed from modules/path-concat.
103559         (Files): filenamecat.h and filenamecat.c renamed from
103560         path-concat.h and path-concat.c.
103561         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
103562         (Include): filenamecat.h, not path-concat.h.
103563         * modules/mkdir-p: Renamed from modules/makepath.
103564         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
103565         makepath.c.
103566         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
103567         (Include): mkdir-p.h, not makepath.h.
103569 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
103571         Sync from coreutils.
103572         * m4/mkdir-p.m4: Renamed from makepath.m4.
103573         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
103574         Rename files from makepath.c to mkdir-p.c, and from
103575         makepath.h to mkdir-p.h.
103576         * m4/filenamecat.m4: Renamed from path-concat.m4.
103577         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
103578         Rename files from path-concat.c to filenamecat.c,
103579         and from path-concat.h to filenamecat.h.
103580         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
103581         "file name" in local variables or comments.
103582         * m4/rename.m4: Likewise.
103584 2005-06-01  Bruno Haible  <bruno@clisp.org>
103586         * modules/csharpexec: New file.
103587         * MODULES.html.sh (C#): New section.
103589 2005-06-01  Bruno Haible  <bruno@clisp.org>
103591         * m4/csharp.m4: New file, from GNU gettext.
103592         * m4/csharpexec.m4: New file, from GNU gettext.
103594 2005-06-01  Bruno Haible  <bruno@clisp.org>
103596         * lib/csharpexec.h: New file, from GNU gettext.
103597         * lib/csharpexec.c: New file, from GNU gettext.
103598         * lib/csharpexec.sh.in: New file, from GNU gettext.
103600 2005-05-31  Derek Price  <derek@ximbiot.com>
103601             Paul Eggert  <eggert@cs.ucla.edu>
103603         Sync from cvs.
103604         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
103606 2005-05-31  Derek Price  <derek@ximbiot.com>
103607             Paul Eggert  <eggert@cs.ucla.edu>
103609         Sync from cvs.
103610         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
103612 2005-05-29  Derek Price  <derek@ximbiot.com>
103614         * config/srclist.txt (glob_.h, glob.c): Add these files.
103616 2005-05-29  Derek Price  <derek@ximbiot.com>
103618         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
103619         * modules/glob: New file.
103620         * modules/getlogin_r: Add link to POSIX spec in description.
103622 2005-05-29  Derek Price  <derek@ximbiot.com>
103623             Paul Eggert  <eggert@cs.ucla.edu>
103625         * m4/glob.m4: New file.
103627 2005-05-29  Derek Price  <derek@ximbiot.com>
103628             Paul Eggert  <eggert@cs.ucla.edu>
103630         * lib/glob_.h, lib/glob.c: New files.
103632 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
103634         * modules/fts (Files): Remove m4/inttypes-pri.m4.
103635         * modules/fts-lgpl (Depends-on): Remove gettext.
103637 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
103639         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
103640         and don't require gt_INTTYPES_PRI.
103642 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
103644         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
103646         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
103647         the configuration hassle isn't worth it.
103648         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
103649         (LONGEST_MODIFIER, PRIuMAX): Remove.
103651 2005-05-27  Bruno Haible  <bruno@clisp.org>
103653         * lib/getlogin_r.h: Remove second include of <stddef.h>.
103655 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
103657         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
103658         _POSIX_PTHREAD_SEMANTICS for Solaris.
103660 2005-05-25  Derek Price  <derek@ximbiot.com>
103662         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
103664 2005-05-25  Derek Price  <derek@ximbiot.com>
103665             Paul Eggert  <eggert@cs.ucla.edu>
103667         * modules/getlogin_r, m4/getlogin_r.m4: New files.
103668         * lib/getlogin_r.c, getlogin_r.h: New files.
103670 2005-05-25  Bruno Haible  <bruno@clisp.org>
103671             Derek Price  <derek@ximbiot.com>
103673         * lib/getlogin_r.h: Simplify API documentation.
103675 2005-05-23  Derek Price  <derek@ximbiot.com>
103677         * modules/minmax (Files): Add m4/minmax.m4.
103678         (configure.ac): Add gl_MINMAX.
103680 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
103682         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
103683         so that unistd-safer.h (GPL'ed code) need not be included.
103685 2005-05-22  Bruno Haible  <bruno@clisp.org>
103687         * m4/minmax.m4: New file.
103688         Based on a patch by Derek Price <derek@ximbiot.com>.
103690 2005-05-22  Bruno Haible  <bruno@clisp.org>
103692         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
103693         (INT64_MIN): Fix definition.
103694         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
103696         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
103697         NEED_SIGNED_INT_TYPES.
103699         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
103700         HAVE_SYSTEM_INTTYPES.
103702 2005-05-22  Bruno Haible  <bruno@clisp.org>
103704         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
103705         Also include <sys/param.h> if it defines MIN, MAX.
103706         Based on a patch by Derek Price <derek@ximbiot.com>.
103708 2005-05-21  Jim Meyering  <jim@meyering.net>
103710         * modules/fts (Files): Add m4/inttypes-pri.m4.
103711         (Depends-on): Add lstat and remove gettext.  Alphabetize.
103713 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
103715         New fts module.
103716         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
103717         (setup_dir, free_dir): New functions.
103718         (enter_dir, leave_dir): Define trivial
103719         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
103720         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
103721         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
103722         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
103723         Move to fts-cycle.c.
103724         (fts_open): Use setup_dir.
103725         (fts_close): Use free_dir.
103726         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
103727         This adds a label and some gotos, but the alternatives were messier.
103728         Check for memory allocation failure when entering a dir.
103729         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
103730         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
103731         (FTS): New member fts_cycle, that is a union that contains the
103732         old active_dir_ht and cycle_state.  All uses changed to mention
103733         fts_cycle.ht and fts_cycle.state.
103734         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
103735         fts.c, with the following changes:
103736         (setup_dir, free_dir): New functions.
103737         (enter_dir): Now returns bool.  Return true if successful, false
103738         if memory exhausted.  All callers changed.
103739         Do not bother partly cleaning up on
103740         memory allocation failure; that is free_dir's job.
103741         However, free ad if hash_insert fails, to avoid memory leak.
103742         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
103743         fts->fts_options to see which union member to use.
103745 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
103747         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
103748         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
103750 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
103752         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
103754 2005-05-20  Jim Meyering  <jim@meyering.net>
103756         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
103757         Now a macro, to pacify GCC.
103759 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
103761         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
103762         of -1.
103764 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
103766         * lib/chown.c (rpl_chown): Return -1 on failure.
103768 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
103770         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
103771         Don't check for stddef.h.
103772         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
103773         don't use its results.
103774         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
103775         since we include them unconditionally.  Don't require
103776         AM_STDBOOL_H, since stdbool is a prerequisite.
103777         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
103778         since we assume C89 or better.
103779         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
103780         as we don't use their results.
103781         Don't check for fchdir, memmove, memset, strrchr, as we use
103782         them unconditionally.
103783         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
103784         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
103786 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
103788         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
103789         Include <stddef.h> unconditionally, since we assume C89 now.
103790         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
103791         * lib/fts.c: Include fts_.h first, to check interface.
103792         Do not include intprops.h; no longer needed.
103793         Include cycle-check.h and hash.h, since fts_.h no longer does.
103794         Remove unnecessary casts of closedir to void.
103795         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
103796         decide whether to decrement nlinks.
103797         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
103798         (FTS): Use struct hash_table * instead of Hash_table, so that
103799         we no longer need to include hash.h here.
103801 2005-05-18  Jim Meyering  <jim@meyering.net>
103803         * modules/dirfd (License): Change to LGPL.  Most of the code
103804         is already in the public domain.
103806 2005-05-18  Jim Meyering  <jim@meyering.net>
103808         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
103809         Reported by Yoann Vandoorselaere.
103811 2005-05-17  Jim Meyering  <jim@meyering.net>
103813         * m4/fts.m4: New file, from coreutils.
103815 2005-05-17  Jim Meyering  <jim@meyering.net>
103817         * lib/fts.c, lib/fts_.h: New files, from coreutils.
103819 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
103821         Sync from coreutils.
103822         * m4/unlinkdir.m4: New file.
103824 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
103826         Sync from coreutils.
103827         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
103828         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
103829         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
103830         White space changes only.
103831         * lib/makepath.c (make_path): Port to hosts where leading "//" is
103832         special.
103833         * lib/yesno.c: Include getline.h, not ctype.h.
103834         (yesno): Don't remove leading white space; POSIX doesn't allow it.
103835         Use getline to remove arbitrary restriction on response length.
103837 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
103839         * config/srclist-update: Spell out "Street" in FSF postal
103840         mail address; this is the style the FSF seems to prefer.
103842         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
103843         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
103844         this updates FSF postal mail address.
103846         Sync from coreutils.
103847         * modules/unlinkdir: New file.
103848         * modules/yesno (Depends-on): Add getline.
103849         * MODULES.html.sh (File system functions): Add unlinkdir.
103851 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
103853         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
103854         lib/strsep.h:
103855         Change the initial comment to refer to GPL, not LGPL.
103856         gnulib-tool will change it to LGPL as needed.
103858         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
103859         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
103860         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
103861         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
103862         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
103863         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
103864         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
103865         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
103866         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
103867         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
103868         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
103869         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
103870         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
103871         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
103872         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
103873         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
103874         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
103875         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
103876         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
103877         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
103878         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
103879         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
103880         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
103881         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
103882         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
103883         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
103884         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
103885         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
103886         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
103887         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
103888         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
103889         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
103890         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
103891         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
103892         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
103893         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
103894         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
103895         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
103896         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
103897         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
103898         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
103899         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
103900         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
103901         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
103902         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
103903         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
103904         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
103905         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
103906         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
103907         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
103908         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
103909         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
103910         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
103911         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
103912         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
103913         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
103914         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
103915         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
103916         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
103917         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
103918         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
103919         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
103920         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
103921         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
103922         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
103923         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
103924         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
103925         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
103926         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
103927         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
103928         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
103929         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
103930         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
103931         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
103932         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
103933         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
103934         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
103935         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
103936         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
103937         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
103938         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
103939         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
103940         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
103941         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
103942         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
103943         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
103944         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
103945         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
103946         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
103947         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
103948         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
103949         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
103950         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
103951         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
103952         lib/yesno.c, lib/yesno.h:
103953         Update FSF postal mail address.
103955 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
103957         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
103958         tests/test-memmem.c, tests/test-stpncpy.c:
103959         Update FSF postal mail address.
103961 2005-05-13  Bruno Haible  <bruno@clisp.org>
103963         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
103964         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
103965         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
103966         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
103967         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
103968         Add support for 64-bit integers in the MSVC compiler.
103970 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
103972         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
103974 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
103976         * gnulib-tool (func_import): Sort and uniquify recommended includes.
103978 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
103980         * doc/getdate.texi (General date syntax): Don't say that date
103981         date --iso-8601=ns generates acceptable dates; it doesn't yet.
103982         Problem reported by Nic Ferrier.
103984 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
103986         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
103987         specified in ai_socktype. Fix invalid ai_protocol
103988         check. ai_protocol is usually set to 0 or depending on
103989         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
103990         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
103991         ai_socktype / ai_protocol in the returned addrinfo structure.
103993 2005-05-10  Simon Josefsson  <jas@extundo.com>
103995         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
103996         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
103998 2005-05-10  Karl Berry  <karl@gnu.org>
104000         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
104001         (from http://www.gnu.org/licenses).
104002         * doc/COPYING.LIB: also rename to COPYING.LESSER.
104003         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
104004         fdl.texi suffices.
104006 2005-05-10  Karl Berry  <karl@gnu.org>
104008         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
104009         (COPYING.DOC): remove.
104011         * config/srclist-update: new FSF address.
104013 2005-05-10  Derek Price  <derek@ximbiot.com>
104015         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
104016         possible.
104018 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
104019             Bruno Haible  <bruno@clisp.org>
104021         * modules/inet_ntop: New file.
104022         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
104023         inet_ntop.
104025 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
104026             Bruno Haible  <bruno@clisp.org>
104028         * m4/inet_ntop.m4: New file.
104030 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
104031             Bruno Haible  <bruno@clisp.org>
104033         * lib/inet_ntop.h: New file.
104034         * lib/inet_ntop.c: New file, from glibc with modifications.
104036 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
104038         * modules/time_r (License): Change to LGPL.
104039         * modules/extensions (License): Change to LGPL.  Actually,
104040         the license is more permissive than that, but currently gnulib-tool
104041         doesn't know how to handle more-permissive licenses.
104043         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
104044         Problem reported by Dave Love.
104046 2005-05-08  Jim Meyering  <jim@meyering.net>
104048         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
104049         blank.
104051 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
104053         * modules/argmatch (Depends-on): Add stdbool.
104054         * modules/backupfile (Depends-on): Likewise.
104055         * modules/chdir-long (Depends-on): Likewise.
104056         * modules/closeout (Depends-on): Likewise.
104057         * modules/cycle-check (Depends-on): Likewise.
104058         * modules/dirname (Depends-on): Likewise.
104059         * modules/fnmatch (Depends-on): Likewise.
104060         * modules/fsusage (Depends-on): Likewise.
104061         * modules/fwriteerror (Depends-on): Likewise.
104062         * modules/getcwd (Depends-on): Likewise.
104063         * modules/getloadavg (Depends-on): Likewise.
104064         * modules/hard-locale (Depends-on): Likewise.
104065         * modules/makepath (Depends-on): Likewise.
104066         * modules/mountlist (Depends-on): Likewise.
104067         * modules/nanosleep (Depends-on): Likewise.
104068         * modules/posixtm (Depends-on): Likewise.
104069         * modules/quotearg (Depends-on): Likewise.
104070         * modules/readtokens (Depends-on): Likewise.
104071         * modules/readtokens0 (Depends-on): Likewise.
104072         * modules/readutmp (Depends-on): Likewise.
104073         * modules/save-cwd (Depends-on): Likewise.
104074         * modules/strftime (Depends-on): Likewise.
104075         * modules/userspec (Depends-on): Likewise.
104076         * modules/utimecmp (Depends-on): Likewise.
104077         * modules/xgetcwd (Depends-on): Likewise.
104078         * modules/xnanosleep (Depends-on): Likewise.
104079         * modules/xstrtod (Depends-on): Likewise.
104080         * modules/yesno (Depends-on): Likewise.
104082 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
104084         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
104085         needless checks.
104087 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
104089         Merge from coreutils.  Among other things,
104090         add bulletproofing for cases where stdin, stdout, or stderr are closed.
104091         * lib/fd-safer.c: New file.
104092         * lib/fcntl-safer.h, open-safer.c: Remove.
104093         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
104094         * lib/dup-safer.c: Include unistd-safer.h first.
104095         Don't include errno.h.
104096         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
104097         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
104098         * lib/file-type.c: Rely on file-type.h change.
104099         * lib/getloadavg.c: Include unistd-safer.h.
104100         (getloadavg): Use safer open.
104101         * lib/getusershell.c: Include "stdio-safer.h".
104102         (getusershell): Use safer fopen.
104103         * lib/long-options.c (long_options): Use NULL rather than 0.
104104         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
104105         'free'.
104106         * lib/modechange.c: Likewise.
104107         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
104108         (MODE_DONE): New constant.
104109         (struct mode_change): Remove 'next' member.
104110         (make_node_op_equals): New function; like the old one of the
104111         same name, except it allocates an array.
104112         (mode_compile, mode_create_from_ref): Use it.
104113         (mode_compile): Allocate result as an array, not a linked list.
104114         Parse octal string ourself, so that we catch mistakes like "+0".
104115         (mode_adjust): Arg is an array, not a linked list.
104116         * lib/modechange.c: Include stat-macros.h, xalloc.h.
104117         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
104118         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
104119         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
104120         Remove.  This is now stat-macros.h's job.
104121         (talloc): Remove.  All callers replaced by xalloc, so that
104122         our invokers don't have to worry about reporting memory failures.
104123         (make_node_op_equals): Remove.
104124         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
104125         New constants.
104126         (struct mode_change): Moved here from modechange.h.
104127         (mode_append_entry): Remove.
104128         (mode_compile): Remove MASKED_OPS arg, since it encouraged
104129         apps to have incorrect behavior.  Use simpler algorithm for head
104130         and tail.  Don't futz with umask; that's now the job of mode_adjust.
104131         Detect more invalid usages rather than having somewhat-random behavior.
104132         Don't insert an "a=" action, as that leads to incorrect behavior.
104133         (mode_compile, mode_create_from_ref): Return NULL on error instead
104134         of an enum, since now there's only one way to have an error.  All
104135         callers changed.
104136         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
104137         at the correct time.  Simplify calculation of "+u" and its ilk.
104138         Don't mishandle "+X".
104139         (mode_free): Remove "register" and localize decls.
104140         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
104141         (struct mode_change): Move to modechange.c; callers don't
104142         need to see this stuff.
104143         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
104144         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
104145         (mode_change, mode_adjust): Reflect the new signatures noted above.
104146         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
104147         that might redefine system include files.
104148         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
104149         (my_usleep): Use NULL rather than (void *) 0.
104150         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
104151         Use siginterrupt to specify that system calls should be interrupted.
104152         (rpl_nanosleep): Move initialization of suspended closer to call of
104153         my_usleep.
104154         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
104155         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
104156         (desirable_utmp_entry): New function.
104157         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
104158         using x2nrealloc, to simplify logic.
104159         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
104160         size calculation.  Do not assume utmp file is a regular file.
104161         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
104162         (READ_UTMP_CHECK_PIDS): New constant.
104163         * lib/save-cwd.c: Include unistd-safer.h.
104164         (save_cwd): Use fd_safer.
104165         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
104166         [!_LIBC] Include "stat-macros.h" instead.
104167         * lib/unistd-safer.h (fd_safer): New decl.
104169 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
104171         * modules/getloadavg (Depends-on): Add unistd-safer.
104172         * modules/getusershell (Depends-on): Add stdio-safer.
104173         * modules/lstat (Depends-on): Remove xalloc.
104174         * modules/mkstemp (Depends-on): Add stat-macros.
104175         * modules/modechange (Depends-on): Remove xstrtol.
104176         Add stat-macros, xalloc.
104177         * modules/save-cwd (Depends-on): Add unistd-safer.
104178         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
104179         * modules/unistd-safer (Files): Add lib/fd-safer.c
104180         (Makefile.am): Remove lib_SOURCES.
104182         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
104183         Remove fcntl-safer; unistd-safer supersedes it.
104185 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
104187         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
104188         AC_HEADER_STAT.
104189         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
104190         (gl_PREREQ_CHOWN): Remove.
104191         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
104192         it.  Don't require AC_HEADER_STAT.
104193         (gl_PREREQ_LSTAT): Remove.
104194         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
104195         Don't require AC_HEADER_STAT.
104196         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
104197         (gl_PREREQ_RMDIR): Remove.
104198         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
104199         mention stat-macros.h or AC_HEADER_STAT, since we'll make
104200         the stat-macros module a prerequisite.
104201         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
104202         * m4/filemode.m4 (gl_FILEMODE): Likewise.
104203         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
104204         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
104205         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
104206         variable names.
104207         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
104208         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
104209         variable prefixes.
104210         * m4/fcntl-safer.m4: Remove.
104211         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
104212         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
104213         Invoke gl_PREREQ_FD_SAFER.
104214         (gl_PREREQ_FD_SAFER): New macro.
104215         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
104216         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
104217         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
104218         Remove duplicate call to AC_LIBOBJ(readutmp).
104219         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
104221         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
104222         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
104224 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
104226         * MODULES.html.sh (Misc): Add byteswap.
104228 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
104230         * modules/getcwd (Depends-on): Add extensions.
104231         * modules/openat (Depends-on): Likewise.
104233 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
104235         * modules/byteswap: New file.
104237 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
104239         * m4/byteswap.m4: New file.
104241 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
104243         * lib/byteswap_.h: New file.
104245 2005-04-25  Karl Berry  <karl@gnu.org>
104247         * m4/gettext.m4: Update from GNU gettext 0.14.4.
104249 2005-04-25  Albert Chin  <china@thewrittenword.com>
104251         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
104252         Toolkit C bug.
104254 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
104256         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
104257         (func_ln_if_changed): Remove forcibly for no error message
104258         in case file does not exist.
104260 2005-04-19  Simon Josefsson  <jas@extundo.com>
104262         * gnulib-tool (Options): Make --symlink mean --symbolic.
104264 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
104266         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
104268 2005-04-16  Simon Josefsson  <jas@extundo.com>
104270         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
104272 2005-04-15  Simon Josefsson  <jas@extundo.com>
104274         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
104276 2005-04-15  Simon Josefsson  <jas@extundo.com>
104278         * gnulib-tool: Rename --symlink to --symbolic.
104280 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
104282         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
104283         symbolic links to files instead of copying/moving.  Add --aux-dir,
104284         specifying directory relative --dir where auxiliary build tools
104285         are placed.
104287 2005-04-14  Bruno Haible  <bruno@clisp.org>
104289         * modules/allocsa (License): Change to LGPL.
104290         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
104292 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
104294         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
104295         that "UTC +1 second" continues to work.  Problem reported
104296         by Dmitry V. Levin.
104297         (relunit_snumber): New rule.
104298         (relunit): Use it.
104300 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
104302         * lib/getdate.y (universal_time_zone_table): New constant.
104303         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
104304         universal_time_zone_table.
104305         (lookup_zone): Prefer universal_time_zone_table to
104306         local_time_zone_table, so that "GMT" time stamps are allowed in
104307         London during the summer.  Problem reported by Ian Abbott.
104309 2005-04-12  Jim Meyering  <jim@meyering.net>
104311         * lib/human.c (humblock): Set *options even when returning due to
104312         xstrtoumax conversion failure.  Thanks to a used-uninitialized
104313         warning from gcc-4.
104315 2005-04-09  Jim Meyering  <jim@meyering.net>
104317         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
104318         -Wuninitialized: initialize tm0.tm_year.
104320 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
104322         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
104323         count, since there's no maximum.  All uses changed.
104324         Add member dsts_seen.
104325         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
104326         not being INT_MAX.
104327         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
104328         Use pc_rels_seen to decide whether a date is absolute.
104330         * lib/getdate.y (number): Don't overwrite year.
104331         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
104332         check.
104334 2005-04-02  Simon Josefsson  <jas@extundo.com>
104336         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
104337         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
104339 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
104341         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
104342         where no absolute path name can be longer than PATH_MAX.
104344 2005-03-27  Jim Meyering  <jim@meyering.net>
104346         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
104348 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
104350         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
104351         "one's complement" -> "ones' complement" in comment, as per Knuth.
104352         "value of type" -> "type or expression" in comment.
104353         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
104355 2005-03-26  Jim Meyering  <jim@meyering.net>
104357         Comment nits.
104358         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
104359         Correct typos: s/or/of/.
104361 2005-03-26  Jim Meyering  <jim@meyering.net>
104363         * modules/check-include-files: Move to ../ and rename to...
104364         * check-module: ...this.
104366 2005-03-25  Jim Meyering  <jim@meyering.net>
104368         * modules/xvasprintf (Files): Add xalloc.h.
104370 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
104372         * modules/gettext (Files): config/config.rpath ->
104373         build-aux/config.rpath
104374         * modules/iconv (Files): Likewise.
104375         Problem reported by Oskar Liljeblad.
104377 2005-03-23  Jim Meyering  <jim@meyering.net>
104379         * modules/check-include-files: New script to check for
104380         missing dependencies, multiple includes, etc.
104382         * modules/c-strtold (Depends-on): Add xalloc.
104383         * modules/c-strtod (Depends-on): Add xalloc.
104384         * modules/hash (Depends-on): Add xalloc.
104385         (Files): Remove lib/xalloc.h.
104387         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
104388         * modules/userspec (Files): Add lib/inttostr.h.
104390 2005-03-23  Jim Meyering  <jim@meyering.net>
104392         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
104394 2005-03-22  Jim Meyering  <jim@meyering.net>
104396         * modules/stat-macros: New module.
104397         * modules/canonicalize, modules/euidaccess, modules/file-type,
104398         * modules/filemode, modules/lchown, modules/makepath,
104399         * modules/rmdir, modules/stat: Depend on new stat-macros module
104400         rather than listing lib/stat-macros.h manually.
104401         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
104403 2005-03-22  Jim Meyering  <jim@meyering.net>
104405         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
104407 2005-03-22  Bruno Haible  <bruno@clisp.org>
104409         * config/srclist.txt: Replace target directory 'config' with
104410         'build-aux'.
104411         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
104412         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
104413         ../build-aux/.
104415 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
104417         * modules/chdir-long (Depends-on): Add mempcpy.
104419         * modules/acl, modules/backupfile, modules/c-strtod,
104420         modules/c-strtold, modules/canon-host, modules/canonicalize,
104421         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
104422         modules/exclude, modules/exitfail, modules/file-type,
104423         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
104424         modules/getdate, modules/getline, modules/getpagesize,
104425         modules/getpass, modules/getugroups, modules/group-member,
104426         modules/hard-locale, modules/hash, modules/human, modules/idcache,
104427         modules/inttostr, modules/long-options, modules/makepath,
104428         modules/md5, modules/memcasecmp, modules/memcoll,
104429         modules/modechange, modules/mountlist, modules/path-concat,
104430         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
104431         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
104432         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
104433         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
104434         modules/strftime, modules/strndup, modules/strverscmp,
104435         modules/timespec, modules/unlocked-io, modules/userspec,
104436         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
104437         modules/yesno:
104438         Remove lib_SOURCES line from Makefile.am section, as this is now
104439         done automatically by the corresponding Autoconf macro.
104441 2005-03-21  Jim Meyering  <jim@meyering.net>
104443         Changes imported from coreutils.
104445         * lib/cycle-check.c: Don't include xalloc.h.
104447         * lib/path-concat.c: Don't include assert.h.
104448         (path_concat): Remove assertion that would have triggered
104449         for ABASE starting with more than one slash.
104450         Reported by Andreas Schwab.
104452         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
104453         properly when ABASE is an absolute file name.
104454         Correct the description of this function.
104455         Include <assert.h>.
104456         Add an assertion and a test driver.
104457         This fixes a bug introduced on 2004-07-02.
104458         Andreas Schwab reported the resulting failure of cp --parents:
104459         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
104461 2005-03-21  Jim Meyering  <jim@meyering.net>
104463         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
104464         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
104466 2005-03-21  Jim Meyering  <jim@meyering.net>
104467         and  Paul Eggert  <eggert@cs.ucla.edu>
104469         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
104470         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
104471         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
104472         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
104473         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
104474         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
104475         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
104476         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
104477         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
104478         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
104479         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
104480         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
104481         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
104482         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
104483         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
104484         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
104485         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
104486         for these modules.
104488 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
104490         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
104491         (which shouldn't happen), generate nothing instead of returning 0
104492         immediately, so that nstrftime (NULL, ...) doesn't return 0.
104494 2005-03-16  Bruno Haible  <bruno@clisp.org>
104496         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
104497         HAVE_LONGLONG_64BIT.
104499 2005-03-16  Bruno Haible  <bruno@clisp.org>
104501         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
104502         HAVE_LONGLONG_64BIT.
104504 2005-03-16  Bruno Haible  <bruno@clisp.org>
104506         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
104507         HAVE_LONGLONG_64BIT.
104509 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
104511         * lib/strftime.c (my_strftime): Prepend space to format so that we can
104512         reliably distinguish strftime failure from empty output on POSIX
104513         hosts.
104515 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
104517         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
104518         (iconv_string): Don't guess a size-zero buffer, as that might cause
104519         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
104520         result would be 'too large', where 'too large' is (heuristically)
104521         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
104522         overflow concerns.  This will prevent some unwanted malloc failures
104523         when the inputs are very large.
104525 2005-03-15  Karl Berry  <karl@gnu.org>
104527         * config/srclist.txt (config.rpath): from gettext.
104528         * config/config.rpath: update.
104530 2005-03-15  Bruno Haible  <bruno@clisp.org>
104532         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
104533         to 'negate'.
104535         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
104536         variable.
104538         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
104539         results.
104541 2005-03-14  Simon Josefsson  <jas@extundo.com>
104543         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
104544         <fx@gnu.org>.
104546 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
104548         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
104549         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
104550         intprops.h.
104551         * lib/strtol.c: Likewise.
104553 2005-03-14  Jim Meyering  <jim@meyering.net>
104555         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
104556         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
104557         to be nonzero so that we (and caller) can detect the difference
104558         between a valid zero-length expansion and an error return, even
104559         when the underlying strftime fails before writing anything into
104560         that location.
104562 2005-03-14  Bruno Haible  <bruno@clisp.org>
104564         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
104565         Update from GNU gettext 0.14.3.
104567 2005-03-10  Jim Meyering  <jim@meyering.net>
104569         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
104571 2005-03-10  Jim Meyering  <jim@meyering.net>
104573         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
104574         so that this module works on systems without fchdir.
104576 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
104578         Factor int-properties macros into a single file, except for
104579         glibc-related files.
104580         * lib/intprops.h: New file.
104581         * lib/getloadavg.c: Include it instead of limits.h.
104582         (INT_STRLEN_BOUND): Remove.
104583         * lib/human.c: Include intprops.h.
104584         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
104585         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
104586         302/1000.
104587         * lib/inttostr.h: Include intprops.h instead of limits.h.
104588         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
104589         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
104590         for consistency with intprops.h.
104591         (time_t_is_integer, twos_complement_arithmetic): Use them.
104592         * lib/sig2str.h: Include <signal.h>, intprops.h.
104593         (INT_STRLEN_BOUND): Remove.
104594         * lib/strftime.c (TYPE_SIGNED): Remove.
104595         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
104596         * lib/strtol.c: Adjust comments to match intprops.h.
104597         * lib/userspec.c: Include intprops.h.
104598         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
104599         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
104600         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
104601         instead of rolling our own expressions.
104602         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
104604         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
104605         instead of int.
104606         (my_strftime): Do not mishandle years close to INT_MAX, by doing
104607         the right thing even if adding 1900 would overflow.  Similarly
104608         for tm_mon + 1 and tm_yday + 1.
104609         Make %Y always equivalent to %C%y, and similarly for %G and %g.
104610         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
104611         (DO_SIGNED_NUMBER): New macro.
104612         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
104614 2005-03-07  Bruno Haible  <bruno@clisp.org>
104616         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
104618 2005-03-07  Bruno Haible  <bruno@clisp.org>
104620         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
104622 2005-03-04  Derek R. Price  <derek@ximbiot.com>
104624         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
104625         (func_import): Only replace files via --import when they have actually
104626         changed.
104628 2005-03-03  Derek R. Price  <derek@ximbiot.com>
104630         * m4/mmap-anon.m4: New file.
104631         * m4/pagealign_alloc.m4: New file.
104633 2005-03-03  Derek R. Price  <derek@ximbiot.com>
104634             Bruno Haible  <bruno@clisp.org>
104636         * modules/pagealign_alloc: New file.
104637         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
104639 2005-03-03  Derek R. Price  <derek@ximbiot.com>
104640             Bruno Haible  <bruno@clisp.org>
104642         * lib/pagealign_alloc.h: New file.
104643         * lib/pagealign_alloc.c: New file.
104645 2005-03-03  Bruno Haible  <bruno@clisp.org>
104647         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
104648         Use an all-permissive copyright notice, recommended by RMS.
104650 2005-03-02  Bruno Haible  <bruno@clisp.org>
104652         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
104653         of AIX, the replacement has to be done only after <string.h> is
104654         included, therefore not in config.h. stpncpy.h does the replacement,
104655         and stpncpy.c uses it.
104657 2005-03-02  Bruno Haible  <bruno@clisp.org>
104659         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
104660         stpncpy.c uses it.
104662 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
104664         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
104665         The workaround isn't strictly needed for POSIX conformance, and
104666         it's too much of a pain to configure and maintain.  We'll ask
104667         people to fix their kernels instead.
104668         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
104669         (NANOSLEEP_BUG_WORKAROUND): Remove.
104670         (xnanosleep): Remove the workaround.
104672 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
104674         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
104675         Reported by Derek Price.
104676         (Include): Add "timespec.h".
104678         * modules/xnanosleep (Depends-on): Remove gethrxtime.
104680 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
104682         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
104683         to detect nanosleep bug.
104685 2005-03-01  Bruno Haible  <bruno@clisp.org>
104687         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
104689 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
104691         * modules/gethrxtime: New file.
104692         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
104693         (Depends-on): Add gethrxtime.
104694         (configure.ac): Add gl_XNANOSLEEP.
104695         (Makefile.am): Remove lib_SOURCES line.
104697 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
104699         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
104700         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
104702 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
104704         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
104705         * lib/timespec.h (gettime): Return void, since it always
104706         succeeds now.  All uses changed.
104707         * lib/gettime.c (gettime): Likewise.
104708         [HAVE_NANOTIME]: Prefer nanotime.
104709         Assume gettimeofday succeeds, as POSIX requires.
104710         Assime time () succeeds, since other code already does.
104711         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
104712         (timespec_subtract): Remove.
104713         (NANOSLEEP_BUG_WORKAROUND): New constant.
104714         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
104715         things considerably.  Use it only on GNU/Linux hosts, since the
104716         workaround shouldn't be needed elsewhere.
104718 2005-02-24  Bruno Haible  <bruno@clisp.org>
104720         * modules/gettext (Files): Add m4/glibc2.m4.
104722 2005-02-24  Bruno Haible  <bruno@clisp.org>
104724         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
104725         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
104726         * m4/progtest.m4:
104727         Update from GNU gettext 0.14.2.
104728         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
104730 2005-02-24  Bruno Haible  <bruno@clisp.org>
104732         * lib/localcharset.c: Update from GNU gettext 0.14.2.
104733         * lib/config.charset: Update from GNU gettext 0.14.2.
104735 2005-02-24  Bruno Haible  <bruno@clisp.org>
104737         * lib/gettext.h: Update from GNU gettext 0.14.2.
104739 2005-02-23  Simon Josefsson  <jas@extundo.com>
104741         * m4/iconvme.m4: New file.
104743 2005-02-23  Jim Meyering  <jim@meyering.net>
104745         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
104746         change.
104747         Thanks to Bruno Haible for catching it.
104749 2005-02-22  Simon Josefsson  <jas@extundo.com>
104751         * modules/iconvme: New file.
104753         * MODULES.html.sh: Add iconvme.
104755 2005-02-22  Simon Josefsson  <jas@extundo.com>
104757         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
104759 2005-02-22  Simon Josefsson  <jas@extundo.com>
104761         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
104763 2005-02-22  Jim Meyering  <jim@meyering.net>
104765         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
104766         s/ifndef/ifdef/.
104768 2005-02-20  Neil Conway  <neilc@samurai.com>
104770         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
104771         returned by OSX/Darwin if the specified buffer is not large
104772         enough for the hostname.
104774 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
104776         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
104777         pass it to _help, otherwise the latter coredumps trying to
104778         dereference state.root_argp.
104780 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
104782         * modules/chdir-long (Depends-on): Add memrchr.
104783         * modules/memrchr (Files): Add lib/memrchr.h.
104784         (Include): "memrchr.h".
104786 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
104788         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
104790 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
104792         * lib/memrchr.h: New file.
104793         * lib/chdir-long.c: Include it.
104794         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
104795         Don't bother including stddef.h.
104797 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
104799         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
104800         inclusion.
104801         Include <sys/types.h>, for dev_t.
104802         (ME_DUMMY, ME_REMOTE): Move from here....
104803         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
104804         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
104805         Dmitry V. Levin.
104806         Include mountlist.h first, to test the interface.
104808 2005-01-29  Bruno Haible  <bruno@clisp.org>
104810         * lib/progname.c (program_name): Initialize.
104811         Needed when linking statically on MacOS X.
104813 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
104815         Sync from coreutils.
104816         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
104817         (Depends-on): Add c-strtod.
104818         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
104820 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
104822         Sync from coreutils.
104823         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
104825         Remove files that are specific to coreutils.
104826         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
104828 2005-01-28  Bruno Haible  <bruno@clisp.org>
104830         * modules/javacomp: New file.
104831         * MODULES.html.sh (Java): Add javacomp.
104833 2005-01-28  Bruno Haible  <bruno@clisp.org>
104835         * m4/javacomp.m4: New file, from GNU gettext.
104837 2005-01-28  Bruno Haible  <bruno@clisp.org>
104839         * lib/javacomp.sh.in: New file, from GNU gettext.
104840         * lib/javacomp.h: New file, from GNU gettext.
104841         * lib/javacomp.c: New file, from GNU gettext.
104843 2005-01-26  Simon Josefsson  <jas@extundo.com>
104845         * lib/gai_strerror.c: Use GPL in header.
104847 2005-01-26  Bruno Haible  <bruno@clisp.org>
104849         * modules/javaexec: New file.
104850         * MODULES.html.sh (Java): Add javaexec.
104852 2005-01-26  Bruno Haible  <bruno@clisp.org>
104854         * m4/javaexec.m4: New file, from GNU gettext.
104856 2005-01-26  Bruno Haible  <bruno@clisp.org>
104858         * lib/javaexec.sh.in: New file, from GNU gettext.
104859         * lib/javaexec.h: New file, from GNU gettext.
104860         * lib/javaexec.c: New file, from GNU gettext.
104862 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
104864         * modules/lchown (Depends-on): Remove lchown.h
104866 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
104868         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
104869         must be defined if the header file was not found, in order
104870         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
104872 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
104874         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
104875         initializers for struct pentry_state.
104876         (__argp_error): Check return value of __asprintf
104877         (__argp_failure): Translate error message
104879         * lib/argp-parse.c: Removed braces around the expansion of N_()
104881 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
104883         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
104884         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
104885         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
104886         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
104887         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
104888         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
104889         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
104890         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
104891         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
104892         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
104893         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
104894         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
104895         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
104896         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
104897         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
104898         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
104899         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
104900         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
104901         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
104902         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
104903         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
104904         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
104905         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
104906         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
104907         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
104908         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
104909         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
104910         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
104911         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
104912         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
104913         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
104914         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
104915         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
104916         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
104917         xstrtol.m4, xstrtoumax.m4, yesno.m4:
104918         Use an all-permissive copyright notice, recommended by RMS.
104920 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
104922         * modules/chdir-long (Depends-on): Remove mempcpy.
104924 2005-01-21  Jim Meyering  <jim@meyering.net>
104926         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
104927         same value as for Solaris 9.
104929         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
104930         component length.  This included changing the parameter to be
104931         of type `char *' rather than `char const *'.
104932         * lib/chdir-long.h (chdir_long): Update prototype.
104934         * lib/openat.c (fdopendir, fstatat): New functions.
104935         * lib/openat.h: Include headers required for use of DIR and struct
104936         stat.
104937         [AT_SYMLINK_NOFOLLOW]: Define.
104938         (fdopendir, fstatat): Add prototypes.
104940 2005-01-21  Bruno Haible  <bruno@clisp.org>
104942         * modules/classpath: New file.
104943         * MODULES.html.sh (Java): Add classpath.
104945 2005-01-21  Bruno Haible  <bruno@clisp.org>
104947         * lib/classpath.h: New file, from GNU gettext.
104948         * lib/classpath.c: New file, from GNU gettext.
104950 2005-01-20  Simon Josefsson  <jas@extundo.com>
104952         * modules/version-etc-fsf: New file.
104954 2005-01-20  Simon Josefsson  <jas@extundo.com>
104956         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
104957         * lib/version-etc.c: Remove version_etc_copyright.
104958         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
104959         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
104961 2005-01-20  Simon Josefsson  <jas@extundo.com>
104963         * lib/base64.h (isbase64): Add.
104965         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
104966         using a unsigned prototype, don't inline.
104967         (base64_decode): Use it.
104969 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
104971         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
104972         it.
104974 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
104976         * lib/save-cwd.c (save_cwd): Remove code to support the case
104977         where fchdir is missing or flaky.
104979 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
104981         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
104983 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
104985         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
104986         AC_LIBSOURCES now does this.
104987         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
104988         with new ullong_max module.
104990 2005-01-19  Bruno Haible  <bruno@clisp.org>
104992         * modules/sh-quote: New file.
104993         * MODULES.html.sh (Executing programs): Add sh-quote.
104995 2005-01-19  Bruno Haible  <bruno@clisp.org>
104997         * lib/sh-quote.h: New file, from GNU gettext.
104998         * lib/sh-quote.c: New file, from GNU gettext.
105000 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
105002         Merge from coreutils.
105003         * m4/ullong_max.m4: New file.
105004         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
105005         (gl_MACROS): Assume localeconv exists.
105007 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
105009         Merge changes from coreutils, as described below in several
105010         changelogs dated today.
105012         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
105013         (O_DIRECTORY): Remove; not needed here, since "." must be
105014         a directory.  All uses removed.
105015         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
105016         universal on Suns, and we also need to test for IRIX.
105017         Revamp code to use 'if' rather than '#if'.
105018         Avoid unnecessary comparison of cwd->desc to 0.
105020         * lib/utimens.c (futimens): Robustify the previous patch, by checking
105021         for known valid error numbers rather than observed invalid ones.
105023 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
105025         * modules/ullong_max: New file.
105027         * modules/chdir-long, modules/openat: New files.
105028         * modules/save-cwd (Depends-on): Depend on chdir-long.
105029         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
105031 2005-01-18  Jim Meyering  <jim@meyering.net>
105033         Merge from coreutils.
105034         * m4/chdir-long.m4, m4/openat.m4: New files.
105035         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
105036         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
105037         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
105038         is sane and DOES follow symlinks.  Besides, testing 20 different
105039         systems found no broken chown implementations.
105040         Prompted by a change in rsync's copy of this macro.
105041         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
105043         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
105045         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
105046         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
105047         NULL-means-set-to-current-time semantics.
105048         Remove temporary file immediately, rather than waiting
105049         for configure's at-exit trap code to do it.
105051 2005-01-18  Jim Meyering  <jim@meyering.net>
105053         * lib/version-etc.c (version_etc_copyright): Update copyright date.
105055         * lib/utimens.c (futimens): Account for the fact that futimes
105056         can also fail with errno == ENOSYS or errno == ENOENT.
105057         Patch from Dmitry V. Levin.
105059         Change the name of the robust chdir function from chdir to chdir_long.
105060         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
105061         (restore_cwd): Use chdir_long, not chdir.
105062         * lib/chdir-long.c: Renamed from chdir.c.
105063         * lib/chdir-long.h: Renamed from chdir.h.
105064         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
105065         Hurd.
105067 2005-01-18  Bruno Haible  <bruno@clisp.org>
105069         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
105070         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
105071         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
105072         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
105073         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
105074         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
105075         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
105076         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
105077         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
105078         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
105079         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
105080         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
105081         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
105082         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
105083         Use an all-permissive copyright notice, recommended by RMS.
105085 2005-01-18  Bob Proulx  <bob@proulx.com>
105087         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
105088         simplify offsetof() macro construct to avoid compile failure with
105089         native HP-UX 11.0 ANSI C compiler.
105091 2005-01-17  Bruno Haible  <bruno@clisp.org>
105093         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
105094         redundant because stpncpy.m4 takes care of it.
105096 2005-01-17  Bruno Haible  <bruno@clisp.org>
105098         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
105100 2005-01-17  Bruno Haible  <bruno@clisp.org>
105102         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
105103         used.
105105 2005-01-17  Bruno Haible  <bruno@clisp.org>
105107         * lib/fwriteerror.h (fwriteerror): Change specification to include
105108         fclose.
105109         * lib/fwriteerror.c: Include <stdbool.h>.
105110         (fwriteerror): At the end, close the file stream. Record whether
105111         stdout was already closed.
105113 2005-01-17  Bruno Haible  <bruno@clisp.org>
105115         * lib/execute.c (environ): Declare if needed.
105116         * lib/pipe.c (environ): Likewise.
105117         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
105119 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105121         * modules/argp: Depend on vsnprintf
105123 2005-01-10  Jim Meyering  <jim@meyering.net>
105125         * modules/closeout (Depends-on): Add atexit.
105127 2005-01-06  Bruno Haible  <bruno@clisp.org>
105129         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
105131 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
105133         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
105134         definitions to be after all include files, to avoid collisions.
105135         Problem reported by Bob Proulx.
105137 2005-01-04  Jim Meyering  <jim@meyering.net>
105139         Changes imported from coreutils.
105140         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
105141         as the mkstemp template, use a temporary directory and an
105142         8.3-friendly template to avoid trouble on systems like DJGPP.
105143         Reported by Juan M. Guerrero via Stepan Kasal.
105144         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
105145         close. Remove the temporary directory right away, rather than waiting
105146         for configure's at-exit trap code to do it.
105147         Suggestion from Stepan Kasal.
105149 2005-01-01  Simon Josefsson  <jas@extundo.com>
105151         * gnulib-tool: Print #include directives when --import'ing.
105153 2004-12-28  Simon Josefsson  <jas@extundo.com>
105155         * tests/test-base64.c: Include required header files.  Remove
105156         unused variables.
105158 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
105160         * modules/error (Depends-on): Remove gettext.
105162 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
105164         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
105165         not needed.  This removes a dependency on the gettext module.
105166         [defined _LIBC]: Do not include <libintl.h>; not needed.
105168 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
105170         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
105171         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
105173 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
105175         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
105176         HAVE_DECL_STRTOLD.
105178 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
105180         * modules/getdate (Depends-on): Remove alloca-opt.
105182 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
105184         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
105186 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
105188         * lib/argp-parse.c: Include <stddef.h>.
105189         (alignof, alignto): New macros.
105190         (parser_init): Don't assume that void * is aligned sufficiently
105191         for struct option.
105193         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
105194         need to extend the stack.
105195         (YYINITDEPTH): New macro, so that the initial stack isn't overly
105196         large.
105198 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105200         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
105202 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
105204         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
105205         (2004-10-24) change.  Apparently this was a false alarm.
105207         * modules/getdate: Depend on alloca-opt, not alloca.
105209 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
105211         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
105212         Remove now-obsolete comment about AIX.
105213         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
105214         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
105215         (YYMAXDEPTH): New macro.
105217 2004-12-18  Simon Josefsson  <jas@extundo.com>
105219         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
105221 2004-12-18  Bruno Haible  <bruno@clisp.org>
105223         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
105225 2004-12-18  Bruno Haible  <bruno@clisp.org>
105227         * lib/fatal-signal.c (fatal_signals): Make non-const.
105228         (init_fatal_signals): New function.
105229         (uninstall_handlers, install_handlers): Ignore signals that were set to
105230         SIG_IGN.
105231         (at_fatal_signal): Call init_fatal_signals.
105232         (init_fatal_signal_set): Likewise. Ignore signals that were set to
105233         SIG_IGN.
105234         Reported by Paul Eggert.
105236 2004-12-18  Bruno Haible  <bruno@clisp.org>
105238         * doc/alloca.texi: New file.
105239         * doc/alloca-opt.texi: New file.
105241 2004-12-17  Jim Meyering  <jim@meyering.net>
105243         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
105244         Otherwise, install-sh could exit with improper exit status when
105245         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
105247 2004-12-16  Simon Josefsson  <jas@extundo.com>
105249         * tests/test-base64.c: Add license.
105251 2004-12-15  Stepan Kasal  <address@hidden>
105253         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
105255 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
105257         * modules/getcwd (Files): Add m4/d-ino.m4.
105258         Suggested by Mark D. Baushke.
105260 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
105262         * lib/getdate.y (textint): New member "negative".
105263         (time_zone_hhmm): New function.
105264         Expect 14 shift-reduce conflicts, not 13.
105265         (o_colon_minutes): New rule.
105266         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
105267         (yylex): Set the "negative" member of signed numbers.
105269 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
105271         * doc/getdate.texi (Time of day items, Time zone items):
105272         Describe new formats +00:00, UTC+00:00.
105274 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
105276         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
105277         spurious "-l"s.  Problem reported by Stepan Kasal.
105279 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
105281         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
105282         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
105284 2004-12-04  Simon Josefsson  <jas@extundo.com>
105286         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
105287         Vandoorselaere <yoann@prelude-ids.org>.
105289 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
105291         Changes imported from coreutils.
105292         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
105293         exist.
105294         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
105296 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
105298         Changes imported from coreutils.
105299         * lib/hard-locale.c: Assume <locale.h> exists.
105300         Include "strdup.h".
105301         (GLIBC_VERSION): New macro.
105302         (hard_locale): Assume setlocale exists.
105303         Rewrite to avoid #ifdef.
105304         Use strdup rather than malloc + strcpy.
105305         * lib/human.c: Assume <locale.h> exists.
105306         (human_readable): Assume localeconv exists.
105308 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
105310         * modules/hard-locale (Depends-on): Add strdup.
105312 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
105314         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
105315         convert T2, not T.  (Imported from libc.)
105317 2004-11-30  Simon Josefsson  <jas@extundo.com>
105319         * modules/restrict (License): Change to LGPL.
105321 2004-11-30  Simon Josefsson  <jas@extundo.com>
105323         * m4/restrict.m4: Add copyright and copying conditions.
105325 2004-11-30  Simon Josefsson  <jas@extundo.com>
105327         * m4/base64.m4: New file.
105329 2004-11-30  Simon Josefsson  <jas@extundo.com>
105331         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
105332         base64.
105334         * tests/test-base64.c: New file.
105336         * modules/base64: New file.
105338 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
105340         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
105341         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
105343         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
105345 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
105347         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
105348         (__getcwd.c): Don't restore errno; glibc doesn't.
105349         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
105350         first, falling back to our code only if its results look suspicious.
105351         Ensure that the resulting buffer is only as large as necessary.
105353         * lib/readutmp.c: Include readutmp.h first.
105354         Include <errno.h>, since readutmp.h no longer does that.
105355         * lib/readutmp.h: Don't include <errno.h>,
105356         <sys/param.h>, <time.h>; not needed to establish interface.
105357         (errno): Remove decl.
105358         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
105359         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
105360         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
105362 2004-11-28  Simon Josefsson  <jas@extundo.com>
105364         * lib/base64.h, base64.c: New file.
105366 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
105368         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
105370 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
105372         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
105373         (Depends-on): Remove pathmax, same.  Add mempcpy.
105374         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
105375         (Makefile.am): Append getcwd.h to lib_SOURCES.
105376         (Include): Add getcwd.h.
105377         (Maintainer): Change from Jim Meyering to "all, glibc",
105378         since getdate now uses intended-for-glibc code.
105379         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
105380         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
105382 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
105384         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
105385         HP's ANSI C compiler.
105386         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
105387         Declaring int functions causes warnings on some modern systems and
105388         shouldn't be needed to compile on ancient ones.
105389         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
105390         defined.
105392         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
105393         with the following changes.
105394         (__set_errno): Parenthesize properly.
105395         Include <stdbool.h>.
105396         (MIN, MAX, MATCHING_INO): New macros.
105397         (__getcwd): Define with prototype, not K&R form.
105398         Use heuristics to allocate default buffer on stack if possible.
105399         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
105400         behavior, and to avoid the PATH_MAX limit when computing
105401         ../../../../...
105402         Use MATCHING_INO to compare inode number to file.
105403         Check for arithmetic overflow in size calculations.
105404         Fix bug in reallocation of dot array that caused getcwd to fail
105405         on directories nested deeper than 75.
105406         Be more careful about saving errno on error.
105407         Do not use realloc; use only free+malloc, as this is a bit
105408         more flexible and avoids a needless copy operation.
105409         Do not inspect st_dev and st_ino for symbolic links; POSIX
105410         doesn't specify the latter.
105411         Check for closedir errors.
105412         Avoid needless casts.
105413         Use "#ifdef weak_alias" around weak_alias, to be like other
105414         glibc code.
105415         The following changes to getcwd.c have effect only when used in
105416         gnulib; they have no effect inside glibc proper.
105417         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
105418         as alloca isn't used.
105419         (alloca, __alloca): Likewise.
105420         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
105421         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
105422         unconditionally, as gnulib assumes C89 or better.
105423         Do not include <sys/param.h>.
105424         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
105425         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
105426         better.
105427         (NULL) [!defined NULL]: Remove; we assume C89 or better.
105428         Include <dirent.h> in a way that is compatible with modern Autoconf.
105429         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
105430         New macros, if not already defined.
105431         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
105432         Use "_LIBC", not "defined _LIBC", for consistency.
105433         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
105434         a mempcpy module.
105435         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
105436         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
105437         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
105438         credit only to Jim Meyering and adjust the copyright dates.
105439         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
105440         <stdlib.h>, <unistd.h>, "pathmax.h".
105441         Instead, include "xgetcwd.h" (first) and "getcwd.h".
105442         (INITIAL_BUFFER_SIZE): Remove.
105443         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
105445 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
105447         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
105448         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
105449         Use the _ONCE methods, for efficiency.
105450         Check for fcntl.h.  In test program, include <errno.h>
105451         and <fcntl.h> if available.  Remove old K&R cruft from
105452         test program.  Check for common errors in GNU/Linux,
105453         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
105454         don't do AC_LIBOBJ, as that's getcwd.m4's job.
105455         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
105456         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
105457         name accordingly.
105458         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
105459         accommodate new getcwd.c.
105460         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
105461         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
105462         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
105463         that's all we need now.
105465 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105467         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
105468         argp-parse.c depends on getopt internals, that means we should
105469         always use our getopt, to be on the safe side.
105470         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
105471         order not to spoil the result of an eventual previous invocation
105472         of gl_GETOPT_SUBSTITUTE.
105474 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105476         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
105477         redefinition warnings. To avoid them, include the defines
105478         in `#if !defined __need_getopt ... #endif'. The only place
105479         where __getopt_argv_const is used is in definitions
105480         of getopt_long and getopt_long_only below, which are as well
105481         protected by `#ifndef __need_getopt'.
105482         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
105483         __need_getopt after including <stdio.h> and <unistd.h> These
105484         headers might have defined it.
105486 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
105488         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
105490 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
105492         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
105493         (futimens): New function, which uses futimes if available.
105494         (futimens, utimens): Support timespec==NULL, with same semantics
105495         as utime and utimens.
105496         * lib/utimens.h (futimens): New decl.
105498 2004-11-23  Jim Meyering  <jim@meyering.net>
105500         * lib/getopt_.h: Remove trailing blanks.
105502 2004-11-23  Jim Meyering  <jim@meyering.net>
105504         * lib/__fpending.c: Add comment.
105506 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
105508         * modules/canonicalize (Depends-on): Add xreadlink.
105509         Problem reported by James Youngman.
105511 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
105513         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
105514         New macros.
105515         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
105516         optopt): Use them instead of invoking ## directly; otherwise, the
105517         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
105519 2004-11-19  Bruno Haible  <bruno@clisp.org>
105521         * lib/strtok_r.c: Move comments from here...
105522         * lib/strtok_r.h: ... to here.
105524 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
105526         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
105527         implementations that mishandle size_t overflow.
105529 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
105531         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
105532         might fail.  Problem reported by Yoann Vandoorselaere.
105533         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
105534         implementations that mishandle size_t overflow.
105536 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
105538         * modules/canon-host (Depends-on): Add strdup.
105540 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
105542         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
105544 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
105546         * lib/canon-host.c: Include "strdup.h".
105547         (canon_host): Use getaddrinfo if available, so that IPv6 works.
105548         Use strdup instead of malloc/strcpy to duplicate strings.
105550         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
105551         (human_space_before_unit): New constant.
105552         * lib/human.c (human_readable): Support it.
105554         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
105555         (xgetcwd): Set errno correctly when failing.
105556         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
105557         the failure is actually due to a PATH_MAX problem.
105559         Further getopt changes to make it more likely that glibc will
105560         buy the changes back.
105561         * lib/getopt.c (POSIXLY_CORRECT): New constant.
105562         (getopt): Use it, so to preserve glibc semantic
105563         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
105564         when compiling for libc.
105565         * lib/getopt_.h (__getopt_argv_const): Bring it back.
105566         (getopt_long, getopt_long_only): Use it.
105568         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
105569         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
105570         (getopt): Argv is now char * const *, as per standard.
105571         (_getopt_internal_r, _getopt_internal): Argv is now char **,
105572         not char *__getopt_argv_const *.
105573         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
105574         _getopt_long_only_r): Likewise.
105575         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
105576         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
105577         _getopt_long_r, _getopt_long_only_r): Likewise.
105578         * lib/getopt_.h (__getopt_argv_const): Remove.
105579         (getopt): Argv is now char * const *, as per standard.
105581         * lib/getdate.y (tORDINAL): New token.
105582         (day, relunit): Allow it for relative times.
105583         (relative_time_table): Use tORDINAL for ordinals.
105585 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
105587         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
105588         Document that "second" isn't allowed as an ordinal number.
105590 2004-11-16  Jim Meyering  <jim@meyering.net>
105592         * modules/closeout (Depends-on): Add fpending.
105594 2004-11-15  Jim Meyering  <jim@meyering.net>
105596         * lib/closeout.c: Include "__fpending.h" once again.
105597         Include <stdbool.h>.
105598         (close_stdout): Don't fail just because stdout was closed initially,
105599         since some programs don't write to stdout in the normal course of
105600         operation (other than --version and --help), and we don't want this
105601         function to make e.g. `touch file >&-' fail.
105602         But do fail if it was closed and someone has tried to write to it.
105603         E.g., `printf foo >&-' must fail.
105605 2004-11-13  Jim Meyering  <jim@meyering.net>
105607         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
105609 2004-11-12  Simon Josefsson  <jas@extundo.com>
105611         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
105612         small doc fix is still pending.
105614 2004-11-11  Simon Josefsson  <jas@extundo.com>
105616         * modules/strtok_r: New file.
105618         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
105619         strtok_r.
105621 2004-11-11  Simon Josefsson  <jas@extundo.com>
105623         * m4/strtok_r.m4: New file.
105625         * m4/getopt.m4: Replace opterr.
105627 2004-11-11  Simon Josefsson  <jas@extundo.com>
105629         * lib/strtok_r.h, strtok_r.c: New file.
105631 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
105633         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
105634         of replacing opterr, getopt, etc.  This should handle the
105635         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
105637 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
105639         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
105640         we can stop lying to compilers about the constness of argv when we
105641         are compiled outside glibc.
105642         (getopt, getopt_long, getopt_long_only): Use it.
105643         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
105644         _getopt_internal, getopt): Likewise.
105645         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
105646         _getopt_long_only_r): Likewise.
105647         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
105648         _getopt_long_r, _getopt_long_only_r): Likewise.
105650         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
105651         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
105652         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
105653         the other external symbols.
105654         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
105655         declaration, since the above renaming now works around collisions.
105657 2004-11-11  Jim Meyering  <jim@meyering.net>
105659         * lib/linebreak.c: Remove trailing blanks.
105660         * lib/alloca_.h: Likewise.
105661         * lib/acosl.c: Likewise.
105662         * lib/euidaccess.c: Likewise.
105663         * lib/allocsa.h: Likewise.
105665 2004-11-10  Simon Josefsson  <jas@extundo.com>
105667         * m4/getaddrinfo.m4: New file.
105669 2004-11-10  Simon Josefsson  <jas@extundo.com>
105671         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
105673 2004-11-10  Simon Josefsson  <jas@extundo.com>
105675         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
105676         getaddrinfo.
105678         * modules/getaddrinfo: New file.
105680 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
105682         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
105684 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
105686         * lib/mktime.c (SHR): New macro, which is a portable
105687         substitute for >> that should work even on Crays.
105688         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
105689         Problem reported by Mark D. Baushke in
105690         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
105691         * lib/getdate.y (SHR): Likewise.
105692         (tm_diff): Use it.
105693         * lib/strftime.c (SHR): Likewise.
105694         (tm_diff): Use it.
105695         * lib/quotearg.c (struct quoting_options): Use unsigned int for
105696         quote_these_too, so that right shifts are well defined.  All uses
105697         changed.
105699 2004-11-10  Jim Meyering  <jim@meyering.net>
105701         Ensure that no close failure goes unreported.
105702         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
105703         return early when it seems there's nothing to flush.
105704         Don't include __fpending.h.
105706 2004-11-10  Jim Meyering  <jim@meyering.net>
105708         * modules/closeout (Depends-on): Remove fpending.
105710 2004-11-10  Jim Meyering  <jim@meyering.net>
105712         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
105714 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
105716         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
105717         gl_FUNC_STRFTIME.
105718         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
105719         and AC_REQUIRE when possible, to avoid duplicate checks.
105720         Check for <wchar.h>.
105722 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
105724         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
105726 2004-11-09  Bruno Haible  <bruno@clisp.org>
105728         * m4/sockpfaf.m4: New file.
105730 2004-11-05  Bruno Haible  <bruno@clisp.org>
105732         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
105733         Reported by Mark D. Baushke <mdb@cvshome.org>.
105735 2004-11-04  Bruno Haible  <bruno@clisp.org>
105737         2004-09-11  Bruno Haible  <bruno@clisp.org>
105738                 * allocsa.valgrind: New file.
105739         2004-02-06  Bruno Haible  <bruno@clisp.org>
105740                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
105741                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
105742                 Reported by Christopher Seip <chris.seip@hp.com>.
105744 2004-11-04  Bruno Haible  <bruno@clisp.org>
105746         * modules/allocsa (Files): Add lib/allocsa.valgrind.
105747         (Makefile.am): Distribute it.
105749 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
105751         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
105752         with errno == ERANGE if the buffer is too small.
105753         Problem reported by Mark D. Baushke.
105755 2004-11-03  Albert Chin  <china@thewrittenword.com>
105756             Paul Eggert  <eggert@cs.ucla.edu>
105758         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
105759         equivalent, substitute $ac_type for equivalent type rather than
105760         blindly using uint32_t *always* which won't work if uint32_t is not
105761         available.  Define _UINT32_T to work around typedef of uint32_t if
105762         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
105763         2.5.1.
105765 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
105767         * m4/jm-macros.m4: Sync from coreutils.
105768         (gl_MACROS): Check for mbrlen, for pathchk.
105769         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
105771 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
105773         * lib/xreadlink.c (MAXSIZE): New macro.
105774         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
105775         size does not exceed MAXSIZE.  Avoid cast.
105776         As suggested by Mark D. Baushke in
105777         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
105778         if readlink fails with buffer size just under MAXSIZE, try again
105779         with MAXSIZE.
105781 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
105783         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
105785 2004-11-02  Derek R. Price  <derek@ximbiot.com>
105786         and  Paul Eggert  <eggert@cs.ucla.edu>
105788         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
105789         (get_date): Overparenthesize to avoid GCC warning.
105791 2004-11-02  Bruno Haible  <bruno@clisp.org>
105793         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
105794         returns void.
105796 2004-11-02  Bruno Haible  <bruno@clisp.org>
105798         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
105799         function returns void.
105801 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
105803         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
105804         fflush_unlocked, flockfile, funlockfile, funlockfile,
105805         fputs_unlocked, putc_unlocked.
105807 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
105809         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
105810         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
105811         already declared.
105813 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
105815         * modules/getdate (Files): Add doc/getdate.texi.
105816         (Depends-on): Add setenv, xalloc.
105818 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
105820         * lib/getdate.y: Add support for TZ="foo" within a date string.
105821         Fix some bugs near time_t boundaries.  Reject dates with
105822         out-of-range components, e.g., "Sept 31".
105823         Include <stdlib.h>, "setenv.h", "xalloc.h".
105824         (ISDIGIT_LOCALE): Remove; unused.
105825         Note that the TZ and time functions used here are not reentrant.
105826         (mktime_ok, get_tz): New functions.
105827         (TZBUFSIZE): New constant.
105828         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
105829         This requires that we sometimes generate our own TZ="XXX..." setting.
105831 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
105833         * doc/getdate.texi: New file, from coreutils with modifications for
105834         the new TZ parsing.
105836 2004-10-27  Derek R. Price  <derek@ximbiot.com>
105838         * lib/mktime.c (not_equal_tm): Remove redundant check.
105840 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
105842         * modules/regex (lib_SOURCES): Add regex.c.
105843         Reported by James Youngman in
105844         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
105846 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
105848         * lib/getdate.y: Use Bison 1.875 features, and some minor
105849         code cleanups.  This change does not affect semantics.
105850         Don't include <stdlib.h>; no longer needed.
105851         Don't include unlocked-io.h; only the "#if TEST" code uses
105852         stdio, and performance isn't crucial there.
105853         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
105854         Bison 1.875 features as described below.
105855         All uses of "PC." replaced by "pc->".
105856         (YYSTYPE): Add a forward declaration.
105857         (yylex, yyerror): Use full prototypes in forward decls.
105858         Use "%pure-parser" rather than obsolescent "%pure_parser".
105859         Use %parse-param and %lex-param instead of obsolescent
105860         YYPARSE_PARAM and YYLEX_PARAM.
105861         (meridian_table, month_and_day_table, time_units_table,
105862         relative_time_table, time_zone_table, military_table,
105863         lookup_zone, lookup_word, get_date):
105864         Use NULL instead of 0 where appropriate.
105865         (to_hour): Avoid abort (), to avoid a dependency on
105866         stdlib.h.
105867         (yyerror, yylex): Now accepts parser_control * arg.
105868         (main) [TEST]: Use '\0' rather than 0 for char.
105870 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
105872         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
105874 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
105876         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
105877         It's now the caller's responsibility to handle the case where
105878         !HAVE_GETPAGESIZE && !defined getpagesize.
105880         * lib/mktime.c (leapyear): Arg is long int, not int.
105882 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
105884         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
105886 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
105888         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
105889         missing.  Problem reported by James Youngman.
105891 2004-10-16  Simon Josefsson  <jas@extundo.com>
105893         * gnulib-tool: Fix comments.  Fix parse problem.
105894         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
105896 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
105898         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
105899         implementation of getopt_long.  Problem reported by Alexander Taler in:
105900         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
105902 2004-10-15  Bruno Haible  <bruno@clisp.org>
105904         * gnulib-tool: Untabify. Initialize supplied_libname.
105905         (func_usage): More homogenous output.
105906         (func_modules_transitive_closure, func_modules_to_filelist,
105907         func_emit_lib_Makefile_am): New functions.
105908         (func_import): New function, extracted from big case statement. Use
105909         func_get_license, func_modules_transitive_closure,
105910         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
105911         opt_lgpl. Don't use test -a, as it's not portable.
105912         (func_create_testdir): Use func_modules_transitive_closure,
105913         func_modules_to_filelist, func_emit_lib_Makefile_am.
105915 2004-10-15  Bruno Haible  <bruno@clisp.org>
105917         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
105919 2004-10-15  Bruno Haible  <bruno@clisp.org>
105921         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
105922         the portions belonging to each module.
105923         Suggested by Derek Robert Price <derek@ximbiot.com>.
105925 2004-10-12  Simon Josefsson  <jas@extundo.com>
105927         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
105928         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
105929         to real functions.
105931 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
105933         * modules/vsnprintf: New file.
105935 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
105937         * m4/vsnprintf.m4: New file.
105939 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
105941         * lib/vsnprintf.h: New file.
105942         * lib/vsnprintf.c: New file.
105944 2004-10-11  Bruno Haible  <bruno@clisp.org>
105946         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
105947         vsnprintf.
105949 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
105951         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
105953 2004-10-07  Bruno Haible  <bruno@clisp.org>
105955         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
105956         fits into the provided buffer.
105958 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
105960         * lib/diacrit.c, diacrit.h: Add GPL notice.
105962         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
105963         notice.
105964         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
105965         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
105966         This avoids a potential constant-folding bug.
105968 2004-10-05  Bruno Haible  <bruno@clisp.org>
105970         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
105971         for the declaration of strsep.
105973 2004-10-05  Bruno Haible  <bruno@clisp.org>
105975         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
105977 2004-10-04  Simon Josefsson  <jas@extundo.com>
105979         * modules/memmem: New file.
105980         * tests/test-memmem.c: New file.
105981         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
105983 2004-10-04  Simon Josefsson  <jas@extundo.com>
105985         * m4/memmem.m4: New file.
105987 2004-10-04  Simon Josefsson  <jas@extundo.com>
105989         * lib/memmem.h: New file.
105990         * lib/memmem.c: New file, taken from glibc.
105992 2004-10-04  Simon Josefsson  <jas@extundo.com>
105994         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
105995         '#ifdef USE_UNLOCKED_IO'.
105997 2004-10-04  Simon Josefsson  <jas@extundo.com>
105999         * config/srclist.txt: Add memmem from glibc.
106001 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
106003         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
106005         * modules/argmatch, modules/argp, modules/closeout, modules/error,
106006         modules/exclude, modules/getdate, modules/getline,
106007         modules/getndelim2, modules/getpass, modules/getpass-gnu,
106008         modules/getusershell, modules/linebuffer, modules/md5,
106009         modules/mountlist, modules/posixtm, modules/readtokens,
106010         modules/readutmp, modules/regex, modules/sha1,
106011         modules/version-etc, modules/yesno:
106012         Remove dependency on unlocked-io.
106014 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
106016         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
106018         * m4/unlocked-io.m4: Add copyright notice.
106019         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
106021 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
106023         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
106024         * lib/xmalloc.c (xmemdup): Likewise.
106025         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
106026         XFREE): Remove these long-obsolescent macros.
106027         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
106028         * lib/xstrdup.c: Remove.
106030         * lib/regex.c (re_comp): Cast gettext return value to char *,
106031         Problem reported by Martin Neitzel via Mark D. Baushke.
106033 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
106035         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
106036         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
106037         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
106038         regex.c, sha1.c, version-etc.c, yesno.c:
106039         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
106040         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
106041         the includer's responsibility.
106043         Sync from coreutils.
106045         * lib/modechange.c (mode_compile): Don't decrement a pointer that
106046         points to the start of a string, as the C Standard says the
106047         resulting behavior is undefined.
106049         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
106050         simple -> simple_backups, numbered_existing ->
106051         numbered_existing_backups, numbered -> numbered_backups
106052         to avoid shadowing problems.  All uses changed.
106053         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
106054         * lib/backupfile.c (check_extension, numbered_backup):
106055         Rename locals to avoid shadowing 'basename'.
106056         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
106057         once.
106059         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
106060         * lib/.cvsignore: Add getopt.h.
106062 2004-10-04  Bruno Haible  <bruno@clisp.org>
106064         * modules/README: New file.
106065         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
106066         not a module.
106068 2004-10-02  Jim Meyering  <jim@meyering.net>
106070         * lib/dirfd.h, getpagesize.h: Add copyright notice.
106072 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
106074         * modules/strsep: New file.
106076 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
106078         * m4/strsep.m4: New file.
106080 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
106082         * lib/strsep.h: New file.
106083         * lib/strsep.c: New file.
106085 2004-10-01  Simon Josefsson  <jas@extundo.com>
106087         * lib/snprintf.c (snprintf): Handle size==0.
106089 2004-10-01  Simon Josefsson  <jas@extundo.com>
106090             Bruno Haible  <bruno@clisp.org>
106092         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
106093         (snprintf): Declare 'args'.
106095 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
106097         * lib/snprintf.c: Remove comments as to why each header is needed.
106099 2004-10-01  Bruno Haible  <bruno@clisp.org>
106101         * MODULES.html.sh: Add strsep.
106103 2004-09-30  Simon Josefsson  <jas@extundo.com>
106105         * modules/snprintf: New file.
106107 2004-09-30  Simon Josefsson  <jas@extundo.com>
106109         * m4/snprintf.m4: New file.
106111 2004-09-30  Simon Josefsson  <jas@extundo.com>
106113         * lib/snprintf.h, lib/snprintf.c: New files.
106115 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106117         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
106118         (hol_entry_help): Never translate an empty string.
106119         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
106120         * lib/argp.h (OPTION_NO_TRANS): New option.
106122 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
106124         * modules/argp (Maintainer): Replace Simon Josefsson
106125         by Sergey Poznyakoff.
106127 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
106129         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
106130         changes merged back into glibc.
106132 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
106134         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
106136 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
106138         * lib/xvasprintf.c: Include xalloc.h.
106139         (xvasprintf): Use xalloc_die, not xmalloc_die.
106141 2004-09-29  Bruno Haible  <bruno@clisp.org>
106143         * modules/alloca-opt: New file, derived from modules/alloca.
106144         * modules/allocsa: Depend on alloca-opt instead of alloca.
106145         * modules/setenv: Likewise.
106146         * modules/vasnprintf: Likewise.
106147         * MODULES.html.sh: Add alloca-opt.
106149 2004-09-28  Simon Josefsson  <jas@extundo.com>
106151         * gnulib-tool: New parameter --lgpl, to asseert that modules are
106152         LGPL, and to replace license template from GPL to LGPL.
106154 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
106156         * modules/dummy: Change license to LGPL.
106158 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
106160         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
106162 2004-09-24  Simon Josefsson  <jas@extundo.com>
106164         * modules/minmax (License): Change from GPL to LGPL.
106166 2004-09-23  Simon Josefsson  <jas@extundo.com>
106168         * gnulib-tool (--import): Typo.
106170 2004-09-23  Simon Josefsson  <jas@extundo.com>
106172         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
106174 2004-09-22  Bruno Haible  <bruno@clisp.org>
106176         * modules/*: Add 'License' field.
106177         * gnulib-tool: Accept --extract-license option.
106178         (func_get_license): New function.
106180 2004-09-21  Bruno Haible  <bruno@clisp.org>
106182         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
106183         Reported by Simon Josefsson.
106185 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
106187         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
106188         gl_AC_TYPE_LONG_LONG.
106190 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
106192         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
106194 2004-09-18  Simon Josefsson  <jas@extundo.com>
106195         and  Paul Eggert  <eggert@cs.ucla.edu>
106197         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
106198         calls with autoreconf.  Define GL_LIB.
106200 2004-09-14  Karl Berry  <karl@gnu.org>
106202         * config/srclist.txt: unsync setenv.c, sigh.
106204 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
106206         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
106207         Problem reported by Bruno Haible in:
106208         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
106210 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
106212         * config/srclist.txt: Comment out argp-pvh.c.
106214 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
106216         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
106217         in case some system header has #define'd it.  Problem reported by
106218         Soeren D. Schulze in
106219         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
106221 2004-09-09  Karl Berry  <karl@gnu.org>
106223         * regex.[ch]: delete from the root.  These were supposed to be
106224                 synced with emacs cvs, but this has not happened for about
106225                 a year, and anyway nothing else uses emacs regex.[ch].
106226                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
106227                 lib/regex[.ch] is untouched.
106229 2004-09-09  Bruno Haible  <bruno@clisp.org>
106231         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
106233 2004-09-09  Bruno Haible  <bruno@clisp.org>
106235         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
106236         modifications.
106237         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
106239 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
106241         * modules/xvasprintf: New file.
106242         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
106244 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
106246         * lib/xvasprintf.h: New file.
106247         * lib/xvasprintf.c: New file.
106248         * lib/xasprintf.c: New file.
106250 2004-09-08  Bruno Haible  <bruno@clisp.org>
106252         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
106254 2004-09-08  Bruno Haible  <bruno@clisp.org>
106256         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
106257         length is > INT_MAX.
106258         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
106259         more.
106261 2004-09-08  Bruno Haible  <bruno@clisp.org>
106263         * lib/stdint_.h: New file, taken from GNU clisp.
106265 2004-09-08  Bruno Haible  <bruno@clisp.org>
106266             Oskar Liljeblad  <oskar@osk.mine.nu>
106268         * modules/stdint: New file.
106269         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
106271 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
106273         Import from coreutils.
106274         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
106275         strings on unbounded length.  alloca's performance benefits aren't
106276         that important here.
106277         (V_STRDUP): Remove.
106278         (parse_with_separator): New function, with most of the internals
106279         of the old parse_user_spec.  Allow user to omit both user and group,
106280         for compatibility with FreeBSD.
106281         Clone only the user name, not the entire spec.
106282         Do not set *uid, *gid unless entirely successful.
106283         Avoid memory leak in some failing cases.
106284         Fix regression for USER.GROUP reported by Dmitry V. Levin in
106285         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
106286         (parse_user_spec): Rewrite to use parse_with_separator.
106288 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
106290         * modules/userspec: Don't depend on alloca.
106292 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
106294         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
106296 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
106298         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
106299         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
106300         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
106302 2004-08-16  Simon Josefsson  <jas@extundo.com>
106304         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
106305         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
106306         Add --dry-run for --import.
106307         Let user provided command line parameters override configure.ac
106308         settings.
106310 2004-08-12  Simon Josefsson  <jas@extundo.com>
106312         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
106313         as discussed with Paul Eggert in threads rooted at
106314         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
106315         and
106316         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
106317         Before, the test was empty, and relied on ELIDE_CODE in source
106318         code.)
106319         (gl_PREREQ_GETOPT): New macro.
106320         (gl_GETOPT): Use them.
106322 2004-08-12  Simon Josefsson  <jas@extundo.com>
106324         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
106325         * lib/getopt_.h: Renamed from getopt.h.
106327 2004-08-12  Simon Josefsson  <jas@extundo.com>
106329         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
106330         Change default library name from libfoo to libgnu.
106331         Now, if you have a configure.ac that says:
106332                 gl_SOURCE_BASE(gl)
106333                 gl_M4_BASE(gl/m4)
106334                 gl_MODULES(error getopt etcetera)
106335                 gl_INIT
106336         you can import all you need by running:
106337                 ../gnulib/gnulib-tool --import
106339         * modules/getopt (Files): Rename getopt.h to getopt_.h.
106340         (Makefile.am): Rewrite, use logic from argz.
106341         (Include): Use <getopt.h> instead of "getopt.h".
106343 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
106345         * modules/argp (Files): Add m4/unlocked-io.m4.
106346         (Depends-on): Add extensions.
106348 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
106350         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
106351         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
106352         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
106353         Check for program_invocation_name, program_invocation_short_name,
106354         flockfile, funlockfile, features.h, _getopt_long_only_r.
106356 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
106358         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
106359         its complicated substitute.
106360         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
106361         and program_invocation_name.
106362         (__argp_basename) [!_LIBC]: Remove; the only use was
106363         replaced by its body.
106364         (__argp_short_program_name): Change condition from
106365         !defined __argp_short_program_name to
106366         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
106367         to match argp-namefrob.h.
106368         (__argp_failure): Don't assume strerror_r returns char *.
106369         * lib/argp-parse.c (N_): Define unconditionally.
106370         (argp_default_options): Fill out initializers with 0 to avoid
106371         gcc warnings.
106373 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
106375         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
106376         getopt1.c.
106378 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
106380         Merge from coreutils.
106382         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
106384         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
106385         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
106387 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
106389         Merge from coreutils.
106391         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
106392         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
106393         for Reliant Unix 5.43.
106395         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
106396         (union fooround): Use uintmax_t, not long int.
106397         The rest is a merge from libc:
106398         [defined _LIBC]: Include <shlib-compat.h>.
106399         (_obstack) [defined _LIBC]: Remove after 2.3.4.
106401         * lib/settime.c (settime): Recode to avoid warning with
106402         Sun Forte C 6U2.
106404         * lib/strverscmp.c: Convert to UTF-8.
106406 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
106408         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
106409         m4/uintmax_t.m4.
106411 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
106413         * modules/xalloc-die: New file.
106414         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
106416         * modules/md5 (Files): Add m4/uint32_t.m4.
106417         * modules/sha1: Renamed from modules/sha.
106418         (Files):
106419         Rename lib/sha.h to lib/sha1.h.
106420         Rename lib/sha.c to lib/sha1.c.
106421         Rename m4/sha.m4 to m4/sha1.m4.
106422         (lib_SOURCES): Likewise.
106423         (configure.ac): Rename gl_SHA to gl_SHA1.
106424         (Include): sha.h -> sha1.h.
106426 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
106428         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
106429         * m4/sha1.m4: Renamed from sha.m4.
106430         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
106432 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
106434         * lib/obstack.h (obstack_empty_p):
106435         Don't assume that chunk->contents is suitably aligned.
106436         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
106437         Likewise. Problem reported by Benno in
106438         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
106440         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
106441         readable.  This could be improved further but it'd take some work.
106443 2004-08-08  Simon Josefsson  <jas@extundo.com>
106445         * modules/xgethostname (Depends-on): Remove exit and error (not
106446         used).
106448         * modules/getpass-gnu: Add getpass.h.
106449         (Depends-on): Add stdbool.
106450         * modules/getpass: Add getpass.h.
106452 2004-08-08  Simon Josefsson  <jas@extundo.com>
106454         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
106455         Check getpass declaration.
106457 2004-08-08  Simon Josefsson  <jas@extundo.com>
106459         * lib/xgethostname.c: Don't include error.h (not used).
106461         * lib/getpass.h: Add.
106462         * lib/getpass.c: Include getpass.h first.
106464 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
106466         * lib/xalloc-die.c: New file.
106467         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
106468         All uses removed.
106469         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
106470         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
106471         xalloc-die.c.
106472         (_, N_, xalloc_die): Move to xalloc-die.c.
106473         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
106474         so that we needn't mess with xalloc_msg_memory_exhausted.
106476         * lib/sha1.h: Renamed from sha.h.
106477         (SHA1_H): Renamed from _SHA_H.
106478         (sha1_ctx): Renamed from sha_ctx.
106479         (sha1_init_ctx): Renamed from sha_init_ctx.
106480         (sha1_process_block): Renamed from sha_process_block.
106481         (sha1_process_bytes): Renamed from sha_process_bytes.
106482         (sha1_finish_ctx): Renamed from sha_finish_ctx.
106483         (sha1_read_ctx): Renamed from sha_read_ctx.
106484         (sha1_stream): Renamed from sha_stream.
106485         (sha1_buffer): Renamed from sha_buffer.
106486         * lib/sha1.c: Likewise; renamed from sha.c.
106487         Do not include <sys/types.h>.
106488         Include <stddef.h> rather than <stdlib.h>.
106490 2004-08-08  Bruno Haible  <bruno@clisp.org>
106492         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
106493         FILESYSTEM_PREFIX_LEN.
106494         * lib/progreloc.c: Likewise.
106495         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
106497 2004-08-06  Simon Josefsson  <jas@extundo.com>
106499         * modules/progname (Depends-on): Don't depend on stdbool.
106501 2004-08-06  Simon Josefsson  <jas@extundo.com>
106503         * modules/getsubopt: New file.
106504         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
106505         getsubopt.
106507 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
106509         More merge from coreutils.
106511         * m4/utimens.m4, m4/utimecmp.m4: New files.
106512         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
106513         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
106514         prereq.m4, sha.m4: Import changes from coreutils.
106516 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
106518         More merge from coreutils.
106519         * modules/raise, modules/readtokens0, modules/utimens:
106520         * modules/utimecmp, module/xnanosleep: New files.
106521         * modules/strftime: Add lib/strftime.h.
106522         Change include from <time.h> to "strftime.h".
106523         * modules/yesno: Add lib/yesno.h.
106524         * modules/backupfile: Remove lib/addext.c.
106525         * modules/euidaccess: Add stat-macros.h.
106526         * modules/canonicalize, modules/euidaccess,
106527         modules/filemode, modules/lchown, modules/makepath,
106528         modules/rmdir, modules/stat: Likewise.
106530 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
106532         Merge from tar.
106533         * lib/argp-help.c (make_hol, hol_append): Don't assume that
106534         SIZE_MAX is a valid preprocessor constant.
106535         (__argp_basename): Change from "#ifndef _LIBC"
106536         to "#ifndef __argp_short_program_name", so that
106537         we don't compile these functions for tar.
106539         More merges from coreutils.
106540         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
106541         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
106542         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
106543         * lib/addext.c: Remove; no longer needed.
106544         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
106545         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
106546         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
106547         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
106548         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
106549         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
106550         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
106551         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
106552         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
106553         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
106554         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
106555         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
106556         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
106557         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
106558         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
106559         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
106560         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
106561         Import changes from coreutils.
106563 2004-08-05  Simon Josefsson  <jas@extundo.com>
106565         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
106567 2004-08-05  Simon Josefsson  <jas@extundo.com>
106569         * m4/getsubopt.m4: New file.
106571 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
106573         Merge from coreutils.
106575         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
106576         * m4/getcwd-path-max.m4: New files.
106578         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
106579         FILESYSTEM_PREFIX_LEN ->
106580         FILE_SYSTEM_PREFIX_LEN.
106581         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
106582         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
106583         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
106584         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
106586         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
106587         prerequisite modules now handle the DOS stuff.
106588         Don't check for unistd.h.
106590 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
106592         Merge from coreutils.
106594         * lib/.gdb-history: Remove; this doesn't belong here.
106596         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
106597         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
106598         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
106599         * lib/getcwd.c: New files.
106601         * lib/dirname.h: Include <stdbool.h>.
106602         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
106603         for consistency with POSIX terminology.  All uses changed.
106604         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
106605         (strip_trailing_slashes): Use bool for booleans.
106606         * lib/stripslash.c (strip_trailing_slashes): Likewise.
106608         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
106609         sometimes returns a positive errno value even when it succeeds.
106610         (print_errno_message) [!LIBC]: Fall back on strerror if
106611         __strerror_r fails.
106613         * lib/path-concat.c (mempcpy): Don't define if a system header defines
106614         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
106615         (longest_relative_suffix): New function.
106616         (path_concat): Use it.  Assume first argument is not NULL.
106617         Port to DOS.  Omit redundant separators.
106618         Report an error instead of returning NULL.
106619         Use mempcpy instead of memcpy.
106620         (xpath_concat): Remove: not declared or used.
106622         * lib/same.h: Include <stdbool.h>
106623         (same_name): Return bool, not int.
106624         * lib/same.c (same_name): Likewise.
106625         (errno): Don't declare; we assume C89 or better now.
106627         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
106628         if not already defined.
106630         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
106631         * lib/dup-safer.c (errno): Likewise.
106633 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
106635         Merge from coreutils.
106636         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
106637         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
106638         * modules/path-concat: Don't depend on strdup.
106640 2004-08-03  Simon Josefsson  <jas@extundo.com>
106642         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
106643         * lib/progname.h: Don't include stdbool.h.
106645 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
106647         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
106648         * MODULES.html.sh (func_all_modules): Remove fatal.
106650 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
106652         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
106654 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
106656         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
106657         working.
106659 2004-08-02  Simon Josefsson  <jas@extundo.com>
106661         * lib/getsubopt.h: New file, with comments from Bruno Haible.
106662         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
106663         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
106665 2004-08-01  Simon Josefsson  <jas@extundo.com>
106667         * lib/xgetdomainname.c: Include stdlib.h, for free().
106669 2004-07-19  Bruno Haible  <bruno@clisp.org>
106671         * MODULES.html.sh (func_all_modules): Add dummy.
106673 2004-07-16  Simon Josefsson  <jas@extundo.com>
106675         * modules/dummy: New file.
106677 2004-07-16  Simon Josefsson  <jas@extundo.com>
106679         * lib/dummy.c: New file.
106681 2004-07-16  Bruno Haible  <bruno@clisp.org>
106683         * lib/backupfile.h: Add extern "C" for C++.
106684         * lib/closeout.h: Likewise.
106685         * lib/copy-file.h: Likewise.
106686         * lib/findprog.h: Likewise.
106687         * lib/full-write.h: Likewise.
106688         * lib/pathname.h: Likewise.
106689         * lib/progname.h: Likewise.
106690         * lib/stpcpy.h: Likewise.
106691         * lib/stpncpy.h: Likewise.
106692         * lib/strcase.h: Likewise.
106693         * lib/strstr.h: Likewise.
106694         * lib/xalloc.h: Likewise.
106696         * lib/mbswidth.h: Add extern "C" for C++.
106697         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
106699 2004-07-13  Robert Millan  <robertmh@gnu.org>
106701         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
106703 2004-07-09  Simon Josefsson  <jas@extundo.com>
106705         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
106706         failed without this.)
106708 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
106710         * modules/chown (Files): Add lib/fchown-stub.c, since
106711         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
106713 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
106715         * lib/fchown-stub.c: New file.
106717 2004-06-24  Jim Meyering  <jim@meyering.net>
106719         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
106721 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
106723         * modules/argz: Omit "#include".
106725         * MODULES.html.sh (func_all_modules): Add calloc, to match
106726         2004-06-01 addition of calloc module.
106728 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
106730         * m4/argz.m4: New file, which is autoupdated from libtool.
106732 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
106734         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
106735         libtool.
106737 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
106739         * config/srclist-update: Don't insist on "USA." before the
106740         close-comment, as libtool omits the period and puts the */ on a
106741         separate line.
106742         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
106743         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
106745 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
106747         * modules/argz: New file.
106748         * MODULES.html.sh (func_all_modules): Add argz.
106750 2004-06-12  Jim Meyering  <jim@meyering.net>
106751         and  Paul Eggert  <eggert@cs.ucla.edu>
106753         * modules/hash (Files): Add lib/xalloc.h.
106754         * modules/pipe (Depends-on): Add wait-process.
106755         * modules/stat (Depends-on): Add xalloc.
106756         * modules/userspec (Files): Add lib/userspec.h.
106757         * modules/xstrto
106759         Upgrade from gettext-0.13.
106760         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
106761         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
106762         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
106764 2004-06-10  Jim Meyering  <jim@meyering.net>
106766         * lib/calloc.c: New file.
106768 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
106770         * lib/getdate.y (yylex): Allow space between sign and number.
106771         Problem reported by Dan Jacobson.
106773 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
106775         Merge from coreutils CVS.
106777         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
106778         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
106779         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
106780         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
106781         xstrtol.m4: Fix copyright date and/or serial number.
106783         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
106784         See if we need an fchown replacement.
106785         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
106786         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
106787         and use the replacement function if we detect either defect.
106789         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
106790         gl_UTIMECMP.
106792 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
106793         and  Jim Meyering  <jim@meyering.net>
106795         Merge from coreutils CVS.
106797         * lib/stat-macros.h: New file, with contents from file-type.h
106798         and coreutils' system.h.
106799         * lib/file-type.c: Include "stat-macros.h".
106800         * lib/file-type.h (file_type): Move all macro definitions to new file,
106801         stat-macros.h.
106803         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
106804         Wrap old code with this conditional.
106805         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
106806         function that does not dereference symlinks.
106807         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
106809         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
106810         dependency problems.
106811         (xreadlink): Accept new arg SIZE, for efficiency.
106812         All decls and uses changed.
106813         * lib/xreadlink.h: Include <stddef.h>, for size_t.
106815         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
106816         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
106818         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
106819         sysexits.h.
106821 2004-06-01  Jim Meyering  <jim@meyering.net>
106823         * m4/calloc.m4: New file.
106825 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
106827         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
106828         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
106829         Also, fix a typo in a diagnostic.
106831 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
106833         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
106834         or AC_FUNC_REALLOC.
106836 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
106838         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
106839         macros to be defined.
106840         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
106841         the allocator returns NULL because the requested size is zero.
106843 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
106845         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
106846         var.  Add comment explaining why libc still defines it.  This
106847         merges the following patch from glibc:
106848         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
106850 2004-05-20  Andreas Schwab  <schwab@suse.de>
106852         * m4/free.m4: Replace free if it not known to work, not the other
106853         way round.
106855 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
106857         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
106858         present in glibc since revision 1.1 of this file.
106859         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
106860         obstack_alignment_mask, obstack_alloc, obstack_base,
106861         obstack_blank, obstack_blank_fast, obstack_chunk_size,
106862         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
106863         obstack_grow0, obstack_init, obstack_int_grow,
106864         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
106865         obstack_next_free, obstack_object_size, obstack_ptr_grow,
106866         obstack_ptr_grow_fast, obstack_room): Remove declarations of
106867         nonexistent functions.
106869 2004-05-18  Karl Berry  <karl@gnu.org>
106871         * config/srclist.txt: break link for vasnprintf.c.
106873 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
106875         Port obstack to the AS/400, where pointers are 16 bytes wide and
106876         you cannot cast an integer to a valid pointer.  This patch is
106877         currently waiting to be integrated into glibc; see
106878         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
106880         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
106881         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
106882         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
106883         (struct obstack): temp member is now a union of a pointer and
106884         an integer, instead of an integer.  All integer uses changed.
106885         This does not affect the physical layout of struct obstack,
106886         except on hosts (like the AS/400) where the size or alignment of
106887         void * is greater than that of ptrdiff_t.
106888         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
106889         __STDC__)]: Store temporary in pointer member of union, not
106890         integer member.
106891         * lib/obstack.c: Include <stddef.h>, for offsetof.
106892         (struct fooalign): Remove; it doesn't need a name.
106893         (union fooround): Change double to long double, and add void *.
106894         (DEFAULT_ALIGNMENT): Use offsetof to compute.
106895         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
106896         not a macro.  Hence the values are always int; so remove all
106897         casts-to-int in uses.
106899 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
106901         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
106902         we can get this patch merged into glibc.
106904 2004-05-17  Derek R. Price  <derek@ximbiot.com>
106905             Paul Eggert  <eggert@cs.ucla.edu>
106907         * m4/argp: Depend on alloca.
106909 2004-05-17  Derek R. Price  <derek@ximbiot.com>
106910             Paul Eggert  <eggert@cs.ucla.edu>
106912         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
106913         freecoding.
106915 2004-05-17  Bruno Haible  <bruno@clisp.org>
106917         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
106918         precision that consists of a '.' followed by an empty digit string.
106919         Patch by Tor Lillqvist <tml@iki.fi>.
106921 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
106923         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
106924         for backward compatibility with older code.  We need our own
106925         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
106926         it under some other name, and our alloca.h will define it.
106928 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
106929             Derek Price  <derek@ximbiot.com>
106931         * lib/alloca.c: Include <alloca.h>, to get our interface.
106932         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
106933         include <alloca.h> first.  Use C89 prototype for alloca; this
106934         requires including <stddef.h> for size_t.  Use extern "C" if C++.
106935         Use #elif for simplicity, since we can assume C89 now.
106936         Don't try to source the system alloca.h since it will not be found
106937         and to prevent recursively including its replacement.
106938         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
106939         * lib/regex.c: Likewise.
106941 2004-05-16  Derek Price  <derek@ximbiot.com>
106942             Paul Eggert  <eggert@cs.ucla.edu>
106944         getline cleanup.  This changes the getndelim2 API: both order of
106945         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
106946         no delimiter).
106948         * lib/getline.c: Don't include stddef.h or stdio.h, since our
106949         interface does that.
106950         (getline): Always use getdelim, so that we don't have two
106951         copies of this code.
106952         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
106953         if available.
106954         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
106955         (GETNDELIM2_MAXIMUM): New macro.
106956         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
106957         instead of the old practice of delim2==0.  All callers changed.
106958         Return -1 on overflow, instead of returning junk.
106959         Do not set *linesize unless allocation succeeds.
106960         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
106961         that we include sys/types.h.
106962         * lib/getnline.h: Likewise.
106963         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
106964         (getndelim2): Reorder arguments.
106965         * lib/getnline.c (getnline, getndelim):
106966         Don't discard the NMAX argument.
106967         (getnline): Invoke getndelim, to avoid code duplication.
106968         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
106969         of (size_t) -1 by callers of the getnline family.
106971 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
106973         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
106974         Check for gettimeofday.
106975         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
106976         Check for settimeofday, stime.
106978 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
106980         * lib/nanosleep.c (suspended): Change its type from int to
106981         sig_atomic_t volatile.
106982         (first_call): Make it private to rpl_nanosleep, and have it
106983         be zero initially as that's a bit faster.
106984         (my_usleep): Round up fractional times instead of truncating them,
106985         as this is the usual meaning for 'sleep'.
106987         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
106988         doesn't work.
106989         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
106990         (ENOSYS): Define if not defined.
106991         (settime): Fall back on stime if it exists and settimeofday fails.
106992         But don't bother with fallbacks if a method fails with errno == EPERM.
106994 2004-05-11  Jim Meyering  <jim@meyering.net>
106996         Prior to this change, the save_cwd caller required read access to the
106997         current directory on most systems (ones with the fchdir function).
106999         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
107000         fails, try write-only, and finally, resort to using xgetcwd.
107002 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
107004         * lib/obstack.c, obstack.h: Import changes from libc.
107006 2004-04-28  Bruno Haible  <bruno@clisp.org>
107008         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
107009         also implicitly appends .exe to executables.
107010         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
107011         accepts Windows pathnames.
107012         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
107013         Treat Cygwin like Windows, since it now accepts Windows pathnames.
107014         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
107015         Treat Cygwin like Windows, since it now accepts Windows pathnames.
107016         Reported by Derek Robert Price <derek@ximbiot.com>.
107018 2004-04-21  Karl Berry  <karl@gnu.org>
107020         * config/srclist.txt (localcharset.c): break sync.
107022 2004-04-20  Paul Eggert  <eggert@twinsun.com>
107024         * m4/host-os.m4: Add a copyright notice.
107026 2004-04-20  Jim Meyering  <jim@meyering.net>
107028         Change UTILS_ to gl_ in AC_DEFINE'd names.
107029         Change utils_- and jm_-prefixed variables, too.
107030         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
107031         UTILS_FUNC_MKDIR_TRAILING_SLASH.
107032         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
107034         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
107035         Don't emit trailing blanks.
107036         Also rename jm_-prefixed variables to have gl_ prefix.
107038         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
107039         Also rename jm_-prefixed variables to have gl_ prefix.
107041         * m4/jm-macros.m4: Reflect the renamings.
107042         * m4/prereq.m4: Likewise.
107044 2004-04-20  Jim Meyering  <jim@meyering.net>
107046         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
107047         memory.
107049 2004-04-20  Jim Meyering  <jim@meyering.net>
107050             Bruno Haible  <bruno@clisp.org>
107052         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
107053         memory when realloc fails.
107055 2004-04-19  Jim Meyering  <jim@meyering.net>
107057         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
107058         now that readutmp.c may call `free (0)'.
107060 2004-04-19  Bruno Haible  <bruno@clisp.org>
107062         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
107063         * m4/inttypes_h.m4: Likewise.
107064         * m4/stdint_h.m4: Likewise.
107065         * m4/intmax_t.m4: Likewise.
107066         * m4/uintmax_t.m4: Likewise.
107068 2004-04-18  Jim Meyering  <jim@meyering.net>
107070         * m4/prereq.m4: Don't forbid jm_ prefix.
107072         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
107073         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
107074         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
107075         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
107076         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
107077         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
107078         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
107079         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
107080         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
107081         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
107082         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
107083         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
107084         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
107085         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
107086         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
107087         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
107088         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
107089         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
107090         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
107092 2004-04-18  Jim Meyering  <jim@meyering.net>
107094         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
107095         failure, don't leak memory and do call END_UTMP_ENT.
107097 2004-04-16  Jim Meyering  <jim@meyering.net>
107099         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
107100         coreutils' stat program.
107101         (gl_PREREQ): Don't require jm_PREREQ_STAT.
107103 2004-04-11  Paul Eggert  <eggert@twinsun.com>
107105         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
107106         C89.
107107         (CHAR_BIT): Remove, since we assume C89.
107108         Include <stdint.h> if available, as per current Autoconf CVS advice.
107110 2004-03-31  Jim Meyering  <jim@meyering.net>
107112         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
107113         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
107114         * m4/xalloc.m4: Likewise.
107116 2004-03-30  Paul Eggert  <eggert@twinsun.com>
107118         Merge from coreutils.
107120         * m4/inttostr.m4: New file.
107121         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
107122         Require AM_STDBOOL_H and gl_TIMESPEC instead.
107123         Require gl_CLOCK_TIME.
107124         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
107126 2004-03-30  Paul Eggert  <eggert@twinsun.com>
107128         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
107129         not bool, to be more consistent with Unix conventions.
107130         Suggested by Bruno Haible.
107132         Merge from coreutils.
107134         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
107135         * lib/umaxtostr.c: New files.
107137         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
107138         the usual <time.h> dance.
107139         (get_date): Change signature to support fractional time stamps.
107140         All callers changed.
107141         * lib/getdate.y: Include "getdate.h" first, as we can now
107142         assume C89 and don't need to worry about 'const'.
107143         Similarly, include "unlocked-io.h" near start, not in middle.
107144         Include <limits.h>.
107145         (textint.value): Use long int rather than int.
107146         (textint.digits): Use size_t rather than int.
107147         (BILLION, LOG10_BILLION): New constants.
107148         (parser_control): New member rel_ns.  Members day_ordinal,
107149         time_zone, month, day, hour, minutes, rel_year, rel_month,
107150         rel_day, rel_hour, rel_minutes, rel_seconds
107151         are now long int, not int.  Member seconds is now struct timespec,
107152         not int.  New member timespec_seen.  Members dates_seen, days_seen,
107153         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
107154         not int.
107155         (%union.intval): Now long int, not int.
107156         New member timespec.
107157         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
107158         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
107159         (spec): Now is a timespec or an item list.
107160         (timespec, items): New nonterminals.
107161         (time, rel, relunit, number, get_date):
107162         Add support for fractional seconds.
107163         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
107164         (gmtime, localtime, mktime): Remove decls; not needed with C89.
107165         (to_hour): First arg is now long int, not int.
107166         (to_year): Returns long int, not int.
107167         Don't treat year -70 like 70.
107168         (tm_diff): Returns long int, not int.
107169         (lookup_word): Use bool instead of int when appropriate.
107170         (yylex): Use size_t for count, not int.
107171         Detect overflow when parsing large integer constants.
107172         Add support for fractions.
107173         (get_date): Make pointers 'const' if possible.
107174         Use more-portable code to detect integer overflow.
107175         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
107176         Don't use ctime; it's not reliable if the year has >4 digits.
107178         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
107179         This is for compatibility with BSD.
107181         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
107182         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
107183         From coreutils' system.h.
107185         * lib/userspec.c: Don't include "posixver.h".
107186         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
107187         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
107188         compatible extension.  Simplify code by removing a boolean int
107189         that was always nonzero if a string was nonnull.
107191 2004-03-30  Jim Meyering  <jim@meyering.net>
107193         Merge from coreutils.
107195         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
107196         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
107197         on some systems one must include <grp.h> before it.
107198         Reported by Christian Krackowizer.
107200 2004-03-30  Jim Meyering  <jim@meyering.net>
107202         Merge from coreutils.
107204         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
107206         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
107207         an empty input stream.
107209         * lib/readtokens.c: Include <stdbool.h>.
107210         (readtoken): Use `size_t' rather than int/long.
107211         All callers adjusted.
107212         Use `bool' rather than `int' where appropriate.
107213         Use memset rather than an explicit loop.
107214         Use x2nrealloc rather than xrealloc.
107215         Allow the use of `\0' as a delimiter.
107216         (readtokens): Likewise.
107217         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
107219 2004-03-30  Jim Meyering  <jim@meyering.net>
107221         * m4/realloc.m4: Remove file, since now it does no more than
107222         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
107223         the `configure.ac' section of module/realloc.
107224         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
107226 2004-03-30  Bruno Haible  <bruno@clisp.org>
107228         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
107229         nonnull.
107231 2004-03-29  Paul Eggert  <eggert@twinsun.com>
107233         Merge changes to getloadavg.c from coreutils and Emacs.
107235         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
107236         Define to an expression, not to the empty string.
107237         Include cloexec.h and xalloc.h.
107238         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
107239         Use set_cloexec_flag rather than rolling our own.
107240         * lib/cloexec.c, lib/cloexec.h: New files.
107242 2004-03-29  Paul Eggert  <eggert@twinsun.com>
107244         * m4/cloexec.m4: New file.
107246 2004-03-18  Paul Eggert  <eggert@twinsun.com>
107248         * lib/getopt.h: Sync with libc CVS.
107250 2004-03-18  Paul Eggert  <eggert@twinsun.com>
107251             Bruno Haible  <bruno@clisp.org>
107253         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
107254         mbswidth.
107256 2004-03-18  Paul Eggert  <eggert@twinsun.com>
107257             Bruno Haible  <bruno@clisp.org>
107259         * lib/mbswidth.h: Include <wchar.h> only if
107260         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
107261         <wchar.h>.
107262         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
107264 2004-03-09  Paul Eggert  <eggert@twinsun.com>
107266         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
107267         Sync with libc CVS.
107268         * lib/getopt_int.h: New file, also synced from libc.
107270 2004-03-09  Paul Eggert  <eggert@twinsun.com>
107272         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
107273         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
107274         Bring back getopt.c, getopt.h, getopt1.c.
107276 2004-03-07  Paul Eggert  <eggert@twinsun.com>
107278         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
107279         All uses changed.  Check for sa_sigaction member; this fixes
107280         a bug first reported by Jason Andrade in
107281         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
107283 2004-03-07  Paul Eggert  <eggert@twinsun.com>
107285         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
107286         '#if' expressions.  Unlike the code it replaces, it does not
107287         depend on (defined _SC_PAGESIZE).  However, it does depend on
107288         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
107289         first reported by Jason Andrade in
107290         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
107292 2004-02-25  Simon Josefsson  <jas@extundo.com>
107294         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
107296 2004-02-25  Simon Josefsson  <jas@extundo.com>
107298         * lib/strdup.h: New file.
107299         * lib/strdup.c: Include it.
107300         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
107301         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
107303 2004-02-23  Karl Berry  <karl@gnu.org>
107305         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
107306         (from fencepost.gnu.org:/gd/gnuorg).
107308 2004-02-23  Karl Berry  <karl@gnu.org>
107310         * config/srclistvars.sh (GNUORG) [karl]: redefine.
107311         * config/srclist.txt: add maintain/standards documents.
107313 2004-02-18  Bruno Haible  <bruno@clisp.org>
107315         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
107316         Reported by Derek Robert Price <derek@ximbiot.com>.
107318 2004-02-16  Karl Berry  <karl@gnu.org>
107320         * config/mkinstalldirs, install-sh: update from automake.
107322 2004-02-06  Karl Berry  <karl@gnu.org>
107324         * m4/po.m4: update from gettext 0.14.1.
107326 2004-02-06  Karl Berry  <karl@gnu.org>
107328         * lib/config.charset: update from gettext 0.14.1.
107330 2004-02-05  Paul Eggert  <eggert@twinsun.com>
107332         Add comments and code, prompted by suggestions from Bruno Haible
107333         for sh-quote.
107334         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
107335         describing the enum quoting_style values.
107336         * lib/quotearg.c (quotearg_alloc): New function.
107337         (quotearg_buffer_restyled): Treat lone { and } as special.
107338         Treat = as special.  Work around bug with older shells
107339         that "see" a '\' that is really the 2nd byte of a multibyte char.
107340         Quote empty string with shell_quoting_style.
107342 2004-02-03  Bruno Haible  <bruno@clisp.org>
107344         * m4/pipe.m4: New file, from GNU gettext.
107346 2004-02-03  Bruno Haible  <bruno@clisp.org>
107348         * lib/pipe.h: New file, from GNU gettext.
107349         * lib/pipe.c: New file, from GNU gettext.
107351 2004-01-27  Bruno Haible  <bruno@clisp.org>
107353         * m4/execute.m4: New file, from GNU gettext.
107355 2004-01-27  Bruno Haible  <bruno@clisp.org>
107357         * lib/execute.h: New file, from GNU gettext.
107358         * lib/execute.c: New file, from GNU gettext.
107359         * lib/w32spawn.h: New file, from GNU gettext.
107361 2004-01-24  Paul Eggert  <eggert@twinsun.com>
107363         Merge from diffutils.
107365         * lib/file-type.c (file_type): Add typed memory objects.
107366         * lib/file-type.h (S_TYPEISTMO): New macro.
107368         * lib/c-stack.h (c_stack_action): Remove argv argument.
107369         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
107370         (die): Don't calculate message unless segv_action returns.
107371         (get_stack_location, min_address_from_argv, max_address_from_argv,
107372         volatile stack_base, volatile_stack_size): Remove.
107373         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
107374         that every segmentation violation is a stack overflow.  (Ouch!)
107375         See Debian bug 136249 (still outstanding) for more info about why
107376         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
107378 2004-01-24  Paul Eggert  <eggert@twinsun.com>
107380         Exit-status fix from coreutils.
107382         Use exit_failure consistently in place of EXIT_FAILURE,
107383         so that program exit statuses are consistent on failure.
107385         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
107386         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
107387         * lib/argmatch.h: Comment fix to match the above.
107388         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
107389         Now a macro referring to exit_failure, instead of a separate
107390         variable.  Include "exitfail.h" to get it.
107391         * lib/xstrtol.h: Include "exitfail.h".
107392         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
107394         * lib/long-options.c (parse_long_options): Use prototype
107395         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
107396         for clarity.
107398 2004-01-21  Jim Meyering  <jim@meyering.net>
107400         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
107401         so as not to conflict with a different-sized __mktime_internal
107402         function in GNU libc.
107403         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
107404         Problem building statically-linked `ls' reported by Michael Brunnbauer.
107406 2004-01-20  Karl Berry  <karl@gnu.org>
107408         * config/config.guess: update from config.
107410         * config/srclistvars.sh: GNUWWWLICENSES for karl.
107412 2004-01-20  Bruno Haible  <bruno@clisp.org>
107414         Safer stack allocation.
107415         * lib/setenv.c: Include allocsa.h.
107416         (alloca): Remove fallback definition.
107417         (freea): Remove macro.
107418         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
107419         instead of freea.
107421 2004-01-20  Bruno Haible  <bruno@clisp.org>
107423         * m4/eealloc.m4: New file, from GNU gettext.
107425 2004-01-20  Bruno Haible  <bruno@clisp.org>
107427         * m4/allocsa.m4: New file, from GNU gettext.
107429 2004-01-20  Bruno Haible  <bruno@clisp.org>
107431         * lib/xallocsa.h: New file, from GNU gettext.
107432         * lib/xallocsa.c: New file, from GNU gettext.
107434 2004-01-20  Bruno Haible  <bruno@clisp.org>
107436         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
107438 2004-01-20  Bruno Haible  <bruno@clisp.org>
107440         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
107441         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
107442         specially.
107444 2004-01-20  Bruno Haible  <bruno@clisp.org>
107446         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
107447         patch.
107449 2004-01-20  Bruno Haible  <bruno@clisp.org>
107451         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
107453 2004-01-20  Bruno Haible  <bruno@clisp.org>
107455         * lib/eealloc.h: New file.
107457 2004-01-20  Bruno Haible  <bruno@clisp.org>
107459         * lib/binary-io.h: Avoid warnings on Cygwin.
107461 2004-01-20  Bruno Haible  <bruno@clisp.org>
107463         * lib/allocsa.h: New file, from GNU gettext.
107464         * lib/allocsa.c: New file, from GNU gettext.
107466 2004-01-18  Karl Berry  <karl@gnu.org>
107468         * doc/gpl.texi, doc/lgpl.texi: new files.
107470 2004-01-18  Karl Berry  <karl@gnu.org>
107472         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
107473         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
107475 2004-01-15  Paul Eggert  <eggert@twinsun.com>
107477         Merge from coreutils.
107479         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
107480         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
107481         (gl_DEFAULT_POSIX2_VERSION): Move
107482         the documentation from 'configure' into 'config.hin',
107483         so that 'configure --help' isn't burdened by it and
107484         we don't have to worry about its formatting there.
107485         Reword the documentation so that it's more succinct
107486         and can be run together into a single paragraph.
107487         * m4/same.m4 (gl_SAME): Check for pathconf.
107489 2004-01-15  Paul Eggert  <eggert@twinsun.com>
107491         Merge from coreutils.
107493         * lib/posixver.c: Include posixver.h.
107495         * lib/same.c: Include <stdbool.h>, <limits.h>.
107496         (_POSIX_NAME_MAX): Define if not defined.
107497         (MIN): New macro.
107498         (same_name): If file names are silently truncated, report
107499         that the file names are the same if they are the same after
107500         the silent truncation.
107502         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
107503         conversion function.
107504         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
107505         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
107506         longer needed.
107508 2004-01-15  Jim Meyering  <jim@meyering.net>
107510         Merge from coreutils.
107512         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
107513         if no library is required.
107514         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
107515         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
107516         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
107517         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
107518         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
107519         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
107520         value, $ac_cv_search_crypt, if it's "none required".
107521         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
107522         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
107523         not gl_FUNC_GETLOADAVG.
107524         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
107525         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
107527 2004-01-15  Jim Meyering  <jim@meyering.net>
107529         Merge from coreutils.
107531         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
107532         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
107533         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
107535         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
107536         optional configure-time default.
107538         * lib/version-etc.c (version_etc_copyright): Update copyright date.
107540         * lib/xreadlink.c (xreadlink): Correct outdated comment.
107542 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
107544         Merge from coreutils.
107546         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
107547         value, $ac_cv_search_nanosleep, if it's "none required".
107549 2004-01-14  Paul Eggert  <eggert@twinsun.com>
107551         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
107552         with like-named macro in fnmatch.c.
107553         (EXT): Use an internal constant instead.
107555         Merge fnmatch patches from glibc.
107556         * lib/fnmatch.c (mbsinit): Remove define.
107557         Add libc_hidden_ver (__fnmatch, fnmatch).
107558         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
107559         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
107561 2004-01-14  Karl Berry  <karl@gnu.org>
107563         * config/install-sh: update from automake.
107565 2004-01-13  Karl Berry  <karl@gnu.org>
107567         * config/install-sh: update from automake.
107569 2004-01-09  Karl Berry  <karl@gnu.org>
107571         * config/install-sh: update from automake.
107573 2004-01-05  Karl Berry  <karl@gnu.org>
107575         * config/config.{sub,guess}: update from config.
107577 2003-12-31  Karl Berry  <karl@gnu.org>
107579         * config/depcomp: update from automake.
107581 2003-12-14  Karl Berry  <karl@gnu.org>
107583         * lib/config.charset: update from gettext-runtime.
107585 2003-12-03  Paul Eggert  <eggert@twinsun.com>
107587         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
107588         Bug reported by Alfred M. Szmidt.
107590 2003-12-03  Bruno Haible  <bruno@clisp.org>
107592         * m4/gettext.m4: Upgrade from gettext-0.13.
107593         * m4/po.m4: Upgrade from gettext-0.13.
107594         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
107595         * m4/intmax.m4: New file, from gettext-0.13.
107596         * m4/printf-posix.m4: New file, from gettext-0.13.
107598 2003-11-29  Karl Berry  <karl@gnu.org>
107600         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
107602 2003-11-25  Paul Eggert  <eggert@twinsun.com>
107603             Bruno Haible  <bruno@clisp.org>
107605         * lib/printf-parse.h: Don't include sys/types.h.
107606         (ARG_NONE): New macro.
107607         (char_directive): Change type of *arg_index fields to size_t.
107608         * lib/printf-parse.c: Don't include sys/types.h.
107609         (SSIZE_MAX): Remove macro.
107610         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
107611         Remove unnecessary overflow check.
107612         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
107613         fields.
107615 2003-11-25  Bruno Haible  <bruno@clisp.org>
107617         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
107619 2003-11-25  Bruno Haible  <bruno@clisp.org>
107621         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
107622         gt_TYPE_SSIZE_T.
107624 2003-11-24  Paul Eggert  <eggert@twinsun.com>
107626         * modules/alloca: Remove dependency on xalloc.
107628 2003-11-24  Paul Eggert  <eggert@twinsun.com>
107630         * lib/alloca.c: Remove dependency on xalloc module.
107631         (xalloc_die): Remove.
107632         (memory_full) [!defined emacs]: New macro.
107633         [!defined emacs]: Don't include xalloc.h.
107634         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
107635         address arithmetic overflows.  Change datatypes a bit to avoid
107636         unnecessary casts.
107638 2003-11-22  Jim Meyering  <jim@meyering.net>
107640         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
107641         s/size/size_t/.
107643 2003-11-21  Karl Berry  <karl@gnu.org>
107645         * config/config.{sub,guess}: update from config.
107647 2003-11-18  Karl Berry  <karl@gnu.org>
107649         * config/config.{sub,guess}: update from config.
107651         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
107653 2003-11-17  Paul Eggert  <eggert@twinsun.com>
107655         * README: Mention that S+T cannot overflow if S is the size of
107656         an existing object and T is sufficiently small.
107658 2003-11-17  Jim Meyering  <jim@meyering.net>
107660         On systems without utime and without a utimes function capable of
107661         dealing with a NULL struct utimbuf* argument, this utime replacement
107662         could -- in unusual circumstances -- leak a file descriptor.
107663         * lib/utime.c: Include <unistd.h> and <errno.h>.
107664         (utime_null): Be sure to close `fd' and to preserve errno.
107665         Reported by Geoff Collyer via Arnold Robbins.
107667 2003-11-17  Bruno Haible  <bruno@clisp.org>
107669         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
107670         (Depends-on): Add xsize.
107672 2003-11-17  Bruno Haible  <bruno@clisp.org>
107674         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
107676 2003-11-17  Bruno Haible  <bruno@clisp.org>
107678         * lib/vasnprintf.c (alloca): Remove fallback definition.
107679         (freea): Remove definition.
107680         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
107681         Reported by Paul Eggert.
107683 2003-11-16  Paul Eggert  <eggert@twinsun.com>
107684             Bruno Haible  <bruno@clisp.org>
107686         Protect against address arithmetic overflow.
107687         * lib/printf-args.h: Include stddef.h.
107688         (arguments): Change type of field 'count' to size_t.
107689         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
107690         'unsigned int' where appropriate.
107691         * lib/printf-parse.h: Include sys/types.h.
107692         (char_directive): Change type of *arg_index fields to ssize_t.
107693         (char_directives): Change type of fields 'count', max_*_length to
107694         size_t.
107695         * lib/printf-parse.c: Include sys/types.h and xsize.h.
107696         (SSIZE_MAX): Define fallback value.
107697         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
107698         instead of 'int' where appropriate. Check a_allocated, d_allocated
107699         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
107700         * lib/vasnprintf.c: Include xsize.h.
107701         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
107702         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
107703         overflow. Avoid wraparound when converting a width or precision from
107704         decimal to binary.
107706 2003-11-16  Bruno Haible  <bruno@clisp.org>
107708         Update from GNU gettext.
107709         * lib/printf-parse.c: Generalize to it can be compiled for wide
107710         strings.
107711         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
107712         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
107713         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
107714         SNPRINTF): New macros.
107715         Don't include <alloca.h> if the file is used inside libintl.
107716         (local_wcslen): New function, for Solaris 2.5.1.
107717         (VASNPRINTF): Use it instead of wcslen.
107719 2003-11-16  Bruno Haible  <bruno@clisp.org>
107721         * lib/xsize.h (xmax): New function.
107722         (xsum, xsum3, xsum4): Declare as "pure" functions.
107724 2003-11-12  Paul Eggert  <eggert@twinsun.com>
107726         * modules/xalloc (Files): Undo latest change, since xalloc.h
107727         no longer needs SIZE_MAX or PTRDIFF_MAX.
107729 2003-11-12  Paul Eggert  <eggert@twinsun.com>
107731         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
107732         gl_PTRDIFF_MAX.
107734 2003-11-12  Paul Eggert  <eggert@twinsun.com>
107736         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
107737         "return", to pacify some unknown compiler.  Problem reported
107738         by Joerg Schilling.
107740 2003-11-12  Paul Eggert  <eggert@twinsun.com>
107742         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
107743         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
107744         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
107745         heuristic is just as accurate as far as we know, and it removes a
107746         dependency on size_max.m4 and ptrdiff_max.m4.
107748 2003-11-11  Bruno Haible  <bruno@clisp.org>
107750         * modules/xsize (Files): Add m4/size_max.m4.
107751         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
107753 2003-11-11  Bruno Haible  <bruno@clisp.org>
107755         * m4/size_max.m4: New file.
107756         * m4/ptrdiff_max.m4: New file.
107757         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
107758         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
107759         (gl_XALLOC): Invoke it.
107761 2003-11-11  Bruno Haible  <bruno@clisp.org>
107763         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
107764         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
107765         defined.
107767 2003-11-10  Paul Eggert  <eggert@twinsun.com>
107769         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
107770         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
107771         rejected some allocations of exactly SIZE_MAX - 2 bytes.
107772         From Bruno Haible.
107773         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
107774         not (size_t) -1, since it's defined here.
107776 2003-11-09  Karl Berry  <karl@gnu.org>
107778         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
107780 2003-11-06  Paul Eggert  <eggert@twinsun.com>
107782         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
107783         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
107784         Reject sizes of exactly SIZE_MAX bytes.
107785         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
107786         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
107788 2003-11-05  Bruno Haible  <bruno@clisp.org>
107790         * lib/xsize.h: Include limits.h, to avoid a possible collision with
107791         SIZE_MAX defined in <limits.h> on Solaris.
107793 2003-11-04  Jim Meyering  <jim@meyering.net>
107795         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
107796         variable names, rather than @VAR@.
107797         * modules/poll: Likewise.
107799 2003-11-04  Bruno Haible  <bruno@clisp.org>
107801         * modules/xsize: New file.
107802         * modules/linebreak: Depend on xsize.
107803         * MODULES.html.sh (func_all_modules): Add xsize.
107805 2003-11-04  Bruno Haible  <bruno@clisp.org>
107807         * m4/xsize.m4: New file.
107809 2003-11-04  Bruno Haible  <bruno@clisp.org>
107811         * lib/xsize.h: New file.
107812         * lib/linebreak.c: Include xsize.h.
107813         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
107814         argument for overflow.
107815         Suggested by Paul Eggert.
107817 2003-11-03  Karl Berry  <karl@gnu.org>
107819         * config/config.{guess,sub}: update from config.
107821 2003-11-03  Jim Meyering  <jim@meyering.net>
107823         * modules/userspec (lib_SOURCES): Add userspec.h.
107824         (Include): Add "userspec.h".
107825         Improve description.
107827 2003-11-03  Jim Meyering  <jim@meyering.net>
107829         * lib/userspec.c: Include "userspec.h".
107830         * lib/userspec.h: New file.
107832 2003-11-03  Bruno Haible  <bruno@clisp.org>
107834         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
107836 2003-11-03  Bruno Haible  <bruno@clisp.org>
107838         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
107839         available, to avoid (extremely rare) race condition.
107840         Suggested by Paul Eggert.
107842 2003-11-02  Karl Berry  <karl@gnu.org>
107844         * config/srclist.txt (vasprintf.c): sync broken, sigh.
107846 2003-10-31  Paul Eggert  <eggert@twinsun.com>
107848         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
107849         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
107850         (read_filesystem_list): Set and use me_type_malloced.
107851         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
107852         whatever the type happens to be), for brevity and consistency.
107853         Check for size calculation overflow on Alphas running OSF/1.
107855 2003-10-31  Jim Meyering  <jim@meyering.net>
107857         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
107859         * lib/linebuffer.c: Include <string.h> for declaration of memset.
107861 2003-10-30  Paul Eggert  <eggert@twinsun.com>
107862             Bruno Haible  <bruno@clisp.org>
107864         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
107865         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
107867 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
107869         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
107870         netbsd*-gnu*.  Suggested by Robert Millan.
107872 2003-10-29  Paul Eggert  <eggert@twinsun.com>
107874         * modules/group-member: Depend on stdbool.
107876 2003-10-29  Paul Eggert  <eggert@twinsun.com>
107878         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
107880 2003-10-29  Paul Eggert  <eggert@twinsun.com>
107882         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
107883         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
107884         after the 'gnu' in these cases.  This fixes some bugs in the
107885         previous change, and is based on suggestions by Robert Millan.
107887 2003-10-29  Paul Eggert  <eggert@twinsun.com>
107889         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
107890         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
107891         no longer needed.
107892         * lib/quotearg.c (quotearg_n_options): Use it.
107893         * lib/group-member.c: Include <stdbool.h>.
107894         (free_group_info): Arg is now const *; don't free arg.
107895         (get_group_info): Now returns bool and accepts struct group_info *,
107896         rather than returning a malloc'ed struct group_info *.
107897         All uses changed.  Check for overflow in internal size calculation.
107899         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
107900         rather than xmalloc/xrealloc.
107901         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
107902         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
107903         conformance bug: the old code used a pointer after freeing the
107904         storage that it addressed.
107905         * lib/hash.c (hash_initialize): Simplify the code by using
107906         xalloc_oversized rather than doing it by hand.
107907         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
107908         the buffer preserved.  Use free and xmalloc instead.
107909         * lib/quotearg.c (quotearg_n_options): Likewise.
107910         Use a simpler test for size overflow.  Don't use xalloc_oversized
107911         because unsigned int might be wider than size_t (!); this suggests
107912         that we should switch from unsigned int to size_t for slot numbers.
107914 2003-10-28  Paul Eggert  <eggert@twinsun.com>
107916         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
107917         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
107918         NetBSD kernels.  Requested by Richard Stallman.
107920 2003-10-27  Paul Eggert  <eggert@twinsun.com>
107922         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
107923         to allocate the returned structure.  Do not allocate a subarray,
107924         as x2nrealloc will do that.
107925         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
107926         instead of xnrealloc.
107927         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
107929 2003-10-27  Bruno Haible  <bruno@clisp.org>
107931         * lib/stdbool_.h: Better support for BeOS.
107933 2003-10-26  Paul Eggert  <eggert@twinsun.com>
107935         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
107936         now uses inline.
107938 2003-10-26  Paul Eggert  <eggert@twinsun.com>
107940         * lib/xalloc.h (xalloc_oversized): New static inline function, for
107941         callers that want to do their own size-overflow checking.  Include
107942         <stdbool.h>, since xalloc_oversized returns bool.
107943         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
107944         to use xalloc_oversized.
107946         Add two functions x2realloc, x2nrealloc, for programs that grow
107947         arrays dynamically by doubling their sizes.
107948         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
107949         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
107950         New functions.
107952         Port to C99 semantics for 'inline' of external functions.
107953         Bug reported by Bruno Haible.
107954         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
107955         with the old contents of xnmalloc.
107956         (xnmalloc, xmalloc): Use it.
107957         (xnrealloc_inline): New static inline function,
107958         with the old contents of xnrealloc.
107959         (xnrealloc, xrealloc): Use it.
107961         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
107962         that.
107964 2003-10-26  Karl Berry  <karl@gnu.org>
107966         * config/srclist.txt (COPYING.DOC): no longer available from
107967         /gd/gnuorg; don't know where the ultimate source is.
107969 2003-10-25  Paul Eggert  <eggert@twinsun.com>
107971         Fix several address-calculation bugs in the hash modules,
107972         plus some minor code cleanup.
107974         * lib/hash.h: Include <stdbool.h>, for bool.
107975         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
107976         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
107977         hash_get_n_entries, hash_get_max_bucket_length,
107978         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
107979         hash_rehash): Use size_t rather than unsigned.
107980         * lib/hash.c (struct hash_table, hash_get_n_buckets,
107981         hash_get_n_buckets_used, hash_get_n_entries,
107982         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
107983         hash_get_entries, hash_do_for_each, hash_string, is_prime,
107984         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
107985         Likewise.
107986         (SIZE_MAX): Define if not defined.
107987         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
107988         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
107989         hash_print):
107990         Use const * when possible.
107991         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
107992         (check_tuning): Fix bug: if tuning parameters were very close to
107993         0 or 1, rounding errors could have caused subscript violations.
107994         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
107995         (hash_initialize): Add 'fail:' label
107996         to free table and return NULL, and use it to simplify code.
107997         Use calloc rather than clearing the storage ourself.
107998         (hash_initialize, hash_rehash): Check for arithmetic overflow in
107999         buffer size calculations.
108000         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
108001         Include <stddef.h>, for size_t.
108002         * lib/hash-pjw.c (hash_pjw): Likewise.
108003         Switch to method described by Bruno Haible.
108004         Include <limits.h>, for CHAR_BIT.
108005         (SIZE_BITS): New macro.
108007 2003-10-23  Paul Eggert  <eggert@twinsun.com>
108009         * m4/getline.m4 (AM_FUNC_GETLINE):
108010         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
108011         hosts.  Problem reported by Derek Robert Price in
108012         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
108013         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
108014         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
108016 2003-10-21  Paul Eggert  <eggert@twinsun.com>
108018         * lib/getndelim2.c (getndelim2): When size calculation overflows,
108019         ceiling the allocation at NMAX bytes rather than silently
108020         discarding input bytes before NMAX is reached.  This makes
108021         a difference only if NMAX exceeds SIZE_MAX / 2.
108023         * lib/obstack.c: Merge from glibc.
108024         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
108025         Add libc_hidden_def (_obstack_newchunk).
108026         (_obstack_free) [! defined _LIBC]: Remove.
108027         [defined _LIBC]: Make a strong alias from obstack_free, rather than
108028         a clone of the function body.
108029         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
108030         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
108032         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
108033         glibc.
108034         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
108035         arg to memcpy.
108037         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
108038         (obstack_ptr_grow_fast, obstack_int_grow_fast):
108039         Don't use lvalue casts, as GCC plans to remove support for them
108040         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
108041         was also present in the non-GCC version, indicating that this
108042         code had always been buggy and had never been widely used.
108043         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
108044         Use the fast variant of each macro, rather than copying the
108045         definiens of the fast variant; that way, we'll be more likely to
108046         catch future bugs in the fast variants.
108048 2003-10-20  Bruno Haible  <bruno@clisp.org>
108050         * modules/wait-process: New file.
108051         * MODULES.html.sh (func_all_modules): Add wait-process.
108053 2003-10-20  Bruno Haible  <bruno@clisp.org>
108055         * m4/wait-process.m4: New file.
108057 2003-10-20  Bruno Haible  <bruno@clisp.org>
108059         * lib/wait-process.h: New file, from GNU gettext.
108060         * lib/wait-process.c: New file, from GNU gettext.
108062 2003-10-19  Jim Meyering  <jim@meyering.net>
108064         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
108065         HPUX 10.20.
108067 2003-10-18  Karl Berry  <karl@gnu.org>
108069         * config/config.guess: update from config.
108071 2003-10-16  Paul Eggert  <eggert@twinsun.com>
108073         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
108074         (getgroups): First arg is int, not size_t.
108075         Don't let 'free' mangle errno.
108077 2003-10-16  Paul Eggert  <eggert@twinsun.com>
108079         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
108081 2003-10-16  Karl Berry  <karl@gnu.org>
108083         * config/config.{guess,sub}: update from config.
108085 2003-10-16  Jim Meyering  <jim@meyering.net>
108087         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
108088         memcpy.
108090 2003-10-15  Paul Eggert  <eggert@twinsun.com>
108092         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
108093         (SIZE_MAX): Remove.
108094         (new_exclude, add_exclude_file): Initial size no longer needs to
108095         be a power of 2.
108096         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
108097         our own address arithmetic overflow checking.
108099         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
108100         (fnmatch): Do not alloca more than 2000 wide characters;
108101         instead, use malloc for large buffers.
108102         Check for address arithmetic overflow, and return -1
108103         with errno set to ENOMEM in that case.
108104         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
108105         (NEW_PATTERN): Do not alloca more than 8000 bytes;
108106         instead, return -1.  Check for address arithmetic overflow.
108108 2003-10-14  Paul Eggert  <eggert@twinsun.com>
108110         Handle invalid suffixes and overflow independently, so that
108111         callers can treat them independently as needed.  Fix some bugs in
108112         suffix handling, e.g., "100k@" was not diagnosed as an invalid
108113         suffix for a human-readable blocksize.  The major caller-visible
108114         change is the addition of a new
108115         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
108116         that both overflow and suffix chars were found.
108118         * lib/human.c (humblock): Don't check separately for invalid suffix
108119         char; that is xstrtoumax's job (now that its bug is fixed).
108120         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
108121         INTMAX_MAX]: New macros.
108122         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
108123         TYPE_MAXIMUM): New macros.
108124         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
108125         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
108126         if overflow occurs, as it's what __strtol does and it's more useful
108127         in practice.
108128         (__xstrtol): If __strtol reports some error other than ERANGE,
108129         reflect it to the caller as LONGINT_INVALID.  If it reports
108130         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
108131         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
108132         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
108133         value.
108134         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
108135         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
108136         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
108137         [defined UINTMAX_MAX]: New macros.
108139 2003-10-14  Bruno Haible  <bruno@clisp.org>
108141         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
108143 2003-10-14  Bruno Haible  <bruno@clisp.org>
108145         * m4/sig_atomic_t: New file, from GNU gettext.
108146         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
108148 2003-10-14  Bruno Haible  <bruno@clisp.org>
108150         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
108151         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
108152         Also use volatile where needed.
108154 2003-10-12  Paul Eggert  <eggert@twinsun.com>
108156         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
108157         Change maintainer from Bruno Haible to 'all'.
108159 2003-10-12  Paul Eggert  <eggert@twinsun.com>
108161         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
108163 2003-10-12  Paul Eggert  <eggert@twinsun.com>
108165         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
108166         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
108167         and define in terms of the other primitives.
108168         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
108169         (SIZE_MAX): Define if not already defined.
108170         (array_size_overflow): New function.
108171         (xalloc_die): Abort instead of exiting if 'error' returns.
108172         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
108173         (xmalloc, xrealloc): Use them.
108174         (xcalloc): Check for address arithmetic overflow.
108175         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
108176         a bit faster than strcpy.
108178 2003-10-10  Simon Josefsson  <jas@extundo.com>
108180         * modules/argp (Depends-on): Add restrict and strcase.
108182 2003-10-10  Simon Josefsson  <jas@extundo.com>
108184         * m4/argp.m4: Add AC_C_INLINE.
108186 2003-10-08  Paul Eggert  <eggert@twinsun.com>
108188         Merge getpass from libc, plus a few fixes.
108190         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
108191         Include <stdbool.h>.
108192         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
108193         __fsetlocking to empty.
108194         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
108195         do include <bits/libc-lock.h>.
108196         Do not include <fcntl.h>; not needed.
108197         [_LIBC]: Include <wchar.h>.
108198         (NOTCANCEL_MODE): New macro.
108199         (flockfile, funlockfile) [_LIBC]: New macros.
108200         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
108201         [!_LIBC]: New macros.
108202         (call_fclose): New function.
108203         (getpass): Use it.  Save tty stream separately; this simplifies the
108204         code and makes it more reliable if stdin happens to equal stdout.
108205         Invoke __fsetlocking on tty.
108206         Handle thread cancellation if needed.
108207         Namespace cleanup (use __tcgetattr, __getline).
108208         Use bool for Booleans.
108209         [USE_IN_LIBIO]: Handle wide streams.
108210         [!_LIBC]: Unconditionally do the fseek, since we don't know what
108211         stream might go where.
108213         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
108214         doesn't have to include <stdio.h> before us.
108215         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
108216         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
108217         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
108218         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
108219         if not declared, so that we can use getpass.c code from libc without
108220         rewriting it.
108221         (flockfile, ftrylockfile, funlockfile): New macros.
108223 2003-10-08  Paul Eggert  <eggert@twinsun.com>
108225         * modules/getpass: Depend on stdbool.
108227 2003-10-08  Paul Eggert  <eggert@twinsun.com>
108229         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
108231 2003-10-07  Karl Berry  <karl@gnu.org>
108233         * config/config.{guess,sub}: update from config.
108235 2003-10-06  Jim Meyering  <jim@meyering.net>
108236             Bruno Haible  <bruno@clisp.org>
108238         This lets translators provide better translations for the
108239         "Written by ..." part of --version output.
108240         * lib/version-etc.h: Include stdarg.h.
108241         (version_etc_copyright): Declare as readonly.
108242         (version_etc): Make this function variadic with a NULL-terminated list
108243         of author name strings.
108244         (version_etc_va): New declaration.
108245         * lib/version-etc.c: Include stdarg.h, stdlib.h.
108246         (version_etc_copyright): Declare as readonly.
108247         (version_etc_va): New function. Provide a different translatable string
108248         for each possible number of authors < 10. Abbreviate when there are 10
108249         authors or more.
108250         (version_etc): Make this function variadic. Call version_etc_va.
108251         Suggestion from Gary V. Vaughan.
108253         * lib/long-options.h (parse_long_options): Change prototype: the
108254         authors string is moved to the end and becomes variadic.
108255         * lib/long-options.c: Include stdarg.h.
108256         (parse_long_options): Make this function variadic, too.
108257         Call version_etc_va, not version_etc.
108259 2003-10-06  Bruno Haible  <bruno@clisp.org>
108261         * modules/version-etc-2: Remove file.
108262         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
108264 2003-10-06  Bruno Haible  <bruno@clisp.org>
108266         * modules/fatal-signal: New file.
108267         * MODULES.html.sh (func_all_modules): Add fatal-signal.
108269 2003-10-06  Bruno Haible  <bruno@clisp.org>
108271         * m4/fatal-signal.m4: New file.
108272         * m4/signalblocking.m4: New file, from GNU gettext.
108274 2003-10-06  Bruno Haible  <bruno@clisp.org>
108276         * lib/version-etc-2.h: Remove file.
108277         * lib/version-etc-2.c: Remove file.
108279 2003-10-06  Bruno Haible  <bruno@clisp.org>
108281         * lib/fatal-signal.h: New file, from GNU gettext.
108282         * lib/fatal-signal.c: New file, from GNU gettext.
108284 2003-10-05  Paul Eggert  <eggert@twinsun.com>
108286         * README: Rework advice for preventing empty .o files.
108287         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
108288         not <sys/types.h>.
108290 2003-10-04  Karl Berry  <karl@gnu.org>
108292         * lib/argp*: update from libc.
108294 2003-10-04  Karl Berry  <karl@gnu.org>
108296         * config/config.{guess,sub}: update from config.
108298 2003-10-02  Bruno Haible  <bruno@clisp.org>
108300         * modules/lchown (Include): Add lchown.h.
108301         * modules/time_r (Include): Use "..." syntax.
108302         * modules/xgetdomainname (Include): Add xgetdomainname.h.
108304 2003-10-01  Simon Josefsson  <jas@extundo.com>
108306         * MODULES.html.sh (func_all_modules): Move gethostname from section
108307         'based on' to section 'lacking' POSIX:2001.
108309 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
108311         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
108312         to output mode on the same stream.
108314 2003-09-29  Paul Eggert  <eggert@twinsun.com>
108316         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
108317         Fix arg typo in previous patch.
108319 2003-09-28  Jim Meyering  <jim@meyering.net>
108321         * lib/error.c: Correct cpp indentation.
108323 2003-09-27  Paul Eggert  <eggert@twinsun.com>
108325         * modules/free: New file.
108327 2003-09-27  Paul Eggert  <eggert@twinsun.com>
108329         * m4/free.m4: New file.
108331 2003-09-27  Paul Eggert  <eggert@twinsun.com>
108333         * lib/minmax.h (MIN, MAX)
108334         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
108335         Omit the special code that used __typeof__, since we worry that
108336         it could be more trouble than it's worth.  See:
108337         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
108338         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
108340         * lib/free.c: New file.
108342 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
108344         Trivial fixes to Makefile.am parts of module listings.
108345         * modules/strstr: Append strstr.h to lib_SOURCES.
108346         * modules/strcase: Likewise, for strcase.h.
108348 2003-09-27  Karl Berry  <karl@gnu.org>
108350         * config/mkinstalldirs: update from automake.
108352 2003-09-26  Paul Eggert  <eggert@twinsun.com>
108354         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
108355         (error_tail): Do not loop, reallocating temporary buffer, since
108356         the output cannot contain more wide characters than the input
108357         contains bytes, the size must be big enough already.  This avoids
108358         one potential size overflow calculation.  Check for size overflow
108359         when calculating temporary buffer size.  Free temporary buffer
108360         when done, if it was allocated with malloc; this plugs a memory
108361         leak.  Remove casts from void * to pointers, that are no longer
108362         needed now that we're assuming C89 or better.
108364         Merge error changes from glibc.
108366         * lib/error.c, error.h: Update copyright notice header to match glibc.
108367         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
108368         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
108369         Disable cancellation while printing error.
108370         * lib/error.h: Prepend __ to parameter names.
108372 2003-09-26  Jim Meyering  <jim@meyering.net>
108374         * lib/error.c (error_tail): Move some declarations
108375         into inner scope where the local variables are used.
108377 2003-09-26  Bruno Haible  <bruno@clisp.org>
108379         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
108380         stpncpy().
108381         Don't define stpncpy through config.h; it's now done through stpncpy.h.
108383 2003-09-26  Bruno Haible  <bruno@clisp.org>
108385         * lib/stpncpy.h (gnu_stpncpy): New declaration.
108386         (stpncpy): Define as alias for gnu_stpncpy.
108387         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
108389 2003-09-25  Simon Josefsson  <jas@extundo.com>
108391         * lib/xgetdomainname.h: New file.
108392         * lib/xgetdomainname.c: New file.
108394 2003-09-25  Simon Josefsson  <jas@extundo.com>
108395             Bruno Haible  <bruno@clisp.org>
108397         * modules/getdomainname: New file.
108398         * modules/xgetdomainname: New file.
108399         * MODULES.html.sh (func_all_modules): Add getdomainname,
108400         xgetdomainname.
108402 2003-09-25  Simon Josefsson  <jas@extundo.com>
108403             Bruno Haible  <bruno@clisp.org>
108405         * m4/getdomainname.m4: New file.
108407 2003-09-25  Simon Josefsson  <jas@extundo.com>
108408             Bruno Haible  <bruno@clisp.org>
108410         * lib/getdomainname.h: New file.
108411         * lib/getdomainname.c: New file.
108413 2003-09-25  Karl Berry  <karl@gnu.org>
108415         * lib/argp-fmtstream.c, argp-help.c: update from libc.
108417 2003-09-25  Karl Berry  <karl@gnu.org>
108419         * config/install-sh: update from automake.
108421 2003-09-25  Bruno Haible  <bruno@clisp.org>
108423         * modules/version-etc-2: New file, from modules/version-etc with
108424         modifications.
108425         * MODULES.html.sh (func_all_modules): Add version-etc-2.
108427 2003-09-25  Bruno Haible  <bruno@clisp.org>
108429         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
108430         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
108432 2003-09-24  Simon Josefsson  <jas@extundo.com>
108434         * modules/xgethostname: Add xgethostname.h.
108436 2003-09-24  Paul Eggert  <eggert@twinsun.com>
108438         * lib/linebuffer.c (freebuffer): Don't free the argument, just
108439         the buffer associated with the argument.  Bug reported by
108440         Simon Josefsson.
108442 2003-09-24  Paul Eggert  <eggert@twinsun.com>
108444         * README: Document assumptions that 'int' is at least 32 bits
108445         wide, that integer arithmetic is 2's complement without overflow,
108446         that there are no holes in integer values, that adding sizes of
108447         two nonoverlapping objects can't overflow, and that all-bits-zero
108448         yields scalar zero.  Fix spelling and capitalization typos.
108450 2003-09-19  Karl Berry  <karl@gnu.org>
108452         * lib/argp.h: update from libc.
108454 2003-09-17  Paul Eggert  <eggert@twinsun.com>
108456         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
108457         to avoid spurious warnings like "AC_RUN_IFELSE was called before
108458         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
108460 2003-09-17  Paul Eggert  <eggert@twinsun.com>
108462         * gnulib-tool: Use "test -h", not "test -L", for portability
108463         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
108464         (tags_regexp): Remove, since \| doesn't conform to POSIX.
108465         (sed_extract_prog): Issue s commands one-by-one, rather than
108466         using \| in one s command.
108468 2003-09-16  Paul Eggert  <eggert@twinsun.com>
108470         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
108471         input error, instead of returning NULL the next time we are called
108472         (and therefore losing track of errno).
108474 2003-09-16  Bruno Haible  <bruno@clisp.org>
108476         * gnulib-tool (func_create_testdir): Warn about duplicated
108477         dependencies.
108479 2003-09-15  Paul Eggert  <eggert@twinsun.com>
108481         * modules/argmatch, modules/fatal, modules/obstack,
108482         modules/xalloc, modules/xgethostname: Sort dependencies by
108483         importance, not alphabetically.
108485 2003-09-15  Paul Eggert  <eggert@twinsun.com>
108487         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
108488         fails, so that the caller gets the proper errno.
108490         * lib/readutmp.c (read_utmp): Likewise.
108491         Check for fstat error.  Close stream and free storage
108492         when failing.
108494 2003-09-14  Karl Berry  <karl@gnu.org>
108496         * config/srclist.txt (strdup.c): disable for c89 changes.
108498 2003-09-14  Jim Meyering  <jim@meyering.net>
108500         * lib/getloadavg.c: Correct cpp indentation.
108501         * lib/strdup.c: Likewise.
108502         * lib/vasnprintf.c: Likewise.
108504 2003-09-14  Bruno Haible  <bruno@clisp.org>
108506         * modules/fwriteerror: New file.
108507         * MODULES.html.sh (func_all_modules): Add fwriteerror.
108509 2003-09-14  Bruno Haible  <bruno@clisp.org>
108511         * lib/fwriteerror.h: New file.
108512         * lib/fwriteerror.c: New file.
108514 2003-09-12  Paul Eggert  <eggert@twinsun.com>
108516         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
108517         modules/xgethostname, modules/xalloc: Depend on exit.
108519 2003-09-12  Paul Eggert  <eggert@twinsun.com>
108521         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
108523         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
108524         and AC_MINIX, too, so that their extensions are available.
108526         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
108527         This macro has been superseded by gl_BACKUPFILE.
108529         More patches to assume C89 or better.
108531         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
108533         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
108534         unconditionally.
108535         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
108536         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
108537         Include <string.h>, <stdlib.h> unconditionally.
108538         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
108539         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
108540         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
108541         headers or for string.h.
108542         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
108543         or strtoul.
108545         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
108546         headers.
108547         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
108548         * m4/userspec.m4 (gl_USERSPEC): Likewise.
108549         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
108550         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
108551         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
108552         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
108553         memcpy, memset.
108554         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
108555         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
108556         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
108557         strtol.
108558         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
108559         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
108560         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
108561         strtoul.
108563 2003-09-12  Paul Eggert  <eggert@twinsun.com>
108565         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
108566         * lib/obstack.c [!defined _LIBC]: Likewise.
108567         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
108568         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
108569         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
108571         More changes to assume C89 or better.
108573         * lib/error.c (error_tail): Assume vprintf.
108575         * lib/argmatch.c (getenv): Remove decl.
108576         * lib/progreloc.c (get_full_program_name): Define via prototype.
108577         * lib/setenv.c (clearenv): Likewise.
108578         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
108579         needed.
108580         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
108581         (malloc, memcpy): Remove decls.
108582         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
108583         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
108584         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
108585         (memcpy): Remove macro.
108586         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
108587         (__P): Remove.  All uses removed.
108588         (PTR): Remove.  All uses changed to void *.
108589         (CHAR_BIT, NULL): Remove.
108590         (spaces, zeros, memset_space, memset_zero)
108591         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
108592         Remove.
108593         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
108594         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
108595         Define with prototype.
108596         Remove now-unnecessary prototype decl.
108597         (extra_args_spec): Assume ANSI C.  All uses changed.
108598         (extra_args_spec_iso): Remove.
108599         (my_strftime, emacs_strftimeu): Define via prototype.
108600         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
108601         unconditionally.
108602         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
108603         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
108604         (strtoul, strtol): Remove decls.
108605         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
108606         LONG_MAX): Remove.
108607         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
108608         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
108609         (LOCALE_PARAM_PROTO): New macro.
108610         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
108611         (INTERNAL (strtol), strtol): Define with a prototype.
108612         (PARAMS): Remove.  All uses removed.
108613         * lib/tempname.c: Include <string.h> unconditionally.
108614         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
108615         * lib/xgethostname.c (main): Define with a prototype.
108616         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
108617         Include <stdlib.h> unconditionally.
108618         (calloc, malloc, realloc, free): Remove decls.
108619         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
108620         Include <stdlib.h> unconditionally.  Sort include file names.
108621         (strtod): Remove.
108622         (xstrtod): Define with a prototype.
108623         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
108624         (strtol, strtoul): Remove decls.
108626 2003-09-11  Paul Eggert  <eggert@twinsun.com>
108628         More patches to assume C89 or better.
108629         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
108630         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
108631         string.h, memchr, STDC_HEADERS.
108633 2003-09-11  Paul Eggert  <eggert@twinsun.com>
108635         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
108636         Include <stdlib.h>, <string.h> unconditionally.
108637         Remove now-unnecessary cast to char *.
108638         * lib/strnlen.c: Include <string.h> unconditionally.
108639         * lib/yesno.c (yesno): Define with a prototype.
108641 2003-09-11  Bruno Haible  <bruno@clisp.org>
108643         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
108645 2003-09-10  Jim Meyering  <jim@meyering.net>
108647         * lib/error.c: Correct indentation of cpp directives.
108649 2003-09-10  Bruno Haible  <bruno@clisp.org>
108651         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
108652         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
108653         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
108654         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
108655         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
108656         <stdlib.h> and <string.h> checks.
108657         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
108658         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
108660 2003-09-10  Bruno Haible  <bruno@clisp.org>
108662         * lib/strcspn.c: Include <string.h> unconditionally.
108663         * lib/strpbrk.c: Include <string.h> unconditionally.
108664         * lib/strstr.c: Include <string.h> unconditionally.
108665         * lib/unicodeio.c: Include <string.h> unconditionally.
108666         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
108667         * lib/unsetenv.c: Likewise.
108668         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
108669         * lib/yesno.c: Include <stdlib.h> unconditionally.
108670         (rpmatch): Add prototype.
108672 2003-09-09  Paul Eggert  <eggert@twinsun.com>
108674         More patches to assume C89 or better.
108675         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
108676         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
108677         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
108678         or for string.h.
108679         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
108680         stdlib.h.
108681         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
108682         C headers.
108683         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
108684         string.h.
108685         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
108686         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
108687         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
108688         or for string.h.
108689         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
108690         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
108691         C headers.
108692         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
108693         memcpy.
108694         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
108695         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
108696         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
108697         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
108698         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
108699         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
108700         string.h, free.
108701         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
108702         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
108703         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
108704         C headers, or for string.h.
108705         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
108706         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
108707         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
108708         headers, memory.h, stdlib.h, string.h, strings.h.
108709         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
108710         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
108711         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
108712         strchr.
108713         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
108714         headers, memory.h, string.h.
108715         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
108716         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
108717         free.
108718         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
108719         headers.
108720         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
108721         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
108722         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
108723         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
108724         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
108726 2003-09-09  Paul Eggert  <eggert@twinsun.com>
108728         More K&R removal.
108730         * lib/acosl.c (main): Use a prototype.
108731         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
108732         tanl.c: Likewise.
108734         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
108736         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
108737         (getopt, etopt_long, getopt_long_only, _getopt_internal)
108738         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
108739         with a prototype.
108740         * lib/getopt.c (const): Remove macro.
108741         Include <string.h> unconditionally.
108742         (my_index): Remove; all uses changed to strchr.
108743         (strlen): Remove decl.
108744         (exchange): Remove forward decl; no longer needed.
108745         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
108746         Define with prototype.
108747         * lib/getopt1.c (const): Remove macro.
108748         (getopt_long, getopt_long_only, main): Define with prototype.
108750         * lib/getugroups.c: Include <string.h> unconditionally.
108752         * lib/getusershell.c: Include <stdlib.h> unconditionally.
108753         (getusershell, setusershell, endusershell, readname, main):
108754         Define with prototypes.
108756         * lib/group-member.c: Include group-member.h first.
108757         Include <stdlib.h> unconditionally.
108759         * lib/hard-locale.c: Include hard-locale.h first.
108760         Include <stdlib.h>, <string.h> unconditionally.
108762         * lib/hash.c (free, malloc): Remove decls.
108763         Include <stdlib.h> unconditionally.
108765         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
108766         (getenv): Do not declare.
108768         * lib/idcache.c: Include <string.h> unconditionally.
108770         * lib/long-options.c: Include long-options.h first, to test interface.
108771         Include <stdlib.h> unconditionally.
108773         * lib/makepath.c: Include makepath.h first, to test interface.
108774         Include <stdlib.h> and <string.h> unconditionally.
108776         * lib/linebuffer.c: Include <stdlib.h>.
108777         (free): Remove decl.
108779         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
108780         stddef.h. rpl_malloc returns void *, not char *.
108781         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
108782         prototype.
108784         * lib/md5.h: Include <limits.h> unconditionally.
108785         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
108786         (__P): Remove; all uses removed.
108787         * lib/md5.c: Include "md5.h" first.
108788         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
108789         md5_buffer, md5_process_bytes, md5_process_block):
108790         Define with prototypes.
108791         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
108792         * lib/sha.c: Include "sha.h" first.
108793         Include <stdlib.h>, <string.h> unconditionally.
108795         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
108796         * lib/memcmp.c (__ptr_t): Likewise.
108797         * lib/memrchr.c (__ptr_t): Likewise.
108798         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
108799         Include <string.h> unconditionally.
108800         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
108801         * lib/memchr.c: Include <stdlib.h> unconditionally.
108802         * lib/memchr.c (LONG_MAX): Remove.
108803         * lib/memrchr.c (LONG_MAX): Likewise.
108804         * lib/memchr.c (__memchr): Define via a prototype.
108805         * lib/memrchr.c (__memrchr): Likewise.
108806         * lib/memcmp.c (__P): Remove, and remove all uses.
108807         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
108808         Remove forward decls; no longer needed.
108809         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
108810         Use types required by C89 in prototype.
108812         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
108813         * lib/savedir.c: Likewise.
108814         * lib/mkdir.c (free): Remove decl.
108815         * lib/rmdir.c (rmdir): Define with a prototype.
108816         * lib/savedir.c: Include savedir.h first, to test interface.
108818         * lib/mktime.c (STDC_HEADERS): Remove.
108819         Include <stdlib.h>, <string.h> unconditionally.
108821         * lib/modechange.c: Include <stdlib.h> unconditionally.
108822         (malloc): Remove decl.
108824         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
108825         (free): Remove decl.
108827         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
108828         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
108829         (This type really should be intptr_t, but that's a C99ism.)
108830         (_obstack_memcpy): Remove: all uses changed to memcpy.
108831         Include <string.h> unconditionally.
108832         (struct obstack): Assume __STDC__ for types of members
108833         chunkfun, freefun, extra_arg.
108834         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
108835         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
108836         obstack_begin, obstack_specify_allocation,
108837         obstack_specify_allocation_with_arg, obstack_chunkfun,
108838         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
108839         Remove unprototyped decls and the macros that use them.
108840         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
108841         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
108842         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
108843         (defined __STDC__ && __STDC__)]:
108844         Remove nonprototyped code.
108845         Include <stdlib.h> unconditionally.
108846         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
108847         _obstack_allocated_p, _obstack_free, obstack_free,
108848         _obstack_memory_used, print_and_abort):
108849         Define using prototypes.
108850         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
108851         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
108852         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
108853         obstack_next_free, obstack_object_size, obstack_room) [0]:
108854         Remove unused, unprototyped code.
108856         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
108858         * lib/physmem.c (physmem_total, physmem_available, main): Define
108859         with prototypes.
108861         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
108862         (main): Define with a prototype.
108864         * lib/posixver.c (getenv): Remove decl.
108866         * lib/putenv.c (malloc): Returns void *, not char *.
108867         Include <string.h> unconditionally.
108868         (strchr, memcpy, NULL): Do not define.
108870         * lib/readtokens.c: Include readtokens.h first, to test interface.
108871         Include <stdlib.h>, <string.h> unconditionally.
108872         (init_tokenbuffer): Define with a prototype.
108874         * lib/regex.c (PARAMS): Remove.  All uses removed.
108875         All uses of _RE_ARGS removed, too.
108876         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
108877         unconditionally.
108878         (bzero): Assume memset exists.
108879         (memcmp, memcpy, NULL): Remove.
108880         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
108881         char, or assignments to local vars of type signed char.
108882         (init_syntax_once, PREFIX(extract_number_and_incr),
108883         PREFIX(print_partial_compiled_pattern),
108884         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
108885         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
108886         PREFIX(regex_grow_registers), PREFIX(regex_compile),
108887         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
108888         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
108889         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
108890         wcs_compile_range, byte_compile_range, truncate_wchar,
108891         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
108892         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
108893         count_mbs_length, wcs_re_match_2_internal,
108894         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
108895         PREFIX(alt_match_null_string_p),
108896         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
108897         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
108898         regfree, PREFIX(extract_number)): Define with prototype.  Remove
108899         now-unnecessary declaration, if any.
108900         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
108901         regcomp, regexec):
108902         Remove now-unnecessary casts among pointer types.
108903         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
108905         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
108906         (free): Remove decl.
108908         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
108910         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
108911         (free): Remove decl.
108913         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
108914         * lib/xgetcwd.c: Likewise.
108916         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
108917         (free): Remove decl.
108919         * lib/strchrnul.c (strchrnul): Define with a prototype.
108920         Fix bug: c_in was not converted to char before searching.
108922         The following changes are not K&R related:
108924         * lib/group-member.h: Include <sys/types.h>, so that this file is
108925         self-contained.
108926         * lib/makepath.h: Likewise.
108928         * lib/getusershell.c (readname, default_index, line_size, readname):
108929         Use size_t, not int, for sizes.
108930         (readname): If the size overflows, report an error instead of
108931         looping forever.
108933 2003-09-09  Paul Eggert  <eggert@twinsun.com>
108935         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
108936         libc.
108938 2003-09-09  Paul Eggert  <eggert@twinsun.com>
108940         * README: New section: portability guidelines.
108942 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
108944         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
108945         C89 spec.
108947 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
108949         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
108951 2003-09-08  Paul Eggert  <eggert@twinsun.com>
108953         Assume C89 or better; remove K&R cruft.
108954         A few of these changes were first proposed by Derek Robert Price
108955         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
108957         * lib/addext.c: Include <string.h> unconditionally.
108958         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
108959         Don't declare getenv or malloc.
108961         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
108962         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
108963         (NULL): Remove.
108964         (find_stack_direction, alloca): Use prototypes.
108966         * lib/atexit.c (atexit): Define using a prototype.
108968         * lib/basename.c, dirname.c, stripslash.c:
108969         Include <string.h> unconditionally.
108971         * lib/bcopy.c: Include <stddef.h>.
108972         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
108974         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
108976         * lib/error.h (error, error_at_line, error_print_progname)
108977         [! (defined (__STDC__) && __STDC__)]: Remove decls.
108978         * lib/error.c: Include error.h first, to check interface.
108979         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
108980         (VA_START): Remove; all uses changeed to va_start.
108981         (exit, strerror): Remove decls.
108982         (error_print_progname): Prototype uncondionally.
108983         Don't include <errno.h>; no longer needed.
108984         (private_strerror): Remove.
108985         (error_tail): Always define.
108986         (error, error_at_line): Assume C89 or better; always use prototypes.
108987         * lib/fatal.c: Include "fatal.h" first, to test interface.
108988         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
108989         (VA_START): Remove; all uses changed to va_start.
108990         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
108991         this case.
108992         (exit): Remove decl.
108993         (fatal): Prototype unconditionally.  Assume va_start works.
108994         Abort at end, to pacify gcc.
108996         * lib/euidaccess.c (main): Define with a prototype.
108998         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
109000         * lib/exitfail.c: Include <stdlib.h> unconditionally.
109002         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
109003         prototypes.
109004         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
109005         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
109006         (getenv): Remove decl.
109007         (fnmatch): Define using a prototype.
109008         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
109009         (FCT): Define using a prototype.
109011         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
109013         * lib/gethostname.c: Include <stddef.h>.
109014         (gethostname): Define with prototype.  Length is size_t, not int.
109016 2003-09-08  Paul Eggert  <eggert@twinsun.com>
109018         Assume C89 or better; remove K&R cruft.
109019         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
109020         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
109021         string.h, getenv, malloc.
109022         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
109023         headers.
109024         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
109025         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
109026         do not check for strerror.
109027         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
109028         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
109029         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
109030         do not check for doprnt or vprintf.
109031         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
109032         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
109034 2003-09-08  Paul Eggert  <eggert@twinsun.com>
109036         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
109037         getversion.c should have been removed then, but was accidentally
109038         preserved.
109040         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
109041         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
109043 2003-09-08  Karl Berry  <karl@gnu.org>
109045         * config/config.sub, config.guess, srclistvars.sh: update from savannah
109046                 config, forget about prep.
109048         * config/depcomp, missing: update from automake.
109050 2003-09-07  Paul Eggert  <eggert@twinsun.com>
109052         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
109053         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
109055 2003-09-07  Paul Eggert  <eggert@twinsun.com>
109057         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
109058         copy_tm_result.  Bug reported by Simon Josefsson in
109059         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
109061 2003-09-06  Paul Eggert  <eggert@twinsun.com>
109063         * m4/time_r.m4: New file.
109064         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
109065         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
109066         is. Check for timegm declaration.
109067         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
109068         Do not check for gmtime_r.
109069         Replace mktime if __mktime_internal does not exist and if mktime
109070         hasn't been replaced already.
109072 2003-09-06  Paul Eggert  <eggert@twinsun.com>
109074         * lib/time_r.c, lib/time_r.h: New files.
109076         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
109077         __localtime_r.
109078         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
109079         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
109081         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
109082         __gmtime_r.
109083         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
109084         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
109085         Include <time_r.h>.
109087         * lib/timegm.c: Switch to glibc implementation, with the following
109088         changes:
109089         [defined HAVE_CONFIG_H]: Include <config.h>.
109090         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
109091         (__mktime_internal) [!defined _LIBC]: New decl.
109092         (__gmtime_r) [!defined _LIBC]: New macro and function.
109093         (timegm): Use a prototype, since gnulib assumes C89.
109094         Do not bother declaring tmp to be const, as it's not really usefu.
109095         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
109096         (timegm): Declare only if HAVE_DECL_TIMEGM.
109098 2003-09-06  Paul Eggert  <eggert@twinsun.com>
109100         * MODULES.html.sh (func_all_modules): Add time_r.
109101         * modules/time_r: New file.
109102         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
109103         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
109105 2003-09-03  Paul Eggert  <eggert@twinsun.com>
109107         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
109108         Bug reported by Lute Kamstra in
109109         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
109111         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
109112         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
109113         course with correspondingly smaller numbers for tomorrow and
109114         yesterday.  From Tadayoshi Funaba.  Originally installed into
109115         sh-utils on 1999-08-07, but the patch got lost (I guess during the
109116         coreutils merge?).
109118 2003-08-31  Simon Josefsson  <jas@extundo.com>
109120         * modules/timegm: New file.
109121         * MODULES.html.sh (func_all_modules): Add timegm.
109123 2003-08-31  Simon Josefsson  <jas@extundo.com>
109125         * m4/timegm.m4: New file.
109127 2003-08-31  Simon Josefsson  <jas@extundo.com>
109129         * lib/timegm.h: New file.
109130         * lib/timegm.c: New file.  Based on
109131         wget-1.8.2/src/http.c:mktime_from_utc.
109133 2003-08-31  Karl Berry  <karl@gnu.org>
109135         * lib/argp.h: update from libc.
109137 2003-08-28  Bruno Haible  <bruno@clisp.org>
109139         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
109140         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
109141         followed by '#define fnmatch fnmatch_posix' gives an error.
109143 2003-08-28  Bruno Haible  <bruno@clisp.org>
109145         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
109146         warning on QNX, which defines O_BINARY to 000000.
109148 2003-08-27  Jim Meyering  <jim@meyering.net>
109150         * m4/mkstemp.m4: Require that the system mkstemp be able to create
109151         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
109152         would fail after 32.  Reported by Danny Levinson.  Details here:
109153         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
109155 2003-08-24  Bruno Haible  <bruno@clisp.org>
109157         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
109158         MSVC7 <stdio.h> is included later.
109160 2003-08-22  Simon Josefsson  <jas@extundo.com>
109162         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
109164 2003-08-20  Karl Berry  <karl@gnu.org>
109166         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
109168 2003-08-20  Bruno Haible  <bruno@clisp.org>
109170         * modules/progname: New file.
109171         * MODULES.html.sh (func_all_modules): Add progname.
109173 2003-08-20  Bruno Haible  <bruno@clisp.org>
109175         * lib/progname.h: New file, from GNU gettext.
109176         * lib/progname.c: New file, from GNU gettext.
109177         * lib/progreloc.c: New file, from GNU gettext.
109179 2003-08-19  Jim Meyering  <jim@meyering.net>
109181         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
109182         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
109184 2003-08-19  Bruno Haible  <bruno@clisp.org>
109186         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
109187         more.
109189 2003-08-19  Bruno Haible  <bruno@clisp.org>
109191         * lib/xstrdup.c: Assume <string.h> exists.
109193 2003-08-18  Paul Eggert  <eggert@twinsun.com>
109195         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
109196         in makefile rules.
109198 2003-08-18  Jim Meyering  <jim@meyering.net>
109200         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
109201         * m4/lib-ld.m4: Likewise.
109203 2003-08-18  Jim Meyering  <jim@meyering.net>
109205         * lib/setenv.h: Indent nested cpp directive.
109206         * lib/vasnprintf.c: Remove trailing blanks.
109208 2003-08-17  Simon Josefsson  <jas@extundo.com>
109210         * modules/xstrndup: New file.
109211         * MODULES.html.sh (func_all_modules): Add xstrndup.
109213 2003-08-17  Simon Josefsson  <jas@extundo.com>
109215         * modules/argp: Fix autoconf macro name. Add more dependencies.
109217 2003-08-17  Simon Josefsson  <jas@extundo.com>
109219         * m4/xstrndup.m4: New file.
109221 2003-08-17  Simon Josefsson  <jas@extundo.com>
109223         * m4/argp.m4: New file.
109225 2003-08-17  Simon Josefsson  <jas@extundo.com>
109226             Bruno Haible  <bruno@clisp.org>
109228         * lib/xstrndup.h: New file.
109229         * lib/xstrndup.c: New file.
109231 2003-08-17  Bruno Haible  <bruno@clisp.org>
109233         * modules/strndup (Files, Include): Add lib/strndup.h.
109235 2003-08-17  Bruno Haible  <bruno@clisp.org>
109237         * modules/euidaccess (Files): Add lib/euidaccess.h.
109239 2003-08-17  Bruno Haible  <bruno@clisp.org>
109241         * lib/strndup.h: New file.
109243 2003-08-17  Bruno Haible  <bruno@clisp.org>
109245         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
109246         like AC_GNU_SOURCE.
109247         * modules/extensions (configure.ac): Comment out the invocation of
109248         gl_USE_SYSTEM_EXTENSIONS.
109250 2003-08-16  Paul Eggert  <eggert@twinsun.com>
109252         Merges from coreutils, etc.
109253         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
109254         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
109255         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
109256         fixing a typo.
109257         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
109258         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
109260 2003-08-16  Paul Eggert  <eggert@twinsun.com>
109262         Document merge from coreutils.
109263         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
109264         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
109265         * modules/utime: Add m4/utimes-null.m4.
109267 2003-08-16  Paul Eggert  <eggert@twinsun.com>
109269         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
109270         space, undoing this 2003-08-12 change:
109271         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
109273 2003-08-16  Paul Eggert  <eggert@twinsun.com>
109275         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
109276         strtoul.c from libc, undoing this 2003-08-12 change:
109277         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
109279 2003-08-16  Jim Meyering  <jim@meyering.net>
109281         Merges from coreutils.
109282         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
109283         prefix.  Adjust cache variables similarly.  Create 500 rather than
109284         just 300 files, to exercise bug on Darwin6.5, too.
109285         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
109286         $missing_dir.
109287         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
109288         AM_SYS_POSIX_TERMIOS.
109289         Reported by mkc@mathdogs.com.
109290         Also change use of $am_cv_sys_posix_termios
109291         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
109292         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
109293         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
109294         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
109295         in /proc/mounts until it finds one with matching device number.  This
109296         is unnecessary when the FILE argument *is* a mount point.  No stat call
109297         is necessary in that case.  So, disable the statvfs-testing code on
109298         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
109299         as RedHat bug# 84846.
109300         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
109301         to 1MB, so as not to render systems with no stack size limit (e.g.,
109302         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
109303         Include <unistd.h>.  On some systems,
109304         it is required for the definition of _SC_PAGESIZE.
109306 2003-08-16  Jim Meyering  <jim@meyering.net>
109308         Merge from coreutils.
109309         * lib/xstrtoimax.c: #else #if -> #elif.
109310         * lib/xstrtoumax.c: Likewise.
109312 2003-08-16  Jim Meyering  <jim@meyering.net>
109314         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
109315         * m4/utimes.m4: Removed.
109316         * m4/utimes-null.m4: Renamed from utimes.m4.
109318         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
109319         to 1MB, so as not to render systems with no stack size limit (e.g.,
109320         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
109321         Include <unistd.h>.  On some systems,
109322         it is required for the definition of _SC_PAGESIZE.
109324 2003-08-16  Jim Meyering  <jim@meyering.net>
109325         and Paul Eggert  <eggert@cs.ucla.edu>
109327         Merges from coreutils, etc.
109329         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
109330         using the latest version from cvs.  This avoids problems with #line
109331         directives using a vendor (Sun) compiler.
109332         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
109333         Don't set GETGROUPS_LIB here; now it's
109334         done via getgroups.m4's wrapper function.
109335         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
109336         rather than just in sh-util/configure.in, so that the
109337         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
109338         same.
109339         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
109340         AC_FUNC_GETLOADAVG where to find getloadavg.c.
109341         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
109342         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
109343         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
109344         Remove code that is now done by the newly-required macros.
109345         Append $(EXEEXT) to DF_PROG.
109346         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
109347         Do not invoke or require the following here,
109348         since prereq.m4 or some gnulib .m4 now does this for us:
109349         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
109350         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
109351         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
109352         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
109353         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
109354         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
109355         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
109356         AC_FUNC_OBSTACK.
109357         Do not replace the following functions, as this is now the job
109358         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
109359         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
109360         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
109361         atexit getpass, strdup, getpagesize.
109362         Replace 'raise'.
109363         Do not check for the following functions, as this is now the job
109364         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
109365         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
109366         setregid.
109367         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
109368         Check for sys/sysctl.h.
109369         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
109370         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
109371         of checking for ssize_t ourselves.
109373         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
109374         Require every macro that gnulib/modules/* suggests for us.
109375         (jm_PREREQ_ADDEXT): New macro.
109376         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
109377         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
109379         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
109380         (gl_PHYSMEM): Use it.
109381         Also check for `table' function.
109382         Check for new headers and functions.
109383         Add check for sys/sysmp.h.
109384         With suggestions from Kaveh Ghazi.
109385         Ignore headers that are present but cannot be compiled.  This
109386         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
109387         C 5.4.
109389 2003-08-15  Paul Eggert  <eggert@twinsun.com>
109391         Document merge from coreutils.
109392         * modules/userspec: Depend on posixver.
109393         * modules/strftime: Depend on tzset.
109395 2003-08-15  Paul Eggert  <eggert@twinsun.com>
109397         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
109398         rather than tab, after '#' in shell-script copyright notices.
109399         Suggested by Bruno Haible.
109401 2003-08-15  Paul Eggert  <eggert@twinsun.com>
109403         * config/srclist-update: Use three spaces, rather than tab, after '#'
109404         in shell-script copyright notices.  Suggested by Bruno Haible.
109405         Remove unnecessary parenthesization in regular expression.
109407 2003-08-15  Jim Meyering  <jim@meyering.net>
109409         Merge from coreutils.
109410         * lib/xgethostname.c: Include <stdlib.h>.
109411         (xghostname): Don't exit for anything other than memory-related
109412         failure; just return NULL.
109413         * lib/userspec.c: Include "posixver.h".
109414         (parse_user_spec): Accept `.' as a separator only
109415         in pre-POSIX-200112 mode.
109416         * lib/strtoimax.c: Use #elif rather than #else #if.
109417         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
109418         Remove function, now that we can rely on a working tzset function.
109419         [!_LIBC]: Ensure that the required autoconf test has been run.
109420         [!defined _NL_CURRENT && HAVE_STRFTIME]:
109421         Use underlying_strftime for %r.
109422         * lib/sha.c: Merge in some clean-up and optimization changes from
109423         glibc.
109424         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
109425         Ensure that it is a multiple of 64.
109426         Rearrange loop exit tests so as to avoid performing an
109427         additional fread after encountering an error or EOF.
109428         * lib/realloc.c: Update copyright date.
109430 2003-08-15  Jim Meyering  <jim@meyering.net>
109431         and Paul Eggert  <eggert@twinsun.com>
109433         Merge from coreutils.
109434         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
109435         member but strut utmpx does not.  Needed for AIX 4.3.3.
109436         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
109438 2003-08-15  Jim Meyering  <jim@meyering.net>
109439         and Paul Eggert  <eggert@cs.ucla.edu>
109441         Merges from coreutils, etc.
109442         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
109443         Require gl_FUNC_TZSET_CLOBBER.
109444         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
109445         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
109446         members.
109448 2003-08-14  Paul Eggert  <eggert@twinsun.com>
109450         Help the merge from coreutils.
109451         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
109452         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
109453         * m4/tzset.m4: Use it too.
109455 2003-08-14  Paul Eggert  <eggert@twinsun.com>
109457         * modules/tzset: New file.
109459 2003-08-14  Jim Meyering  <jim@meyering.net>
109461         Merges from coreutils.
109462         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
109463         variable names, rather than @FNMATCH_H@.
109464         * modules/alloca: Likewise for $(ALLOCA_H).
109466         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
109467         the three copies of the literal target, `fnmatch.h'.
109468         * modules/alloca (alloca.h): Likewise.
109470 2003-08-14  Jim Meyering  <jim@meyering.net>
109472         Merge from coreutils.
109473         * m4/tzset.m4: New file.
109474         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
109475         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
109476         otherwise, AIX 5.1 systems would end up using the latter.
109477         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
109478         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
109479         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
109480         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
109482 2003-08-14  Jim Meyering  <jim@meyering.net>
109484         Merge from coreutils.
109485         * lib/obstack.h: Whitespace changes.
109486         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
109487         and xcalloc return values.
109488         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
109489         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
109490         hang on OSF/1 5.1 for DIR on both local and remote file systems.
109491         Reported by (and fix confirmed by) Nelson H. F. Beebe.
109492         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
109493         error from mntctl.
109494         Use mntctl's return value to drive the entry-processing loop, since
109495         we can't rely on the value of the vmt_length member in the last
109496         entry.  On some systems doing so could result in exhausting
109497         virtual memory.  Based in part on a patch from Mike Jetzer.
109499 2003-08-14  Jim Meyering  <jim@meyering.net>
109500         and Paul Eggert  <eggert@twinsun.com>
109502         Merges from coreutils, plus other fixes.
109503         * lib/physmem.c: Merge in portability changes from gcc/libiberty
109504         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
109505         for credits and details.  Thanks to Kaveh Ghazi for helping
109506         to keep these files in sync.
109507         (ARRAY_SIZE): Define it.
109508         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
109509         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
109510         (memcasecmp): Don't assume size_t fits in unsigned int.
109511         Remove casts and duplicate code.
109512         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
109513         (memcpy): Remove definition.
109514         Merge in some clean-up and optimization changes from glibc.
109515         [BLOCKSIZE]: Move definition to top of file.
109516         Ensure that it is a multiple of 64.
109517         Rearrange loop exit tests so as to avoid performing an
109518         additional fread after encountering an error or EOF.
109519         * lib/md5.h (md5_uintptr): Define.
109520         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
109521         return to the initial working directory.  Preserve errno
109522         for caller.
109523         * lib/idcache.c: Include "xalloc.h".
109524         (xmalloc, xrealloc): Remove decls.
109525         (getuser): Remove casts no longer required in C89.
109526         * lib/human.c: Include stdio.h, for sprintf.
109527         * lib/group-member.c: Include "xalloc.h".
109528         (xmalloc, xrealloc): Remove decls.
109529         (get_group_info): Remove casts no longer required in C89.
109530         * lib/getusershell.c (readname): Remove casts no longer required in
109531         C89.
109532         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
109533         * lib/getline.c: Whitespace fix, from coreutils.
109535 2003-08-13  Paul Eggert  <eggert@twinsun.com>
109537         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
109538         Check for isascii.
109540         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
109541         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
109542         Undo previous (whitespace-only) change.
109544 2003-08-13  Paul Eggert  <eggert@twinsun.com>
109546         * lib/exclude.c: Include <ctype.h>
109547         (IN_CTYPE_DOMAIN): New macro.
109548         (is_space): New fn.
109549         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
109550         and empty lines.
109552         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
109553         Undo previous (whitespace-only) change.
109555 2003-08-13  Paul Eggert  <eggert@twinsun.com>
109557         * config/srclist-update: Change update back to the old behavior,
109558         leaving whitespace alone.  Use one 'sed' command rather than a
109559         pipeline.
109560         (fixlicense): Now a variable, not a function.
109561         (remove_trailing_blanks): Remove.
109562         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
109563         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
109564         Undo previous (whitespace-only) change.
109566 2003-08-12  Paul Eggert  <eggert@twinsun.com>
109568         Merge from coreutils.
109569         * modules/euidaccess: Add lib_SOURCES, include for new
109570         file euidaccess.h
109572 2003-08-12  Paul Eggert  <eggert@twinsun.com>
109574         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
109575         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
109576         Normalize leading white space and remove trailing white space.
109578         Merge from coreutils
109579         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
109581         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
109582         0.12.1.  These files are now being upgraded automatically by
109583         ../config/srclist-update.
109585 2003-08-12  Paul Eggert  <eggert@twinsun.com>
109587         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
109588         Normalize leading white space and remove trailing white space.
109589         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
109590         notice, as per ../config/srclist-update.
109592         Merge from coreutils.
109593         * lib/euidaccess.h: New file.
109594         * lib/euidaccess.c: Include it.
109595         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
109596         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
109597         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
109599 2003-08-12  Paul Eggert  <eggert@twinsun.com>
109601         * config/srclist-update: Add copyright notice.
109602         (remove_id_lines, remove_trailing_blanks): New constants.
109603         (fixfile): Use them to normalize spacing a bit in copied files.
109604         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
109605         Normalize leading white space and remove trailing white space.
109607         * config/texinfo.tex: Sync with texinfo.
109609         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
109610         strtoul.c from libc, to merge coreutils whitespace changes.
109612         * config/srclist.txt: Get the following m4 files from gettext:
109613         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
109614         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
109615         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
109616         wint_t.m4.
109618 2003-08-12  Karl Berry  <karl@gnu.org>
109620         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
109621         been made.
109623 2003-08-11  Paul Eggert  <eggert@twinsun.com>
109625         * modules/gnu-source, m4/gnu-source.m4:
109626         Remove; we're assuming Autoconf 2.54 or later now.
109627         Suggested by Bruno Haible.
109628         * MODULES.html.sh (func_all_modules): Remove gnu-source.
109630 2003-08-11  Bruno Haible  <bruno@clisp.org>
109632         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
109634 2003-08-11  Bruno Haible  <bruno@clisp.org>
109636         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
109637         (vasnprintf): Use it instead of wcslen.
109639 2003-08-11  Bruno Haible  <bruno@clisp.org>
109641         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
109642         value to ensure that _Bool promotes to int. Use #define for _Bool when
109643         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
109645 2003-08-10  Karl Berry  <karl@gnu.org>
109647         * lib/regex.h: update from libc (whitespace fix).
109649 2003-08-09  Paul Eggert  <eggert@twinsun.com>
109651         Merge some files from coreutils.  These changes were
109652         originally made by Jim Meyering.
109653         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
109654         many older Unixes require this.
109655         * lib/alloca.c (alloca): Remove cast to argument of free;
109656         no longer needed in C89.
109657         * lib/alloca_.h, regex.h: Fix white space to match
109658         what GNU indent does.
109660 2003-08-09  Paul Eggert  <eggert@twinsun.com>
109662         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
109663         apparently Emacs's Unicode mode got confused before my 2003-08-05
109664         checkin.
109666 2003-08-08  Paul Eggert  <eggert@twinsun.com>
109668         * m4/extensions.m4: New file.
109669         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
109670         Require gl_USE_SYSTEM_EXTENSIONS.
109671         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
109672         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
109674 2003-08-08  Paul Eggert  <eggert@twinsun.com>
109676         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
109677         * modules/extensions, modules/gnu-source: New files.
109678         * modules/timespec, modules/unlocked-io: Depend on extensions.
109680 2003-08-07  Paul Eggert  <eggert@twinsun.com>
109682         * modules/restrict: New file.
109683         * MODULES.html.sh (func_all_modules): Add restrict.
109684         * modules/regex: Depend on restrict.
109686 2003-08-07  Paul Eggert  <eggert@twinsun.com>
109688         * m4/restrict.m4: New file.
109689         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
109691 2003-08-07  Bruno Haible  <bruno@clisp.org>
109693         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
109694         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
109696 2003-08-07  Bruno Haible  <bruno@clisp.org>
109698         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
109699         makes the module 'getndelim2' compatible with the module 'getline'.
109701 2003-08-05  Paul Eggert  <eggert@twinsun.com>
109703         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
109704         byte with "\201" to avoid glitches when editing that source file
109705         with multi-gnome-terminal.
109707 2003-08-05  Paul Eggert  <eggert@twinsun.com>
109709         * lib/bumpalloc.h: Remove.
109711 2003-08-05  Paul Eggert  <eggert@twinsun.com>
109713         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
109714         * modules/bumpalloc: Remove.
109716 2003-08-04  Paul Eggert  <eggert@twinsun.com>
109718         * lib/getloadavg.c: Change copyright notice and spacing to conform to
109719         GNU coding style.
109721         Merge from coreutils.
109722         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
109723         1. From glibc.
109724         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
109725         from Karl Berry, implemented by Jim Meyering.
109726         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
109727         from Dmitry V. Levin.
109728         Remove anachronistic cast of xrealloc.
109729         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
109730         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
109731         type. Otherwise, it wouldn't compile with at least /bin/cc on
109732         ymp-cray-unicos9.0.2.X.
109733         Combine two mostly-identical uses of alloca into one.
109734         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
109736 2003-08-04  Dave Love  <d.love@dl.ac.uk>
109738         [From Emacs.]
109740         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
109741         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
109742         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
109743         obsolete NLIST_NAME_UNION.
109744         [__GNU__]: Undef BSD and FSCALE.
109745         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
109747 2003-08-03  Paul Eggert  <eggert@twinsun.com>
109749         * lib/stdbool_.h (_Bool): Make it signed char, instead of
109750         an enum type, so that it's guaranteed to promote to int.  See:
109751         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
109753 2003-08-03  Karl Berry  <karl@gnu.org>
109755         * config/depcomp: update from automake.
109757 2003-07-31  Paul Eggert  <eggert@twinsun.com>
109759         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
109760         (strerror): Don't assume that a printable int fits in 14 bytes.
109762 2003-07-31  Bruno Haible  <bruno@clisp.org>
109764         * modules/getpass-gnu: New file.
109765         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
109767 2003-07-31  Bruno Haible  <bruno@clisp.org>
109769         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
109771 2003-07-24  Karl Berry  <karl@gnu.org>
109773         * config/missing: update from automake.
109775 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
109776             Bruno Haible  <bruno@clisp.org>
109778         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
109779         * lib/getline.c (getline, getdelim): Likewise.
109780         Remove _GNU_SOURCE define; now it's defined in config.h through
109781         m4/getline.m4.
109783 2003-07-23  Karl Berry  <karl@gnu.org>
109785         * config/config.sub: update from prep.
109787 2003-07-22  Paul Eggert  <eggert@twinsun.com>
109789         * modules/xalloc (Depends-on): Add exitfail.
109790         * modules/xmemcoll: Likewise.
109792 2003-07-22  Paul Eggert  <eggert@twinsun.com>
109794         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
109795         over-parenthesization in macros.
109797         Sync with coreutils.
109799         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
109800         required by C99.
109802         Use `exit_failure' for xalloc and xmemcoll instead of their own
109803         private exit-failure variables.
109804         * lib/xalloc.h (xalloc_exit_failure): Remove.
109805         * lib/xmalloc.c: Likewise.  Include exitfail.h.
109806         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
109807         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
109808         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
109809         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
109811 2003-07-20  Jim Meyering  <jim@meyering.net>
109813         * modules/closeout (Depends-on): Add exitfail.
109814         Suggestion from Bruno Haible.
109816 2003-07-19  Karl Berry  <karl@gnu.org>
109818         * config/config.sub: update from prep.
109820 2003-07-18  Paul Eggert  <eggert@twinsun.com>
109822         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
109823         Remove.
109824         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
109825         to test that it can stand by itself.  Include "exitfail.h".
109826         Clients should set exit_failure instead.
109827         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
109829 2003-07-18  Bruno Haible  <bruno@clisp.org>
109831         * modules/getndelim2: New file.
109832         * modules/getline: Share files with module getndelim2.
109833         * modules/getnline: Depend on getndelim2 instead of sharing files with
109834         it. Add getnline.c to lib_SOURCES.
109835         * MODULES.html.sh (func_all_modules): Add getndelim2.
109837 2003-07-18  Bruno Haible  <bruno@clisp.org>
109839         * m4/getndelim2.m4: New file.
109840         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
109841         invoke gl_PREREQ_GETNDELIM2.
109842         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
109843         gl_PREREQ_GETNDELIM2.
109844         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
109845         gl_GETNDELIM2.
109847 2003-07-18  Bruno Haible  <bruno@clisp.org>
109849         * lib/getndelim2.h: New file.
109850         * lib/getndelim2.c: Make into a module of its own. Include config.h,
109851         getndelim2.h.
109852         (getndelim2): Make non-static. Change return type to ssize_t.
109853         * lib/getline.h: Change argument names.
109854         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
109855         * lib/getnline.c: Include getndelim2.h.
109857 2003-07-18  Andreas Schwab  <schwab@suse.de>
109859         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
109861 2003-07-17  Karl Berry  <karl@gnu.org>
109863         * config/config.sub: update from prep.
109865 2003-07-17  Bruno Haible  <bruno@clisp.org>
109867         * modules/getnline: New file.
109868         * modules/getline: Add lib/getndelim2.c to source file list.
109869         * MODULES.html.sh (func_all_modules): Add getnline.
109871 2003-07-17  Bruno Haible  <bruno@clisp.org>
109873         * m4/getnline.m4: New file.
109875 2003-07-17  Bruno Haible  <bruno@clisp.org>
109877         * m4/Makefile.am.in: Remove file.
109878         * m4/Makefile.am: Remove file.
109879         * m4/Makefile.in: Remove file.
109881 2003-07-17  Bruno Haible  <bruno@clisp.org>
109883         * lib/getnline.h: New file.
109884         * lib/getnline.c: New file.
109885         * lib/getndelim2.c: New file, extracted from getline.c.
109886         (getndelim2): Renamed from getdelim2, with added nmax argument.
109887         * lib/getline.c: Include getndelim2.c.
109888         (getdelim2): Moved out to getndelim2.c.
109889         (getline, getdelim): Update.
109891 2003-07-17  Bruno Haible  <bruno@clisp.org>
109893         * lib/Makefile.am: Remove file.
109894         * lib/Makefile.in: Remove file.
109896 2003-07-17  Bruno Haible  <bruno@clisp.org>
109898         * configure.in: Remove file.
109899         * Makefile.in: Remove file.
109901 2003-07-17  Bruno Haible  <bruno@clisp.org>
109903         * MODULES.html.sh: Put the </BODY> right before </HTML>.
109905 2003-07-16  Karl Berry  <karl@gnu.org>
109907         * config/srclist-update: was running fixlicense twice, which caused
109908                 texinfo.tex to be nullified for some reason.  Simplify,
109909                 $gplsrc is no longer needed as far as I can see?
109911 2003-07-16  Jim Meyering  <jim@meyering.net>
109913         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
109915 2003-07-15  Paul Eggert  <eggert@twinsun.com>
109917         * config/srclist.txt: Get the following files from gettext-runtime/intl
109918         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
109919         ref-del.sin.  From Bruno Haible.
109920         * config/srclist-update (fixfile): Change grep pattern again, since the
109921         previous fix didn't work (there was another trailing $).  Use
109922         '[$]' to escape the $s.
109924 2003-07-15  Karl Berry  <karl@gnu.org>
109926         * lib/vasnprintf.c: update from gettext.
109928 2003-07-15  Karl Berry  <karl@gnu.org>
109930         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
109931         gets expanded when surrounded by '$'.
109933 2003-07-15  Jim Meyering  <jim@meyering.net>
109935         * modules/save-cwd: Don't depend on error.  From Derek Price.
109937 2003-07-15  Jim Meyering  <jim@meyering.net>
109939         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
109941 2003-07-14  Simon Josefsson  <jas@extundo.com>
109943         * modules/mempcpy: New file.
109944         * MODULES.html.sh (func_all_modules): Add mempcpy.
109946 2003-07-14  Simon Josefsson  <jas@extundo.com>
109948         * m4/mempcpy.m4: New file.
109950 2003-07-14  Simon Josefsson  <jas@extundo.com>
109952         * lib/mempcpy.h: New file.
109953         * lib/mempcpy.c: New file.
109955 2003-07-14  Paul Eggert  <eggert@twinsun.com>
109957         * modules/getdate, modules/posixtm: Depend on mktime.
109959 2003-07-14  Paul Eggert  <eggert@twinsun.com>
109961         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
109962         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
109963         unicodeio.c, unicodeio.h, unlocked-io.h:
109964         Switch from LGPL to GPL.
109966 2003-07-14  Paul Eggert  <eggert@twinsun.com>
109968         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
109969         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
109970         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
109971         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
109972         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
109973         updated automatically by ../config/srclist-update.  This changes
109974         their license from LPGL to GPL.
109976 2003-07-14  Paul Eggert  <eggert@twinsun.com>
109978         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
109979         assumed to refer to the root of the most recent stable gettext version.
109980         * config/srclistvars.sh: Add defaults for eggert.
109981         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
109982         Match "This program" as well as "The program".  This is needed
109983         for gettext.
109985 2003-07-14  Jim Meyering  <jim@meyering.net>
109987         Don't emit diagnostics.  Let callers do that.
109988         * lib/save-cwd.c: Don't include "error.h".
109989         (save_cwd): Don't call error.  Ensure that errno is valid
109990         when returning nonzero.
109992         * lib/save-cwd.h (restore_cwd): Update prototype.
109993         * lib/save-cwd.c (restore_cwd): Remove two parameters.
109994         Simplify.  Don't call error upon failure.  Let callers do that.
109995         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
109996         when auditing is enabled.  But don't bother updating the #if.
109998 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
110000         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
110001         it breaks C++ compilation.
110002         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
110004 2003-07-10  Simon Josefsson  <jas@extundo.com>
110006         * modules/strchrnul (Makefile.am): Add strchrnul.h.
110008 2003-07-10  Jim Meyering  <jim@meyering.net>
110010         * m4/clock_time.m4: Remove trailing blank.
110011         * m4/intmax_t.m4: Likewise.
110013 2003-07-10  Jim Meyering  <jim@meyering.net>
110015         * lib/vasnprintf.c: Remove trailing blanks.
110016         Make cpp indentation consistent.
110018 2003-07-09  Paul Eggert  <eggert@twinsun.com>
110020         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
110021         posixver.c, strftime.c, strnlen.c, strverscmp.c:
110022         Switch from LGPL to GPL.
110024 2003-07-09  Paul Eggert  <eggert@twinsun.com>
110026         * config/srclist.txt: Sort sublists.  Add
110027         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
110028         that differ from gnulib for one reason or another; we'd like this list
110029         to be smaller but for now let's document what we have.
110031 2003-07-08  Paul Eggert  <eggert@twinsun.com>
110033         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
110034         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
110035         and sweeter "eval x=$x".
110036         * config/srclist.txt: Get lib/argp* from glibc.
110038 2003-07-07  Paul Eggert  <eggert@twinsun.com>
110040         * lib/mktime.c: Fix some boundary cases and remove need for floating
110041         point.
110043         Issue a compile-time diagnostic if time_t is floating point, or if
110044         two's complement arithmetic is not in effect, or if arithmetic
110045         right shift does not propagate the sign.  These assumptions were
110046         all in the original code but they weren't checked.
110048         (TIME_T_MIDPOINT, verify): New macros.
110049         (__isleap): Remove; it has integer overflow problems.
110050         (leapyear): New function, without those problems.
110051         (ydhms_tm_diff): Remove; splitting into two parts.
110052         (ydhms_diff): New function, containing the arithmetic part of
110053         the old ydhms_tm_diff function.  Issue a compile-time
110054         diagnostic if we are not using C99 integer division.
110055         Avoid casts when possible.
110056         (guess_time_tm): New function, containing the checking part of
110057         the old ydhms_tm_diff function.  Return the new value, rather than
110058         the difference between it and the old.  Accept a new argument T
110059         so that *T specifies the old value.  Check for overflow in the result.
110061         (__mktime_internal): Use a time_t offset, not a long int offset.
110062         This undoes the 2003-06-04 change, which is no longer needed now
110063         that we have better overflow checking.
110064         (localtime_offset): Likewise.
110066         (__mktime_internal): Avoid harmful overflow on hosts where time_t
110067         and long are 64-bit but int is only 32-bit.
110068         (ydhms_diff): Use long int to store year1 and yday1.
110069         Issue a compile-time diagnostic if long int is not wide enough.
110071         (__mktime_internal): Use long int to store adjusted year and yday.
110072         Use plain C rather than preprocessor commands, if that doesn't
110073         affect efficiency.
110074         Check for overflow (and try to repair) after each probe
110075         rather than checking only at the very end.  This avoids some bugs
110076         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
110077         does not equal GMT offset at maximum time).
110078         Use integer to check for overflow rather than floating point; this
110079         is more portable to non-IEEE hosts, and is a tad faster.
110080         When we detect that we are oscillating between two values,
110081         don't check whether tm_isdst has the requested value, since
110082         we already know the answer.  When tm_isdst has the wrong value,
110083         use a different heuristic to find the right one, based on the
110084         extreme values actually observed in practice in tz2003a,
110085         rather than the (overly optimistic) "previous 3 calendar quarters".
110087         (not_equal_tm, print_tm, check_result): Use "const T" rather than
110088         "T const" to accommodate glibc style.
110089         (check_result): Use less-confusing report format.  "long" -> "long int.
110090         (main): Likewise.
110091         Don't loop if the iteration overflows time_t.
110092         Allow a negative step in the iteration.
110094 2003-07-06  Karl Berry  <karl@gnu.org>
110096         * config/depcomp: update from automake.
110097         * config/config.sub: update from prep.
110099 2003-07-03  Karl Berry  <karl@gnu.org>
110101         * config/config.guess: update from prep.
110103 2003-07-01  Paul Eggert  <eggert@twinsun.com>
110105         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
110106         xreadlink.c now includes it unconditionally.
110108 2003-07-01  Paul Eggert  <eggert@twinsun.com>
110110         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
110111         having it depend on HAVE_SYS_TYPES_H.
110113 2003-07-01  Bruno Haible  <bruno@clisp.org>
110115         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
110116         <sys/types.h> should be sufficient.
110117         Reported by Paul Eggert.
110119 2003-06-26  Karl Berry  <karl@gnu.org>
110121         * config/depcomp: update from automake.
110123 2003-06-26  Bruno Haible  <bruno@clisp.org>
110125         * modules/human: Depend on module stdbool.
110127 2003-06-25  Bruno Haible  <bruno@clisp.org>
110129         * modules/readlink: New file.
110130         * modules/xreadlink: Depend on it.
110131         * MODULES.html.sh (func_all_modules): Add readlink.
110133 2003-06-25  Bruno Haible  <bruno@clisp.org>
110135         * m4/readlink.m4: New file.
110137 2003-06-25  Bruno Haible  <bruno@clisp.org>
110139         * lib/readlink.c: New file.
110141 2003-06-22  Karl Berry  <karl@gnu.org>
110143         * config/srclist.txt: update mkinstalldirs from automake.
110144         * config/mkinstalldirs: update.
110146 2003-06-22  Bruno Haible  <bruno@clisp.org>
110148         Portability to mingw32.
110149         * m4/ssize_t.m4: New file, from GNU gettext.
110150         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
110151         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
110153 2003-06-22  Bruno Haible  <bruno@clisp.org>
110155         * modules/safe-read: Add m4/ssize_t.m4.
110156         * modules/xreadlink: Add m4/ssize_t.m4.
110158 2003-06-20  Bruno Haible  <bruno@clisp.org>
110160         Assume C89, so PARAMS isn't needed.
110161         * lib/unicodeio.h (PARAMS): Remove.
110162         * lib/unicodeio.c: Don't use PARAMS.
110164 2003-06-18  Karl Berry  <karl@gnu.org>
110166         * config/config.{guess,sub}: update from prep.
110168 2003-06-18  Jim Meyering  <jim@meyering.net>
110170         Merge changes from coreutils.
110171         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
110172         Remove explicit declarations of xmalloc and realloc.
110173         Include xalloc.h.
110174         (read_utmp): Remove anachronistic cast of xmalloc.
110176 2003-06-17  Paul Eggert  <eggert@twinsun.com>
110178         Assume C89, so PARAMS isn't needed.
110179         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
110180         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
110181         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
110182         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
110183         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
110184         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
110185         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
110186         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
110187         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
110188         lib/xstrtod.h, lib/xstrtol.h: Likewise.
110189         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
110190         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
110191         no longer needed. Anyway, config.h should always be included before any
110192         other file.
110194 2003-06-11  Simon Josefsson  <jas@extundo.com>
110196         * modules/sysexits: New file.
110197         * MODULES.html.sh (func_all_modules): Add sysexits.
110199 2003-06-11  Simon Josefsson  <jas@extundo.com>
110201         * lib/sysexit_.h: New file.
110203 2003-06-11  Derek Price  <derek@ximbiot.com>
110205         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
110206         necessary.
110208 2003-06-11  Bruno Haible  <bruno@clisp.org>
110210         * m4/sysexits.m4: New file.
110212 2003-06-10  Simon Josefsson  <jas@extundo.com>
110214         * lib/argp.h: New file, from glibc.
110215         * lib/argp-ba.c: New file, from glibc.
110216         * lib/argp-eexst.c: New file, from glibc.
110217         * lib/argp-fmtstream.c: New file, from glibc.
110218         * lib/argp-fmtstream.h: New file, from glibc.
110219         * lib/argp-fs-xinl.c: New file, from glibc.
110220         * lib/argp-help.c: New file, from glibc.
110221         * lib/argp-namefrob.h: New file, from glibc.
110222         * lib/argp-parse.c: New file, from glibc.
110223         * lib/argp-pv.c: New file, from glibc.
110224         * lib/argp-pvh.c: New file, from glibc.
110225         * lib/argp-xinl.c: New file, from glibc.
110227 2003-06-10  Simon Josefsson  <jas@extundo.com>
110229         * modules/strchrnul: New file.
110231 2003-06-10  Simon Josefsson  <jas@extundo.com>
110233         * modules/argp: New file.
110235 2003-06-10  Simon Josefsson  <jas@extundo.com>
110237         * m4/strchrnul.m4: New file.
110239 2003-06-10  Simon Josefsson  <jas@extundo.com>
110241         * lib/strchrnul.h: New file.
110242         * lib/strchrnul.c: New file.
110244 2003-06-10  Bruno Haible  <bruno@clisp.org>
110246         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
110248 2003-06-07  Karl Berry  <karl@gnu.org>
110250         * config/config.{guess,sub}: update from prep.
110252 2003-06-07  Jim Meyering  <jim@meyering.net>
110254         * modules/strtod: Use $(...) notation, not @...@ for
110255         AC_REPLACE'd variables.
110256         * modules/localcharset: Likewise.
110258 2003-06-07  Jim Meyering  <jim@meyering.net>
110260         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
110261         in place of my name in the copyright comment.
110262         Remove definition and uses of __P.
110264         From coreutils.
110265         * lib/stat.c: Don't declare xmalloc explicitly.
110266         Instead, include "xalloc.h".
110267         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
110268         xrealloc, and xcalloc return values.
110269         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
110270         Improve comment.
110271         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
110273 2003-06-07  Bruno Haible  <bruno@clisp.org>
110275         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
110276         avoid AC_CONFIG_LINKS.
110277         * modules/fnmatch (Makefile.am): Use explicit creation rule for
110278         fnmatch.h, to avoid AC_CONFIG_LINKS.
110279         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
110281 2003-06-07  Bruno Haible  <bruno@clisp.org>
110283         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
110284         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
110285         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
110286         directory.
110287         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
110288         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
110289         directory.
110291 2003-06-06  Jim Meyering  <jim@meyering.net>
110293         Merge from coreutils.
110294         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
110295         Consolidate declarations and initializations of *_base* locals.
110297         Merge from coreutils.
110298         This avoids a core dump on systems without GNU putenv,
110299         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
110300         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
110301         (unsetenv): New static function, from GNU libc.
110302         (rpl_putenv): Use it.
110304         * lib/modechange.c: Remove trailing blanks.
110306         Merge from coreutils.
110307         * lib/fsusage.c: Remove declaration of statfs.
110308         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
110310         * lib/posixtm.c: Include <stdbool.h> unconditionally.
110312 2003-06-06  Jim Meyering  <jim@meyering.net>
110314         * lib/stdbool_.h: Renamed from stdbool.h.in.
110316 2003-06-06  Jim Meyering  <jim@meyering.net>
110317             Bruno Haible  <bruno@clisp.org>
110319         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
110320         Adjust Makefile.am snippet not to redirect directly to target.
110321         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
110323 2003-06-05  Paul Eggert  <eggert@twinsun.com>
110325         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
110326         mismatch, look in future quarters as well as past.  This fixes a
110327         bug when processing fall-backwards gaps immediately after a long
110328         period of daylight-saving time.
110330         * lib/mktime.c: Assume freestanding C89 or better.
110331         (HAVE_LIMITS_H): Remove.  Assume it's 1.
110332         (__P): Remove; not used.
110333         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
110334         (mktime, not_equal_tm, print_tm, check_result,
110335         main): Use prototypes.  Use const * where appropriate.
110336         (main): Fix typo in testing code that uncovered by above changes.
110337         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
110339 2003-06-04  Paul Eggert  <eggert@twinsun.com>
110341         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
110342         locale.h, localeconv.  This merges changes from coreutils.
110344         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
110345         It can be removed after the next Autoconf is released.
110346         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
110347         needed.
110349 2003-06-04  Paul Eggert  <eggert@twinsun.com>
110351         * lib/mktime.c: Fix Debian bug 177940
110352         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
110353         (localtime_offset): Now long int, not time_t, because we want it
110354         to be guaranteed to be signed.  All uses changed.
110355         (__mktime_internal): If overflow would occur when adding offset,
110356         don't add it.
110358         Merge 'human' changes from coreutils.  Rewrite to support
110359         locale-specific notations like thousands separators.
110360         * lib/human.c: Simplify authorship notice.
110361         Include human.h immediately after config.h.
110362         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
110363         <limits.h>: Do not include, since human.h does.
110364         (SIZE_MAX, UINTMAX_MAX): New macros.
110365         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
110366         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
110367         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
110368         (power_letter): Renamed from suffixes.
110369         (generate_suffix_backwards): Remove.
110370         (adjust_value): Now takes int style (because of human.h changes)
110371         and long double value (for greater precision on some platforms).
110372         (group_number): New function.
110373         (human_readable): Use it.  Use integer options, not enum.
110374         Put the options before the sizes in the arg list.
110375         Support all the new options.
110376         The old human_readable function has been removed;
110377         use inttostr.h instead.
110378         (human_readable, default_block_size, humblock):
110379         Use uintmax_t, not int, for block sizes.
110380         (human_readable_inexact, block_size_types): Remove.
110381         (block_size_opts): New constant.
110382         (human_options): Renamed from human_block_size, with new signature
110383         that allows block sizes up to UINTMAX_MAX.  All callers changed.
110384         * lib/human.h: Add copyright and authorship notice.
110385         Include <limits.h> and <stdbool.h> unconditionally.
110386         (PARAMS): Remove.  All uses removed.
110387         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
110388         (enum human_inexact_style): Remove tag; now a nameless enum.
110389         (human_floor, human_ceiling, human_round_to_even): Now have
110390         values 2, 0, 1 rather than -1, 1, 0.
110391         (human_group_digits, human_suppress_point_zero, human_autoscale,
110392         human_base_1024, human_SI, human_B): New constants.
110393         (human_readable_inexact, human_block_size): Remove.
110394         (human_readable): Size args are now uintmax_t, not int.
110395         (human_options): New decl.
110397         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
110398         unnecessary now that we assume C89 or better.  This change
110399         imported from coreutils.
110401         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
110402         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
110403         in the 2003-05-30 sync from glibc.
110405         .h files should stand alone, but we shouldn't include <sys/types.h>
110406         if we can get away with just <stddef.h>.
110408         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
110409         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
110410         rather than <sys/types.h>, as we merely need size_t.
110411         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
110412         to get size_t.
110413         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
110414         Include <stdio.h>, to get FILE.
110415         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
110416         memcasecmp.h has included <stddef.h> and all we need is size_t.
110417         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
110418         our interface, instead of including <sys/types.h>
110420 2003-06-04  Paul Eggert  <eggert@twinsun.com>
110422         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
110423         now, as glibc mktime is buggy on non-glibc systems.
110425 2003-06-03  Karl Berry  <karl@gnu.org>
110427         * config/config.sub: update from prep.
110429 2003-06-02  Paul Eggert  <eggert@twinsun.com>
110431         [from coreutils]
110432         Fix some minor time-related bugs with POSIX time arguments.
110433         Some valid time stamps were being rejected (notably -1, and
110434         time stamps before 1900 on 64-bit hosts).  And some invalid
110435         time stamps were being accepted, e.g. September 31.
110437         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
110438         that we can return (time_t) -1 successfully.
110439         * lib/posixtm.c: Likewise.
110440         [HAVE_STDBOOL_H]: Include <stdbool.h>.
110441         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
110442         (t): Remove static var.
110443         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
110444         of static var.  All uses changed.
110445         (year): Do not reject years before 1900; they can occur with
110446         64-bit time_t.
110447         (posix_time_parse): Do not check for out-of-range components;
110448         that is now the caller's responsibility, since our checks were
110449         only approximations.
110450         (posixtime): Use mktime to check for out-of-range components,
110451         since it knows them exactly.
110452         If mktime returns (time_t) -1, check whether an error actually occurred
110453         by invoking localtime on -1.
110454         (main) [TEST_POSIXTIME]: Check for input data errors, and report
110455         posixtime failures better.
110456         Improve the test data (in comments only).
110458 2003-06-02  Karl Berry  <karl@gnu.org>
110460         * config/mkinstalldirs (version): new variable.
110461         (--version): new option.
110462         (usage): improve message.
110464 2003-05-30  Karl Berry  <karl@gnu.org>
110466         * lib/mktime.c: update from libc.
110468 2003-05-30  Bruno Haible  <bruno@clisp.org>
110470         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
110471         * config/config.rpath: Upgrade to gettext-0.12.1.
110473 2003-05-30  Bruno Haible  <bruno@clisp.org>
110475         * m4/gettext.m4: Upgrade to gettext-0.12.1.
110476         * m4/nls.m4: New file, from gettext-0.12.1.
110477         * m4/po.m4: New file, from gettext-0.12.1.
110478         * m4/progtest.m4: Upgrade to gettext-0.12.1.
110480 2003-05-30  Bruno Haible  <bruno@clisp.org>
110482         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
110483         * lib/localcharset.h: Likewise.
110484         * lib/localcharset.c: Likewise.
110486 2003-05-29  Karl Berry  <karl@gnu.org>
110488         * config/config.rpath: update from gettext.
110490 2003-05-28  Paul Eggert  <eggert@twinsun.com>
110492         Assume the headers required for C89 freestanding compilers.
110493         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
110494         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
110495         * m4/human.m4 (gl_HUMAN): Likewise.
110496         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
110497         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
110498         * m4/userspec.m4 (gl_USERSPEC): Likewise.
110499         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
110500         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
110501         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
110503 2003-05-28  Paul Eggert  <eggert@twinsun.com>
110505         Assume the headers required for C89 freestanding compilers.
110506         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
110507         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
110508         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
110509         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
110510         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
110511         define, since <limits.h> is guaranteed to do that.
110512         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
110513         * lib/exclude.c: Include <stdbool.h> unconditionally.
110514         * lib/tempname.c: Include <stddef.h> unconditionally.
110515         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
110516         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
110517         <stddef.h> does that.
110518         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
110519         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
110520         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
110521         needed.
110522         * lib/xstrtol.c: Likewise.
110523         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
110524         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
110526         * lib/addext.c (addext): Use assignment rather than cast, to avoid
110527         warnings on some platforms.
110529         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
110530         arbitrarily.
110532 2003-05-26  Jim Meyering  <jim@meyering.net>
110534         Merge in a change from coreutils:
110535         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
110536         that is guaranteed to be `no'.  Use `no_such_member' to indicate
110537         that condition, rather than `-1' which is slightly misleading.
110538         Change the name of the cache variable to have the gl_ prefix.
110539         Prompted by a patch from Richard Dawe for DJGPP.
110541 2003-05-24  Karl Berry  <karl@gnu.org>
110543         * config/config.guess: update from prep.
110545 2003-05-22  Karl Berry  <karl@gnu.org>
110547         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
110549 2003-05-20  Karl Berry  <karl@gnu.org>
110551         * config/config.guess: update from prep.
110553 2003-05-18  Karl Berry  <karl@gnu.org>
110555         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
110556         might actually be set by the user.
110558         * config/depcomp, install-sh, mdate-sh: update from automake.
110560 2003-05-17  Bruno Haible  <bruno@clisp.org>
110562         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
110563         invalid expansion for AC_EGREP_CPP.
110564         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
110565         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
110566         Suggested by Akim Demaille <akim@epita.fr> in
110567         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
110569 2003-05-12  Jim Meyering  <jim@meyering.net>
110571         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
110572         the space-padded-by-default conversion specifiers, %e, %k, %l.
110574 2003-05-12  Bruno Haible  <bruno@clisp.org>
110576         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
110577         the string is longer than 4 KB.
110579 2003-05-11  Karl Berry  <karl@gnu.org>
110581         * config/config.{guess,sub}: update from prep.
110583 2003-05-09  Bruno Haible  <bruno@clisp.org>
110585         * modules/error: Add m4/strerror_r.m4 to file list.
110587 2003-05-03  Bruno Haible  <bruno@clisp.org>
110589         Upgrade to Unicode-4.0.
110590         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
110591         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
110592         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
110593         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
110594         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
110595         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
110596         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
110597         Change width of U+E0100..U+E01EF from 1 to 0.
110599 2003-04-25  Jim Meyering  <jim@meyering.net>
110601         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
110602         of type size_t, not int.
110604 2003-04-25  Bruno Haible  <bruno@clisp.org>
110606         * lib/copy-file.c: Include <stddef.h>, for size_t.
110608 2003-04-21  Paul Eggert  <eggert@twinsun.com>
110610         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
110611         code which expansion is under static control.  Patch imported from
110612         Akim Demaille's patch to Bison; see
110613         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
110615 2003-04-14  Bruno Haible  <bruno@clisp.org>
110617         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
110619 2003-04-11  Jim Meyering  <jim@meyering.net>
110621         Merge changes from Coreutils.
110623         2003-03-22  Jim Meyering  <jim@meyering.net>
110625         * lib/strftime.c (widen): Cast alloca return value to proper type.
110627         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
110629         From GNU libc.
110630         * lib/strftime.c (my_strftime): Handle very large width
110631         specifications for numeric values correctly.  Improve checks for
110632         overflow.
110634         2003-01-19  Jim Meyering  <jim@meyering.net>
110636         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
110637         definitions.
110638         (nl_get_alt_digit) [! defined my_strftime]: Define.
110639         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
110640         _nl_get_alt_digit and _nl_get_walt_digit.
110642         * lib/strftime.c (my_strftime): Merge in locale-related changes from
110643         libc. These changes have no effect outside of _LIBC.
110645 2003-04-10  Bruno Haible  <bruno@clisp.org>
110647         * modules/findprog: New file.
110648         * MODULES.html.sh (func_all_modules): Add it.
110650 2003-04-10  Bruno Haible  <bruno@clisp.org>
110652         * m4/findprog.m4: New file.
110653         * m4/eaccess.m4: New file.
110655 2003-04-10  Bruno Haible  <bruno@clisp.org>
110657         * lib/findprog.h: New file, from GNU gettext.
110658         * lib/findprog.c: New file, from GNU gettext.
110660 2003-04-05  Jim Meyering  <jim@meyering.net>
110662         Merge changes from Coreutils.
110664         * lib/exclude.h (PARAMS): Remove definition and uses.
110665         * lib/exclude.c: Remove uses of `PARAMS'.
110667         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
110668         Add test-cases for DOS filenames. Declare program_name.
110669         (main): Set up program_name.  Patch by Rich Dawe.
110671         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
110672         error from mntctl.
110673         Use mntctl's return value to drive the entry-processing loop, since
110674         we can't rely on the value of the vmt_length member in the last
110675         entry.  On some systems doing so could result in exhausting
110676         virtual memory.  Based in part on a patch from Mike Jetzer.
110678 2003-04-04  Bruno Haible  <bruno@clisp.org>
110680         * modules/linebreak: New file.
110681         * MODULES.html.sh (func_all_modules): Add it.
110683 2003-04-04  Bruno Haible  <bruno@clisp.org>
110685         * m4/linebreak.m4: New file.
110687 2003-04-04  Bruno Haible  <bruno@clisp.org>
110689         * lib/linebreak.h: New file, from GNU gettext.
110690         * lib/linebreak.c: New file, from GNU gettext with slight
110691         modifications.
110692         * lib/lbrkprop.h: New file, from GNU gettext.
110694 2003-04-03  Bruno Haible  <bruno@clisp.org>
110696         * modules/utf8-ucs4: New file.
110697         * modules/utf16-ucs4: New file.
110698         * modules/ucs4-utf8: New file.
110699         * modules/ucs4-utf16: New file.
110700         * MODULES.html.sh (func_all_modules): Add them.
110702 2003-04-03  Bruno Haible  <bruno@clisp.org>
110704         * m4/utf-ucs4.m4: New file.
110705         * m4/ucs4-utf.m4: New file.
110707 2003-04-03  Bruno Haible  <bruno@clisp.org>
110709         * lib/utf8-ucs4.h: New file, from GNU gettext.
110710         * lib/utf16-ucs4.h: New file, from GNU gettext.
110711         * lib/ucs4-utf8.h: New file, from GNU gettext.
110712         * lib/ucs4-utf16.h: New file, from GNU gettext.
110714 2003-04-02  Bruno Haible  <bruno@clisp.org>
110716         * modules/binary-io: New file.
110717         * MODULES.html.sh (func_all_modules): Add it.
110719 2003-04-02  Bruno Haible  <bruno@clisp.org>
110721         * lib/binary-io.h: New file, from GNU gettext.
110723 2003-04-01  Bruno Haible  <bruno@clisp.org>
110725         * modules/pathname: New file.
110726         * MODULES.html.sh (func_all_modules): Add it.
110728 2003-04-01  Bruno Haible  <bruno@clisp.org>
110730         * lib/pathname.h: New file, from GNU gettext.
110731         * lib/concatpath.c: New file, from GNU gettext.
110733 2003-03-30  Bruno Haible  <bruno@clisp.org>
110735         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
110737 2003-03-30  Bruno Haible  <bruno@clisp.org>
110739         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
110740         function chown() doesn't exist.
110742 2003-03-28  Bruno Haible  <bruno@clisp.org>
110744         * modules/copy-file: New file.
110745         * MODULES.html.sh (func_all_modules): Add it.
110747 2003-03-28  Bruno Haible  <bruno@clisp.org>
110749         * m4/copy-file.m4: New file.
110751 2003-03-28  Bruno Haible  <bruno@clisp.org>
110753         * lib/copy-file.h: New file, from GNU gettext.
110754         * lib/copy-file.c: New file, from GNU gettext.
110756 2003-03-18  Jim Meyering  <jim@meyering.net>
110758         * lib/quote.c (quote_n): Fix typo in comment.
110760 2003-03-18  Bruno Haible  <bruno@clisp.org>
110762         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
110763         checking.
110764         * m4/onceonly_2_57.m4: Likewise.
110766 2003-03-17  Bruno Haible  <bruno@clisp.org>
110768         * m4/onceonly.m4: Require autoconf 2.54 or newer.
110769         (m4_quote): Remove macro.
110770         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
110772 2003-03-14  Jim Meyering  <jim@meyering.net>
110774         Merge changes from Coreutils.
110775         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
110776         to be const, in order to avoid warnings.
110777         (obstack_room): Likewise.
110778         (obstack_empty_p): Likewise.
110780 2003-03-14  Bruno Haible  <bruno@clisp.org>
110782         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
110783         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
110785 2003-03-13  Paul Eggert  <eggert@twinsun.com>
110787         Merge changes from Bison.
110788         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
110789         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
110790         when compiling Bison 1.875's `bitset bset = obstack_alloc
110791         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
110792         * lib/hash.c: Include <stdbool.h> unconditionally.
110794 2003-03-13  Paul Eggert  <eggert@twinsun.com>
110796         * m4/onceonly.m4 (m4_quote): New macro.
110797         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
110798         Quote AC_FOREACH variable-expansions properly.
110800 2003-03-13  Paul Eggert  <eggert@twinsun.com>
110802         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
110804 2003-03-09  Paul Eggert  <eggert@twinsun.com>
110806         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
110807         Reported by Bruce Becker; see:
110808         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
110810 2003-03-03  Paul Eggert  <eggert@twinsun.com>
110811             Bruno Haible  <bruno@clisp.org>
110813         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
110814         Reported by John Hughes, see
110815         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
110817 2003-02-20  Bruno Haible  <bruno@clisp.org>
110819         * MODULES.html.sh (func_all_modules): Add poll.
110821 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
110823         * modules/poll: New file.
110825 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
110827         * lib/poll_.h: New file.
110828         * lib/poll.c: New file.
110830 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
110832         * m4/poll.m4: New file.
110834 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
110836         * modules/mathl: New file.
110838 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
110840         * lib/mathl.h: New file.
110841         * lib/acosl.c: New file.
110842         * lib/asinl.c: New file.
110843         * lib/atanl.c: New file.
110844         * lib/ceill.c: New file.
110845         * lib/cosl.c: New file.
110846         * lib/expl.c: New file.
110847         * lib/floorl.c: New file.
110848         * lib/frexpl.c: New file.
110849         * lib/ldexpl.c: New file.
110850         * lib/logl.c: New file.
110851         * lib/sincosl.c: New file.
110852         * lib/sinl.c: New file.
110853         * lib/sqrtl.c: New file.
110854         * lib/tanl.c: New file.
110855         * lib/trigl.c: New file.
110856         * lib/trigl.h: New file.
110858 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
110860         * m4/mathl.m4: New file.
110862 2003-02-18  Bruno Haible  <bruno@clisp.org>
110864         * MODULES.html.sh (func_all_modules): Add mathl.
110866 2003-02-17  Bruno Haible  <bruno@clisp.org>
110868         * modules/mkdtemp: New module.
110869         * MODULES.html.sh (func_all_modules): Add it.
110871 2003-02-17  Bruno Haible  <bruno@clisp.org>
110873         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
110875 2003-02-17  Bruno Haible  <bruno@clisp.org>
110877         * lib/mkdtemp.h: New file, from GNU gettext.
110878         * lib/mkdtemp.c: New file, from GNU gettext.
110880 2003-02-02  Jim Meyering  <jim@meyering.net>
110882         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
110883         e.g. glibc-2.2.93.
110885 2003-01-31  Bruno Haible  <bruno@clisp.org>
110887         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
110888         'rpl_rename'.
110889         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
110890         'rpl_strnlen'.
110891         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
110892         'rpl_strtod'.
110893         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
110894         'rpl_utime'.
110896 2003-01-31  Bruno Haible  <bruno@clisp.org>
110898         * lib/rename.c: #undef rename before defining rpl_rename.
110899         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
110901 2003-01-30  Bruno Haible  <bruno@clisp.org>
110903         * modules/vasnprintf, modules/vasprintf: New modules.
110904         * MODULES.html.sh (func_all_modules): Add them.
110906 2003-01-30  Bruno Haible  <bruno@clisp.org>
110908         * m4/signed.m4: New file, from GNU gettext.
110909         * m4/longdouble.m4: New file, from GNU gettext.
110910         * m4/wchar_t.m4: New file, from GNU gettext.
110911         * m4/wint_t.m4: New file, from GNU gettext.
110912         * m4/vasnprintf.m4: New file.
110913         * m4/vasprintf.m4: New file.
110915 2003-01-30  Bruno Haible  <bruno@clisp.org>
110917         * lib/printf-args.h: New file, from GNU gettext.
110918         * lib/printf-args.c: New file, from GNU gettext.
110919         * lib/printf-parse.h: New file, from GNU gettext.
110920         * lib/printf-parse.c: New file, from GNU gettext.
110921         * lib/vasnprintf.h: New file, from GNU gettext.
110922         * lib/vasnprintf.c: New file, from GNU gettext.
110923         * lib/asnprintf.c: New file, from GNU gettext.
110924         * lib/vasprintf.h: New file, from GNU gettext with modifications.
110925         * lib/vasprintf.c: New file, from GNU gettext.
110926         * lib/asprintf.c: New file, from GNU gettext.
110928 2003-01-29  Bruno Haible  <bruno@clisp.org>
110930         * modules/stpncpy: New module.
110931         * MODULES.html.sh (func_all_modules): Add it.
110933 2003-01-29  Bruno Haible  <bruno@clisp.org>
110935         * m4/stpncpy.m4: New file.
110937 2003-01-29  Bruno Haible  <bruno@clisp.org>
110939         * lib/stpncpy.h: New file, from GNU gettext with modifications.
110940         * lib/stpncpy.c: New file, from GNU gettext with modifications.
110942 2003-01-28  Bruno Haible  <bruno@clisp.org>
110944         * modules/c-ctype: New module.
110945         * MODULES.html.sh (func_all_modules): Add it.
110947 2003-01-28  Bruno Haible  <bruno@clisp.org>
110949         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
110950         Paul Eggert.
110951         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
110952         Paul Eggert.
110954 2003-01-27  Bruno Haible  <bruno@clisp.org>
110956         * modules/xsetenv: New module.
110957         * MODULES.html.sh (func_all_modules): Add it.
110959 2003-01-27  Bruno Haible  <bruno@clisp.org>
110961         * lib/xsetenv.h: New file, from GNU gettext.
110962         * lib/xsetenv.c: New file, from GNU gettext.
110964 2003-01-23  Jim Meyering  <jim@meyering.net>
110966         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
110967         from working on systems without dirfd (at least Irix and OSF1/Tru64).
110969 2003-01-23  Bruno Haible  <bruno@clisp.org>
110971         * modules/minmax: New module.
110972         * MODULES.html.sh (func_all_modules): Add it.
110974 2003-01-23  Bruno Haible  <bruno@clisp.org>
110976         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
110977         Eggert.
110979 2003-01-22  Bruno Haible  <bruno@clisp.org>
110981         * modules/exit: New module.
110982         * MODULES.html.sh (func_all_modules): Add it.
110984 2003-01-22  Bruno Haible  <bruno@clisp.org>
110986         * lib/exit.h: New file, from GNU gettext.
110988 2003-01-19  Bruno Haible  <bruno@clisp.org>
110990         * gnulib-tool: Recognize option --extract-maintainer.
110991         (func_get_maintainer): New function.
110992         * modules/*: Add Maintainer entry.
110994 2003-01-16  Jim Meyering  <jim@meyering.net>
110996         * m4/regex.m4: The `regex' struct is both input and output.
110997         Initialize it before each use.  Patch by Tim Waugh.
110999 2003-01-16  Bruno Haible  <bruno@clisp.org>
111001         * MODULES.html.sh: Add a table of contents. Add the module name as
111002         leftmost column. Add hyperlinks.
111004 2003-01-15  Bruno Haible  <bruno@clisp.org>
111006         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
111008 2003-01-15  Bruno Haible  <bruno@clisp.org>
111010         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
111011         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
111012         suffix.
111014 2003-01-15  Bruno Haible  <bruno@clisp.org>
111016         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
111018 2003-01-15  Bruno Haible  <bruno@clisp.org>
111020         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
111021         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
111023 2003-01-14  Jim Meyering  <jim@meyering.net>
111025         * lib/same.c (same_name): Tweak a comment.
111027 2003-01-14  Bruno Haible  <bruno@clisp.org>
111029         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
111030         when a string comparison is sufficient.
111032 2003-01-14  Bruno Haible  <bruno@clisp.org>
111034         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
111035         'unsigned int'.
111037 2003-01-14  Bruno Haible  <bruno@clisp.org>
111039         * lib/hash-pjw.c: Add comment about low quality of this function.
111041 2003-01-13  Bruno Haible  <bruno@clisp.org>
111043         * modules/stpcpy: Distribute lib/stpcpy.h.
111044         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
111046 2003-01-13  Bruno Haible  <bruno@clisp.org>
111048         * modules/*: Add a description.
111049         * modules/strpbrk: Fix Makefile.am snippet.
111050         * modules/strtoimax: Fix dependencies.
111051         * modules/strtoumax: Likewise.
111053 2003-01-13  Bruno Haible  <bruno@clisp.org>
111055         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
111056         * modules/alloca (Makefile.am): All object files depend on alloca.h.
111057         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
111059 2003-01-13  Bruno Haible  <bruno@clisp.org>
111061         * gnulib-tool (func_create_testdir): Store config/* files in the main
111062         directory.
111063         * config.rpath: Move to ...
111064         * config/config.rpath: ... here.
111065         * modules/gettext: Contains config/config.rpath, not config.rpath.
111066         * modules/iconv: Likewise.
111068 2003-01-12  Paul Eggert  <eggert@twinsun.com>
111070         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
111071         to avoid collisions with libcurses and libreadline.
111073         * m4/getstr.m4: Remove.
111074         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
111076 2003-01-12  Paul Eggert  <eggert@twinsun.com>
111078         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
111079         to avoid collisions with libcurses and libreadline.
111081         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
111082         * lib/getstr.h, getstr.c: Remove.
111083         * lib/getline.c: Include "getline.h", to check interface.
111084         Move body of old getstr.c here: this defines MIN_CHUNK and
111085         declares getdelim2, which is renamed from getstr.
111086         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
111088         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
111089         All uses changed.
111090         * lib/linebuffer.h: Likewise.
111091         (readline): Remove backward-compatibility macro.
111093 2003-01-12  Paul Eggert  <eggert@twinsun.com>
111095         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
111096         to avoid collisions with libcurses and libreadline.
111097         * getstr: Remove.
111098         * MODULES.html.sh: Remove getstr.
111099         * modules/getline: Depend on unlocked-io, not getstr.
111101 2003-01-12  Jim Meyering  <jim@meyering.net>
111103         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
111105 2003-01-10  Bruno Haible  <bruno@clisp.org>
111107         * modules/alloca: Change Makefile.am requirements. Simplify Include
111108         requirements. Add lib/alloca_.h to file list.
111110 2003-01-10  Bruno Haible  <bruno@clisp.org>
111112         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
111114 2003-01-10  Bruno Haible  <bruno@clisp.org>
111116         * lib/alloca_.h: New file.
111117         * lib/getdate.y: Unconditionally include alloca.h.
111118         * lib/makepath.c: Likewise.
111119         * lib/setenv.c: Likewise.
111120         * lib/userspec.c: Likewise.
111122 2003-01-09  Karl Berry  <karl@gnu.org>
111124         * MODULES.html.sh: include `dirname $0` in PATH, to find
111125         gnulib-tool.
111127 2003-01-09  Bruno Haible  <bruno@clisp.org>
111129         * modules/stdbool: Change configure.ac, Makefile.am requirements.
111130         Simplify Include requirements. Add lib/stdbool.h.in to file list.
111132 2003-01-09  Bruno Haible  <bruno@clisp.org>
111134         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
111136 2003-01-09  Bruno Haible  <bruno@clisp.org>
111138         * lib/stdbool.h.in: New file.
111140 2003-01-09  Bruno Haible  <bruno@clisp.org>
111142         * gnulib-tool (func_all_modules): Ignore files ending in ~.
111143         * MODULES.html.sh: Likewise.
111145 2003-01-08  Jim Meyering  <jim@meyering.net>
111147         * lib/full-write.c: Undefine and define-away `const' after inclusion
111148         of errno.h, not before.  Suggestion from Bruno Haible.
111150 2003-01-08  Bruno Haible  <bruno@clisp.org>
111152         * modules/full-read: Depend on full-write.
111154 2003-01-08  Bruno Haible  <bruno@clisp.org>
111156         * lib/safe-read.c: Include specification header first, to ensure its
111157         selfcontainedness.
111158         * lib/full-write.c: Likewise.
111160 2003-01-07  Jim Meyering  <jim@meyering.net>
111162         * lib/full-write.c: Rework so that it may serve to define full_read,
111163         too.
111164         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
111166 2003-01-07  Bruno Haible  <bruno@clisp.org>
111168         * lib/strtoimax.c: Include <stdint.h> as an alternative to
111169         <inttypes.h>.
111170         * lib/xstrtol.h: Likewise.
111171         * lib/xstrtoimax.c: Likewise.
111172         * lib/xstrtoumax.c: Likewise.
111173         * lib/human.h: Likewise.
111175         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
111176         on systems that have <inttypes.h> but not <stdint.h>.
111178 2003-01-07  Bruno Haible  <bruno@clisp.org>
111180         * MODULES.html.sh: Add copyright notice.
111181         (missed_files): Omit CVS directory entries.
111182         (func_module): Make it work with sed-3.02.
111183         * MODULES.txt: Remove file.
111185 2003-01-06  Jim Meyering  <jim@meyering.net>
111187         * lib/version-etc.c: Update year in translatable copyright string.
111189 2003-01-03  Karl Berry  <karl@gnu.org>
111191         * config/config.{guess,sub}: update from prep.
111193 2003-01-02  Karl Berry  <karl@gnu.org>
111195         * doc/COPYING.DOC: belatedly updated to 1.2.
111197 2003-01-01  Karl Berry  <karl@gnu.org>
111199         * gnulib-tool (func_verify_module): report module name $module in
111200         error message, not $1.
111201         * gnulib-tool (create-testdir): don't complain if destdir couldn't
111202         be created, only if it doesn't exist.
111203         * gnulib-tool (last_checkin_date): don't expand the $Date here.
111205 2002-12-31  Paul Eggert  <eggert@twinsun.com>
111207         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
111209 2002-12-31  Paul Eggert  <eggert@twinsun.com>
111211         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
111212         memcmp if strcoll doesn't work.
111214 2002-12-31  Bruno Haible  <bruno@clisp.org>
111216         * lib/utime.c (utime_null): No need to call ftruncate if the file was
111217         nonempty.
111219 2002-12-31  Bruno Haible  <bruno@clisp.org>
111221         * lib/memcoll.c (STRCOLL): New macro.
111222         (memcoll): Use it.
111224 2002-12-31  Bruno Haible  <bruno@clisp.org>
111226         * lib/localcharset.h: New file.
111227         * lib/localcharset.c: Include it.
111228         * lib/unicodeio.c: Likewise.
111230 2002-12-31  Bruno Haible  <bruno@clisp.org>
111232         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
111233         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
111235 2002-12-31  Bruno Haible  <bruno@clisp.org>
111237         * lib/getline.h: Include <stddef.h>, for size_t.
111239         * lib/unicodeio.h: Include <stddef.h>, for size_t.
111240         * lib/unicodeio.c: Don't include <stddef.h>.
111242 2002-12-31  Bruno Haible  <bruno@clisp.org>
111244         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
111245         HAVE_TM_ZONE.
111247 2002-12-24  Karl Berry  <karl@gnu.org>
111249         * config/config.guess: update from prep.
111251 2002-12-24  Bruno Haible  <bruno@clisp.org>
111253         General infrasructure.
111254         * m4/README: Rewritten.
111255         * m4/onceonly.m4: New file.
111256         * m4/onceonly_2_57.m4: New file.
111258         Module atexit.
111259         * m4/atexit.m4: New file.
111261         Module strtod.
111262         * m4/strtod.m4: New file.
111264         Module strtol.
111265         * m4/strtol.m4: New file.
111267         Module strtoul.
111268         * m4/strtoul.m4: New file.
111270         Module memchr.
111271         * m4/memchr.m4: New file.
111273         Module memcmp.
111274         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
111275         (jm_FUNC_MEMCMP): Invoke it.
111277         Module memcpy.
111278         * m4/memcpy.m4: New file.
111280         Module memmove.
111281         * m4/memmove.m4: New file.
111283         Module memset.
111284         * m4/memset.m4: New file.
111286         Module strcspn.
111287         * m4/strcspn.m4: New file.
111289         Module strpbrk.
111290         * m4/strpbrk.m4: New file.
111292         Module strstr.
111293         * m4/strstr.m4: New file.
111295         Module strerror.
111296         * m4/strerror.m4: New file.
111298         Module mktime.
111299         * m4/mktime.m4: Renamed from jm-mktime.m4.
111300         (gl_PREREQ_MKTIME): New macro.
111301         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
111303         Module malloc.
111304         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
111305         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
111306         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
111308         Module realloc.
111309         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
111310         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
111311         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
111313         Module strftime.
111314         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
111315         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
111316         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
111317         gl_TM_GMTOFF.
111318         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
111320         Module xalloc.
111321         * m4/xalloc.m4: New file.
111323         Module alloca.
111324         * m4/alloca.m4: New file.
111326         Module putenv.
111327         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
111328         (jm_FUNC_PUTENV): Invoke it.
111330         Module setenv.
111331         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
111332         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
111333         when invoked twice.
111334         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
111335         gt_FUNC_SETENV.
111337         Module memrchr.
111338         * m4/memrchr.m4: New file.
111340         Module stpcpy.
111341         * m4/stpcpy.m4: New file.
111343         Module strcase.
111344         * m4/strcase.m4: New file.
111346         Module strdup.
111347         * m4/strdup.m4: New file.
111349         Module strnlen.
111350         * m4/strnlen.m4: New file.
111352         Module strndup.
111353         * m4/strndup.m4: New file.
111355         Module xstrtod.
111356         * m4/xstrtod.m4: New file.
111358         Module xstrtol.
111359         * m4/xstrtol.m4: New file.
111361         Module getdate.
111362         * m4/getdate.m4: New file.
111364         Module unlocked-io.
111365         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
111366         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
111367         * m4/jm-glibc-io.m4n: Remove file.
111369         Module long-options.
111370         * m4/long-options.m4: New file.
111372         Module md5.
111373         * m4/md5.m4: New file.
111375         Module sha.
111376         * m4/sha.m4: New file.
111378         Module getstr.
111379         * m4/getstr.m4: New file.
111381         Module getline.
111382         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
111383         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
111384         <sys/types.h>, for size_t. Use the function name gnu_getline, not
111385         simply getline. Infoke gl_PREREQ_GETLINE.
111387         Module obstack.
111388         * m4/obstack.m4: New file.
111390         Module hash.
111391         * m4/hash.m4: New file.
111393         Module readtokens.
111394         * m4/readtokens.m4: New file.
111396         Module strverscmp.
111397         * m4/strverscmp.m4: New file.
111399         Module stdbool.
111400         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
111401         OSF/1.
111403         Module strtoll.
111404         * m4/strtoll.m4: New file.
111406         Module strtoull.
111407         * m4/strtoull.m4: New file.
111409         Module strtoimax.
111410         * m4/strtoimax.m4: New file.
111412         Module strtoumax.
111413         * m4/strtoumax.m4: New file.
111415         Module xstrtoimax.
111416         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
111417         jm_AC_PREREQ_XSTRTOIMAX.
111418         Moved the strtol prerequisites to strtol.m4.
111419         Moved the strtoll prerequisites to strtoll.m4.
111420         Moved the strtoimax prerequisites to strtoimax.m4.
111422         Module xstrtoumax.
111423         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
111424         jm_AC_PREREQ_XSTRTOUMAX.
111425         Moved the strtoul prerequisites to strtoul.m4.
111426         Moved the strtoull prerequisites to strtoull.m4.
111427         Moved the strtoumax prerequisites to strtoumax.m4.
111429         Module chown.
111430         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
111431         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
111433         Module dup2.
111434         * m4/dup2.m4: New file.
111436         Module ftruncate.
111437         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
111438         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
111440         Module getgroups.
111441         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
111442         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
111444         Module gettimeofday.
111445         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
111446         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
111447         gl_PREREQ_GETTIMEOFDAY.
111449         Module mkdir.
111450         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
111451         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
111453         Module mkstemp.
111454         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
111455         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
111456         jm_AC_TYPE_UINTMAX_T.
111457         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
111459         Module stat.
111460         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
111461         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
111463         Module lstat.
111464         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
111465         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
111467         Module timespec.
111468         * m4/timespec.m4 (gl_TIMESPEC): New macro.
111469         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
111470         * m4/st_mtim.m4: Indentation.
111472         Module nanosleep.
111473         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
111474         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
111475         gl_PREREQ_NANOSLEEP.
111477         Module regex.
111478         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
111479         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
111480         (gl_REGEX): New macro.
111482         Module rename.
111483         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
111484         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
111486         Module rmdir.
111487         * m4/rmdir.m4: New file.
111489         Module utime.
111490         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
111491         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
111492         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
111494         Module dirname.
111495         * m4/dirname.m4: New file.
111497         Module getopt.
111498         * m4/getopt.m4: New file.
111500         Module unistd-safer.
111501         * m4/unistd-safer.m4: New file.
111503         Module fnmatch.
111504         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
111505         declaration.
111506         (gl_PREREQ_FNMATCH_EXTRA): New macro.
111507         (gl_FUNC_FNMATCH_POSIX): New macro.
111508         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
111509         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
111510         simply fnmatch.
111512         Module exclude.
111513         * m4/exclude.m4: New file.
111515         Module human.
111516         * m4/human.m4: New file.
111518         Module acl.
111519         * m4/acl.m4: Nop.
111521         Module backupfile.
111522         * m4/backupfile.m4: New file.
111523         * m4/d-ino.m4: Indentation.
111525         Module fsusage.
111526         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
111527         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
111528         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
111530         Module dirfd.
111531         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
111532         requirements.
111534         Module euidaccess.
111535         * m4/euidaccess.m4: New file.
111537         Module file-type.
111538         * m4/file-type.m4: New file.
111540         Module fileblocks.
111541         * m4/fileblocks.m4: New file.
111543         Module filemode.
111544         * m4/filemode.m4: New file.
111546         Module isdir.
111547         * m4/isdir.m4: New file.
111549         Module lchown.
111550         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
111551         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
111553         Module makepath.
111554         * m4/makepath.m4: New file.
111556         Module modechange.
111557         * m4/modechange.m4: New file.
111559         Module mountlist.
111560         * m4/mountlist.m4: New file.
111561         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
111562         Indentation.
111564         Module path-concat.
111565         * m4/path-concat.m4: New file.
111567         Module pathmax.
111568         * m4/pathmax.m4: New file.
111570         Module same.
111571         * m4/same.m4: New file.
111573         Module save-cwd.
111574         * m4/save-cwd.m4: New file.
111576         Module savedir.
111577         * m4/savedir.m4: New file.
111579         Module xgetcwd.
111580         * m4/xgetcwd.m4: New file.
111581         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
111583         Module xreadlink.
111584         * m4/xreadlink.m4: New file.
111586         Module safe-read.
111587         * m4/safe-read.m4: New file.
111589         Module safe-write.
111590         * m4/safe-write.m4: New file.
111592         Module closeout.
111593         * m4/closeout.m4: New file.
111595         Module stdio-safer.
111596         * m4/stdio-safer.m4: New file.
111598         Module getpass.
111599         * m4/getpass.m4: New file.
111601         Module getugroups.
111602         * m4/getugroups.m4: New file.
111604         Module group-member.
111605         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
111606         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
111608         Module idcache.
111609         * m4/idcache.m4: New file.
111611         Module userspec.
111612         * m4/userspec.m4: New file.
111614         Module gettime.
111615         * m4/clock_time.m4: New file.
111616         * m4/gettime.m4: New file.
111618         Module settime.
111619         * m4/settime.m4: New file.
111621         Module posixtm.
111622         * m4/posixtm.m4: New file.
111624         Module gethostname.
111625         * m4/gethostname.m4: New file.
111627         Module canon-host.
111628         * m4/canon-host.m4: New file.
111630         Module gettext.
111631         * m4/codeset.m4: New file, from gettext-0.11.5.
111632         * m4/gettext.m4: New file, from gettext-0.11.5.
111633         * m4/glibc21.m4: New file, from gettext-0.11.5.
111634         * m4/iconv.m4: New file, from gettext-0.11.5.
111635         * m4/intdiv0.m4: New file, from gettext-0.11.5.
111636         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
111637         * m4/inttypes.m4: New file, from gettext-0.11.5.
111638         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
111639         * m4/isc-posix.m4: New file, from gettext-0.11.5.
111640         * m4/lcmessage.m4: New file, from gettext-0.11.5.
111641         * m4/lib-ld.m4: New file, from gettext-0.11.5.
111642         * m4/lib-link.m4: New file, from gettext-0.11.5.
111643         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
111644         * m4/progtest.m4: New file, from gettext-0.11.5.
111645         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
111646         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
111647         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
111649         Module localcharset.
111650         * m4/localcharset.m4: New file.
111652         Module hard-locale.
111653         * m4/hard-locale.m4: New file.
111655         Module mbswidth.
111656         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
111657         onceonly macros.
111658         * m4/mbrtowc.m4: Add comment.
111660         Module memcasecmp.
111661         * m4/memcasecmp.m4: New file.
111663         Module memcoll.
111664         * m4/memcoll.m4: New file.
111666         Module unicodeio.
111667         * m4/unicodeio.m4: New file.
111669         Module rpmatch.
111670         * m4/rpmatch.m4: New file.
111672         Module yesno.
111673         * m4/yesno.m4: New file.
111675         Module exitfail.
111676         * m4/exitfail.m4: New file.
111678         Module c-stack.
111679         * m4/c-stack.m4 (gl_C_STACK): New macro.
111680         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
111682         Module error.
111683         * m4/error.m4 (gl_ERROR): New macro.
111684         (jm_PREREQ_ERROR): Use onceonly macros.
111686         Module fatal.
111687         * m4/fatal.m4: New file.
111689         Module getloadavg.
111690         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
111691         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
111693         Module getpagesize.
111694         * m4/getpagesize.m4: New file.
111696         Module getusershell.
111697         * m4/getusershell.m4: New file.
111699         Module physmem.
111700         * m4/physmem.m4: New file.
111702         Module posixver.
111703         * m4/posixver.m4: New file.
111705         Module quotearg.
111706         * m4/quotearg.m4: New file.
111708         Module quote.
111709         * m4/quote.m4: New file.
111711         Module readutmp.
111712         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
111714         Module sig2str.
111715         * m4/sig2str.m4: New file.
111717         Other.
111718         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
111719         ulonglong.m4.
111720         * m4/intmax_t.m4: New file.
111721         * m4/d-type.m4: Indentation.
111722         * m4/jm-macros.m4: Update.
111723         * m4/prereq.m4 (jm_PREREQ): Update.
111724         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
111725         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
111726         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
111727         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
111728         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
111729         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
111730         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
111731         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
111732         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
111733         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
111734         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
111735         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
111736         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
111737         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
111738         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
111739         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
111740         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
111741         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
111742         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
111744 2002-12-24  Bruno Haible  <bruno@clisp.org>
111746         * MODULES.txt: Update according to m4/ changes.
111748         Module gettext.
111749         * config.rpath: New file, from gettext-0.11.5.
111751         * modules/*: New module descriptions.
111752         * gnulib-tool: New file.
111753         * MODULES.html.sh: New file.
111755 2002-12-21  Karl Berry  <karl@gnu.org>
111757         * doc/fdl.texi: update to version 1.2.
111759 2002-12-19  Karl Berry  <karl@gnu.org>
111761         * config/config.guess: update from prep.
111763 2002-12-18  Bruno Haible  <bruno@clisp.org>
111765         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
111766         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
111768 2002-12-17  Bruno Haible  <bruno@clisp.org>
111770         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
111771         stdlib.h, string.h.
111773 2002-12-17  Bruno Haible  <bruno@clisp.org>
111775         * lib/canon-host.c (strdup): Remove unused declaration.
111777         * lib/fsusage.c: Include full_read.h.
111778         (get_fs_usage): Use full_read instead of safe_read.
111780         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
111782 2002-12-12  Karl Berry  <karl@gnu.org>
111784         * config/config.guess: update from prep.
111786 2002-12-11  Bruno Haible  <bruno@clisp.org>
111788         * m4/setenv.m4: New file, from gettext-0.11.5.
111790 2002-12-11  Bruno Haible  <bruno@clisp.org>
111792         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
111793         not unsetenv().
111794         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
111795         modifications:
111797         2002-12-11  Bruno Haible  <bruno@clisp.org>
111799                 * setenv.c (alloca): Fall back to malloc.
111800                 (freea): New macro.
111801                 (setenv): Use freea() to free memory allocated with alloca().
111803         2002-11-13  Bruno Haible  <bruno@clisp.org>
111805                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
111806                 function declarations.
111807                 * unsetenv.c (unsetenv): Likewise.
111809         2002-03-04  Bruno Haible  <bruno@clisp.org>
111811                 Portability to AIX 4.3.3.
111812                 * unsetenv.c: New file, extracted from setenv.c.
111813                 * setenv.c: Move the unsetenv() function to unsetenv.c.
111815         2001-12-20  Bruno Haible  <bruno@clisp.org>
111817                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
111818                 use malloc instead. For SunOS 4.
111820         2001-12-11  Bruno Haible  <bruno@clisp.org>
111822                 * setenv.c: Declare alloca.
111823                 (compar_fn_t): New typedef.
111824                 (KNOWN_VALUE, STORE_VALUE): Use it.
111826         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
111827         setenv.h.
111829 2002-12-10  Paul Eggert  <eggert@twinsun.com>
111831         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
111832         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
111833         Choose values that are less likely to collide with system fnmatch
111834         options.
111835         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
111836         defined (e.g., a pure POSIX system).
111837         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
111838         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
111840 2002-12-06  Paul Eggert  <eggert@twinsun.com>
111842         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
111843         a pain in practice to deal with generated m4 files.  This change
111844         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
111846         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
111847         and jm-glibc-io.m4, as they are no longer a special case.
111848         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
111849         kludge and the auto-generation stuff.  Check only whether the
111850         functions are declared, not whether they exist, since older hosts
111851         that don't declare the functions can't use the optimization anyway.
111853 2002-12-06  Jim Meyering  <jim@meyering.net>
111855         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
111857         Merge in changes from libc's misc/error.c, in preparation
111858         for the merge of gnulib's changes back into libc.
111860         * lib/error.c (_): Define only if not already defined.
111861         Move definition to follow all #include directives.
111862         Include unlocked-io.h only if !_LIBC.
111863         [_LIBC]: Include <libio/libioP.h>.
111864         [USE_IN_LIBIO]: Include <libio/iolibio.h>
111865         (fflush): Tweak definition to use INTUSE.
111866         (putc): Define.
111868 2002-12-05  Paul Eggert  <eggert@twinsun.com>
111870         * lib/alloca.c [defined emacs]: Include "lisp.h".
111871         (xalloc_die) [defined emacs]: New macro.
111872         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
111873         [! defined emacs]: Include <xalloc.h>.
111874         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
111875         (pointer): Typedef to POINTER_TYPE *.
111876         (malloc): Remove decl; we now always use xmalloc.
111877         (alloca): Use old-style definition, since Emacs needs this.
111878         Check for arithmetic overflow when computing combined size.
111880 2002-12-04  Paul Eggert  <eggert@twinsun.com>
111882         Do not generate unlocked-io.h automatically, since it's easier to
111883         maintain it by hand.
111885         * lib/unlocked-io.h: New file, from GNU diffutils,
111886         but with proper copyright notice and attribution.
111887         * lib/gen-uio: Remove.
111888         * lib/Makefile.am: Add copyright notice.
111889         (libfetish_a_SOURCES): Add unlocked-io.h.
111890         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
111891         (DISTCLEANFILES, io_functions): Remove macros.
111892         (EXTRA_DIST): Remove gen_uio.
111893         (unlocked-io.h): Remove rule.
111895 2002-12-04  Jim Meyering  <jim@meyering.net>
111897         Reflect the fact that stat.c and lstat.c are no longer generated.
111898         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
111899         (DISTCLEANFILES): Likewise.
111900         (EXTRA_DIST): Likewise.
111901         (all_local): Don't depend on stat.c or lstat.c.
111902         (stat.c, lstat.c): Remove rules.
111903         (EXTRA_DIST): Remove xstat.in.
111905         * lib/xstat.in: Remove file.  Contents moved into stat.c.
111906         * lib/stat.c: New file.  Contents mostly from xstat.in.
111907         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
111908         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
111910         * lib/safe-read.c: Rework so that it may serve to define safe_write,
111911         too.
111912         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
111914 2002-12-03  Jim Meyering  <jim@meyering.net>
111916         * lib/safe-read.c, safe-write.c: Change variable names and comments,
111917         but not semantics, to minimize the differences between these two files.
111918         (safe_read): Change comment to mention SAFE_READ_ERROR.
111920         * lib/safe-read.c (IS_EINTR): Define.
111921         (safe_read): Use IS_EINTR in place of in-function cpp directives.
111923 2002-12-02  Jim Meyering  <jim@meyering.net>
111925         * lib/safe-read.c (EINTR): Define.
111926         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
111927         (INT_MAX): Provide fallback.
111928         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
111930         * lib/safe-read.h (SAFE_READ_ERROR): Define.
111932 2002-12-02  Bruno Haible  <bruno@clisp.org>
111934         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
111935         Define, taken from safe-read.c.
111936         (INT_MAX): Provide fallback.
111937         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
111938         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
111940         * lib/safe-read.c (EINTR): Remove definition.
111941         (safe_read): Don't use EINTR if it is absent.
111943 2002-12-01  Jim Meyering  <jim@meyering.net>
111945         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
111946         zero.
111947         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
111949 2002-11-27  Paul Eggert  <eggert@twinsun.com>
111951         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
111952         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
111953         with `if (! (value < limit)) abort ();', for readability.
111955 2002-11-26  Karl Berry  <karl@gnu.org>
111957         * lib/strdup.c: copy from libc again, with jim's ok.
111958         * lib/.cppi-disable: re-add strdup.c
111960 2002-11-25  Karl Berry  <karl@gnu.org>
111962         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
111963         instead of "strtol.c".
111965 2002-11-25  Karl Berry  <karl@gnu.org>
111967         * config/install-sh: update from automake for variable quoting, $0 in
111968         error msgs, etc.
111970         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
111971         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
111972         entry.
111974 2002-11-25  Jim Meyering  <jim@meyering.net>
111976         * lib/mktime.c: Sync from libc, now that it has the latest fix.
111978 2002-11-24  Karl Berry  <karl@gnu.org>
111980         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
111981         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
111983 2002-11-24  Jim Meyering  <jim@meyering.net>
111985         Update from coreutils:
111987         * lib/mktime.c: Merge in changes from libc.
111989         Avoid a link-time failure on some Linux systems.
111990         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
111991         (otherwise).
111992         (__mon_yday): Declare with the STATIC attribute.
111993         (__mktime_internal): Likewise.
111994         Based on a report from Greg Schafer.
111996 2002-11-23  Jim Meyering  <jim@meyering.net>
111998         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
111999         Use `unsigned', not `int', as type of index.
112001         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
112003         * lib/fsusage.c: Remove unneeded parentheses around operands of
112004         `defined'.
112006 2002-11-22  Paul Eggert  <eggert@twinsun.com>
112008         * lib/quotearg.h: Allow multiple inclusion by surrounding with
112009         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
112010         so that we can be included first.
112011         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
112012         * lib/quotearg.c: Include quotearg.h immediately after config.h.
112013         No need to include stddef.h or sys/types.h any more.
112014         Surround local include files with "", not "<>".
112015         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
112016         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
112017         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
112018         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
112019         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
112020         (ISPRINT): Remove; no longer needed now that we assume C89.
112022         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
112023         Preserve errno.
112025         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
112026         quotearg_char): Use SIZE_MAX rather than
112027         (size_t) -1 when we are talking about "infinity".
112029         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
112031 2002-11-22  Paul Eggert  <eggert@twinsun.com>
112033         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
112034         hint that one should use `if (! x) abort ();' rather than `assert
112035         (x);', and anyway it's one less thing to worry about configuring.
112036         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
112037         hash_rehash, hash_insert): Use abort rather than assert.
112039 2002-11-22  Bruno Haible  <bruno@clisp.org>
112041         * lib/safe-read.h: Assume C89. Add comments.
112042         (safe_read): Change return type to size_t.
112043         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
112044         byte counts > SSIZE_MAX correctly.
112045         * lib/safe-write.h: New file.
112046         * lib/safe-write.c: New file.
112047         * lib/full-read.h: New file.
112048         * lib/full-read.c: New file.
112049         * lib/full-write.h: Assume C89. Add comments.
112050         * lib/full-write.c: Include safe-write.h.
112051         (full_write): Rewritten to use safe_write.
112052         Suggested by Jim Meyering and Paul Eggert.
112054 2002-11-21  Jim Meyering  <jim@meyering.net>
112056         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
112058         Merge in changes from the coreutils.
112060         2002-09-25  Paul Eggert  <eggert@twinsun.com>
112061         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
112062         <stdint.h>.
112063         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
112064         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
112065         int.  Work more efficiently if X is the same width as uintmax_t.
112066         Do not compare X to -1, to avoid bogus compiler warning.
112067         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
112068         Don't assume that f_frsize and f_bsize are the same type.
112070         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
112071         warning on FreeBSD.
112073         * lib/makepath.c (make_path): Restore umask *before* creating the final
112074         component.
112075         (make_path): Minor reformatting.
112077         * lib/xmalloc.c: Adjust to work with new autoconf macros,
112078         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
112079         HAVE_MALLOC/HAVE_REALLOC.
112081         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
112082         dummy ones.  At least on GNU/Linux systems, `auto' means something
112083         else.
112084         From Michael Stone.
112086 2002-11-21  Bruno Haible  <bruno@clisp.org>
112088         Remove case insensitive option matching.
112089         * lib/argmatch.h (argcasematch): Remove declaration.
112090         (ARGCASEMATCH): Remove macro.
112091         (__xargmatch_internal): Remove case_sensitive argument.
112092         (XARGMATCH): Update.
112093         (XARGCASEMATCH): Remove macro.
112094         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
112095         case_sensitive argument.
112096         (argcasematch): Remove function.
112097         (__xargmatch_internal): Remove case_sensitive argument.
112098         (main): Use XARGMATCH instead of XARGCASEMATCH.
112100         * lib/xmalloc.c: Change compile-time error message. Add comment about
112101         required autoconf version.
112103 2002-11-20  Paul Eggert  <eggert@twinsun.com>
112105         Merge argmatch cleanups from Bison.  Assume C89.
112107         * lib/argmatch.c: Include config.h here, not in argmatch.h.
112108         Include stdlib.h, for EXIT_FAILURE.
112109         Always include <string.h>, since we assume C89.
112110         (EXIT_FAILURE): Remove pre-C89 bug workaround.
112111         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
112112         Include <stddef.h> instead, since it's all we need for size_t.
112113         (PARAMS): Remove.  All uses removed.
112114         (ARRAY_CARDINALITY): Do not bother to #undef.
112115         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
112116         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
112117         Remove unnecessary parentheses.
112118         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
112119         Insert necessary parentheses.
112120         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
112121         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
112123 2002-11-19  Bruno Haible  <bruno@clisp.org>
112125         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
112126         * lib/mbswidth.h: Include <stddef.h>, for size_t.
112128         * lib/mbswidth.h (PARAMS): Remove macro.
112129         (mbswidth, mbsnwidth): Use ANSI C function declarations.
112130         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
112132         * lib/gcd.h (PARAMS): Remove macro.
112133         (gcd): Use ANSI C function declarations.
112134         * lib/gcd.c (gcd): Likewise.
112136 2002-11-15  Bruno Haible  <bruno@clisp.org>
112138         * lib/strcspn.c: Include <stddef.h>.
112139         (strcspn): Use ANSI C function declaration. Change return type to
112140         size_t. Use NULL.
112141         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
112142         (strpbrk): Use NULL.
112143         * lib/strpbrk.h (PARAMS): Remove macro.
112144         (strpbrk): Use ANSI C function declaration.
112145         * lib/strstr.c: Don't include <sys/types.h>.
112146         * lib/strstr.h (PARAMS): Remove macro.
112147         (strstr): Use ANSI C function declarations.
112149 2002-11-14  Karl Berry  <karl@gnu.org>
112151         * config/mkinstalldirs: `do' on separate line, instead of
112152         `for var; do'.
112154 2002-11-06  Bruno Haible  <bruno@clisp.org>
112156         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
112157         * lib/gcd.c (gcd): Likewise.
112159 2002-11-05  Bruno Haible  <bruno@clisp.org>
112161         * lib/gcd.h: New file, from gettext-0.11.5.
112162         * lib/gcd.c: New file, from gettext-0.11.5.
112164 2002-11-05  Bruno Haible  <bruno@clisp.org>
112166         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
112167         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
112168         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
112169         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
112171         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
112172         <libintl.h>.
112173         * lib/makepath.c: Include gettext.h instead of <locale.h> and
112174         <libintl.h>.
112176         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
112177         * lib/human.c: Include gettext.h instead of <libintl.h>.
112178         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
112179         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
112180         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
112181         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
112182         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
112183         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
112184         (textdomain): Remove definition.
112185         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
112187         * lib/long-options.c: Remove include of <libintl.h> and definition of
112188         _.
112189         * lib/same.c: Remove include of <libintl.h> and definition of _.
112191 2002-11-04  Owen Taylor  <otaylor@redhat.com>
112193         * lib/config.charset: A few additions for Solaris.
112195 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
112197         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
112198         * lib/localcharset.c (locale_charset): Declare as extern "C".
112200 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
112202         * lib/config.charset: msdos in uk_UA uses CP1125.
112204 2002-11-04  Bruno Haible  <bruno@clisp.org>
112206         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
112207         * lib/strcase.h: New file, from GNU gettext-0.11.5.
112208         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
112209         * lib/strstr.h: New file, from GNU gettext-0.11.5.
112210         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
112212 2002-11-04  Bruno Haible  <bruno@clisp.org>
112214         * lib/localcharset.c (locale_charset): Don't return an empty string.
112216 2002-11-04  Bruno Haible  <bruno@clisp.org>
112218         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
112219         aliases.
112221 2002-11-04  Bruno Haible  <bruno@clisp.org>
112223         * lib/config.charset: Update for newest glibc. Add canonical names
112224         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
112226 2002-11-04  Bruno Haible  <bruno@clisp.org>
112228         * lib/config.charset: Add support for NetBSD.
112230 2002-11-04  Bruno Haible  <bruno@clisp.org>
112232         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
112234 2002-11-01  Bruno Haible  <bruno@clisp.org>
112236         * configure.in: Add AC_CONFIG_AUX_DIR call.
112237         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
112238         test/Makefile.
112239         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
112241 2002-09-28  Karl Berry  <karl@gnu.org>
112243         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
112244         installed automake until the next release, since changes have been
112245         made.
112247 2002-09-25  Karl Berry  <karl@gnu.org>
112249         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
112250         * lib/getopt*: copy from libc/posix.
112251         * lib/gettext.h: copy from gettext.
112252         * lib/.cppi-disable: add strdup.c, gettext.h.
112254 2002-09-25  Karl Berry  <karl@gnu.org>
112256         * config/srclist.txt: enable gettext.h check.
112257         * config/config.{guess,sub}: update from prep.
112258         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
112259                 from automake 1.6.3.
112260         See srclist*.
112262 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
112264         * regex.c (PATFETCH): Remove the translating fetch.
112265         (PATFETCH_RAW): Rename to PATFETCH.
112266         (set_image_of_range): New fun.
112267         (SET_RANGE_TABLE_WORK_AREA): Use it.
112268         (regex_compile): Don't translate the pattern chars so eagerly.
112269         Only do it when inserting an `exactn' bytecode or when handling
112270         a char-range.
112271         (mutually_exclusive_p): Avoid empty statement.
112273 2002-07-06  Jim Meyering  <meyering@lucent.com>
112275         * m4/README: Don't mention Makefile.am.in.
112276         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
112278 2002-07-01  Jim Meyering  <meyering@lucent.com>
112280         * lib/c-stack.c: Include sys/time.h.
112281         From Volker Borchert.
112283 2002-06-26  Paul Eggert  <eggert@twinsun.com>
112285         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
112287 2002-06-26  Paul Eggert  <eggert@twinsun.com>
112289         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
112290         New macro.  Use it uniformly instead of
112291         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
112292         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
112293         reported by Vin Shelton.
112295 2002-06-22  Paul Eggert  <eggert@twinsun.com>
112297         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
112298         Do not assume SA_SIGINFO behavior.
112299         Bug reported by Jim Meyering on NetBSD 1.5.2.
112301 2002-06-22  Jim Meyering  <meyering@lucent.com>
112303         * m4/c-stack.m4: New file, from diffutils-2.8.2.
112304         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
112306         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
112307         now that configure.ac uses AC_GNU_SOURCE.
112308         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
112309         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
112311         Update to latest tools.  Suggestions from Paul Eggert.
112312         * m4/stdbool.m4: New file, from diffutils-2.8.2.
112313         * m4/gnu-source.m4: Update from diffutils-2.8.2.
112314         * m4/fnmatch.m4: Likewise.
112315         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
112316         to AC_HEADER_STDBOOL
112318 2002-06-22  Jim Meyering  <meyering@lucent.com>
112320         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
112321         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
112323 2002-06-22  Jim Meyering  <meyering@lucent.com>
112325         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
112327         * lib/exitfail.c, exitfail.h: Likewise.
112328         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
112330         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
112331         of fnmatch.h.
112332         (EXTRA_DIST): Add fnmatch_loop.c.
112333         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
112335         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
112336         * lib/fnmatch.c: Update from diffutils-2.8.2.
112337         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
112338         * lib/fnmatch.h: Remove file.
112340 2002-06-21  Jim Meyering  <meyering@lucent.com>
112342         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
112343         * m4/mbrtowc.m4: Likewise.
112345         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
112346         * m4/mbswidth.m4: Reflect name change:
112347         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
112348         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
112350         * m4/lib-link.m4: Update from gettext-0.11.2.
112351         * m4/gettext.m4: Likewise.
112353         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
112354         From Alfred M. Szmidt.
112356 2002-06-18  Paul Eggert  <eggert@twinsun.com>
112358         * lib/file-type.h: Report an error if neither S_ISREG nor
112359         S_IFREG is defined, instead of using a test specific to glibc
112360         2.2.  This should be safe, since POSIX requires S_ISREG and
112361         Unix Version 7 had S_IFREG.  We don't need to check for
112362         <sys/types.h> since we don't use any symbols that it defines.
112364 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
112366         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
112367         $@-t, so that each temporary file name is unique and valid in the first
112368         8 characters, for operation under DOS.
112370 2002-06-15  Paul Eggert  <eggert@twinsun.com>
112372         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
112374 2002-06-15  Jim Meyering  <meyering@lucent.com>
112376         Work even with DJGPP 2.03, which lacks support for symlinks.
112377         From Richard Dawe.
112378         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
112379         is defined.
112380         * lib/lchown.c (S_ISLNK): Likewise.
112382 2002-06-15  Jim Meyering  <meyering@lucent.com>
112384         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
112385         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
112386         have been included before this file.
112388 2002-06-14  Jim Meyering  <meyering@lucent.com>
112390         * lib/file-type.h: Use the version from diffutils-2.8.2.
112391         * lib/file-type.c: Likewise.
112393 2002-06-07  Jim Meyering  <meyering@lucent.com>
112395         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
112396         They're needed at least for NetBSD 1.5.2.
112397         ($statxfs_includes): Include those same headers.
112398         ($statxfs_includes): Include sys/vfs.h if available.
112399         ($statxfs_includes): Likewise for sys/statvfs.h.
112400         Check for the following members in both structs statfs and statvfs:
112401         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
112403 2002-06-01  Jim Meyering  <meyering@lucent.com>
112405         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
112406         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
112408 2002-05-28  Jim Meyering  <meyering@lucent.com>
112410         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
112411         Reported by Volker Borchert.
112413 2002-05-27  Jim Meyering  <meyering@lucent.com>
112415         Fix a problem seen only on nonconforming systems whereby ls.c's
112416         use of localtime, and then of gettimeofday would cause trouble:
112417         the localtime call used to initialize rpl_gettimeofday's save
112418         mechanism would clobber ls's current local time information so
112419         that in any long listing the first file would always be listed
112420         with date 1970-01-01.  Analysis by Volker Borchert.
112422         * lib/gettimeofday.c (localtime): Undefine.
112423         (rpl_localtime): New function.
112425 2002-05-27  Jim Meyering  <meyering@lucent.com>
112427         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
112428         localtime.
112430         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
112431         use the replacement function; it wouldn't resolve at link time.
112432         Reported by Volker Borchert.
112434 2002-05-22  Jim Meyering  <meyering@lucent.com>
112436         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
112437         file-type.h.
112438         * lib/file-type.h: New file.
112439         * lib/file-type.c (file_type): New file/function.  Extracted from
112440         diffutils.
112442 2002-04-30  Jim Meyering  <meyering@lucent.com>
112444         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
112446 2002-04-29  Paul Eggert  <eggert@twinsun.com>
112448         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
112450 2002-04-29  Paul Eggert  <eggert@twinsun.com>
112452         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
112453         Do not check for alloca.h (no longer used) or stdbool.h (was never
112454         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
112456 2002-04-29  Paul Eggert  <eggert@twinsun.com>
112458         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
112460 2002-04-29  Jim Meyering  <meyering@lucent.com>
112462         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
112463         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
112464         Use AC_FUNC_STRNLEN here instead.
112466         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
112467         With autoconf-2.53a, it's part of AC_PROG_CC.
112469 2002-04-28  Paul Eggert  <eggert@twinsun.com>
112471         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
112472         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
112474 2002-04-28  Paul Eggert  <eggert@twinsun.com>
112476         * lib/sig2str.h, lib/sig2str.c: New files.
112477         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
112479 2002-04-28  Paul Eggert  <eggert@twinsun.com>
112481         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
112482         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
112483         of 127, since 64 is the largest conceivable number for ancient
112484         nonstandard hosts.
112485         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
112487 2002-04-28  Jim Meyering  <meyering@lucent.com>
112489         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
112491 2002-04-24  Jim Meyering  <meyering@lucent.com>
112493         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
112494         (jm_PREREQ): Use it.
112496         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
112497         mach/mach.h fcntl.h.
112498         Check for this function: setlocale.
112500 2002-04-24  Jim Meyering  <meyering@lucent.com>
112502         * lib/gettext.h: New file, from Gettext.
112503         * lib/Makefile.am (INCLUDES): Remove -I../intl.
112504         (libfetish_a_SOURCES): Add gettext.h.
112506 2002-04-16  Jim Meyering  <meyering@lucent.com>
112508         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
112509         ut_pid, ut_id, ut_exit.
112511 2002-04-16  Jim Meyering  <meyering@lucent.com>
112513         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
112514         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
112515         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
112517 2002-04-12  Jim Meyering  <meyering@lucent.com>
112519         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
112520         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
112521         existence of the getmntinfo function.  Needed for Darwin 5.3.
112523         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
112524         This is necessary at least on Darwin 5.3.
112526         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
112527         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
112528         strnlen.o in the library, and that makes some versions of ranlib
112529         object.
112531 2002-04-12  Jim Meyering  <meyering@lucent.com>
112533         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
112535 2002-04-09  Jim Meyering  <meyering@lucent.com>
112537         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
112538         to be more precise.  Rather than saying we're checking whether the
112539         function `works', say what we're testing.
112540         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
112541         Reported by Bruno Haible.
112543 2002-03-10  Jim Meyering  <meyering@lucent.com>
112545         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
112546         Suggestion from Santiago Vila.
112548 2002-03-08  Jim Meyering  <meyering@lucent.com>
112550         * lib/rename.c: Mention that this wrapper is needed also on
112551         mips-dec-ultrix4.4 systems.
112553 2002-03-02  Jim Meyering  <meyering@lucent.com>
112555         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
112556         not HAVE_CLOCK_SETTIME.
112558 2002-02-27  Paul Eggert  <eggert@twinsun.com>
112560         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
112561         Check for clock_settime.
112563 2002-02-27  Paul Eggert  <eggert@twinsun.com>
112565         * lib/nanosleep.h: Rename to....
112566         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
112568         * lib/gettime.c: New file.
112569         * lib/settime.c: New file.
112570         * lib/stime.c: Remove.
112572         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
112573         timespec.h.  Remove nanosleep.h.
112575 2002-02-25  Paul Eggert  <eggert@twinsun.com>
112577         * m4/acl.m4: New file.
112578         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
112579         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
112581 2002-02-25  Paul Eggert  <eggert@twinsun.com>
112583         * lib/acl.c, lib/acl.h: New files.
112584         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
112586 2002-02-24  Jim Meyering  <meyering@lucent.com>
112588         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
112589         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
112590         cause trouble.  Reported by Nelson Beebe.
112592 2002-02-23  Paul Eggert  <eggert@twinsun.com>
112594         * lib/path-concat.c (xpath_concat): Reorder code to pacify
112595         compilers that don't know that xalloc_die never returns.
112597 2002-02-20  Jim Meyering  <meyering@lucent.com>
112599         * lib/getdate.c: Regenerate using bison-1.33.
112601 2002-02-17  Jim Meyering  <meyering@lucent.com>
112603         * config/config.guess (main): Don't use `head -1'; it's no longer
112604         portable. Use `sed 1q' instead.
112606 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
112608         * m4/codeset.m4: Upgrade to gettext-0.11.
112609         * m4/gettext.m4: Upgrade to gettext-0.11.
112610         * m4/glibc21.m4: Upgrade to gettext-0.11.
112611         * m4/iconv.m4: Upgrade to gettext-0.11.
112612         * m4/isc-posix.m4: Upgrade to gettext-0.11.
112613         * m4/lcmessage.m4: Upgrade to gettext-0.11.
112614         * m4/lib-ld.m4: New file, from gettext-0.11.
112615         * m4/lib-link.m4: New file, from gettext-0.11.
112616         * m4/lib-prefix.m4: New file, from gettext-0.11.
112617         * m4/progtest.m4: Upgrade to gettext-0.11.
112619 2002-02-15  Paul Eggert  <eggert@twinsun.com>
112621         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
112622         (jm_PREREQ): Use it.
112624 2002-02-15  Paul Eggert  <eggert@twinsun.com>
112626         * lib/posixver.c, lib/posixver.h: New files.
112627         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
112629 2002-02-02  Paul Eggert  <eggert@twinsun.com>
112630             Bruno Haible  <bruno@clisp.org>
112632         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
112633         (fwrite_success_callback): New declaration.
112634         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
112635         print_unicode_char. Call failure callback instead of error.
112636         (fwrite_success_callback): New function.
112637         (exit_failure_callback): New function.
112638         (fallback_failure_callback): New function.
112639         (print_unicode_char): Call unicode_to_mb.
112641 2002-01-26  Jim Meyering  <meyering@lucent.com>
112643         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
112644         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
112646 2002-01-26  Jim Meyering  <meyering@lucent.com>
112648         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
112650 2002-01-22  Paul Eggert  <eggert@twinsun.com>
112652         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
112654 2002-01-22  Jim Meyering  <meyering@lucent.com>
112656         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
112657         Otherwise, some versions of automake would omit the rule that makes
112658         Makefile from Makefile.in.
112660 2002-01-21  Paul Eggert  <eggert@twinsun.com>
112662         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
112663         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
112664         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
112665         (memcoll): Set errno to zero if there is no error.
112667         * lib/quotearg.c (quotearg_buffer_restyled):
112668         Fix bug with quoting buffers containing NUL when backslashing escapes.
112669         This bug was exposed by the other changes in this patch.
112670         (quotearg_n_options): New arg ARGSIZE.
112671         All callers changed.
112672         (quoting_options_from_style): New function.
112673         (quotearg_n_style): Use it.
112674         (quotearg_n_style_mem): New function.
112676         * lib/quotearg.h (quotearg_n_style_mem): New function.
112678 2002-01-19  Jim Meyering  <meyering@lucent.com>
112680         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
112681         Remove useless quotes: DF_PROG="df".
112682         * m4/strnlen.m4: New file.
112684 2002-01-16  Paul Eggert  <eggert@twinsun.com>
112686         * lib/backupfile.c (ISDIGIT): Comment fix.
112687         * lib/getdate.y (ISDIGIT): Likewise.
112688         * lib/posixtm.c (ISDIGIT, year): Likewise.
112689         * lib/strverscmp.c (ISDIGIT): Likewise.
112690         * lib/userspec.c (ISDIGIT): Likewise.
112692 2002-01-16  Jim Meyering  <meyering@lucent.com>
112694         * lib/getdate.y: Add three semicolons, each just before a closing
112695         brace. Bison (as of version 1.31) no longer papers over that mistake.
112697 2002-01-05  Jim Meyering  <meyering@lucent.com>
112699         * lib/version-etc.c (version_etc_copyright): Update copyright year.
112701 2001-12-19  Paul Eggert  <eggert@twinsun.com>
112703         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
112704         not silently exit merely because the output buffer happens to
112705         have nothing pending.
112707 2001-12-18  Paul Eggert  <eggert@twinsun.com>
112709         See the big note in ../ChangeLog.
112710         * lib/human.c (suffixes): Prefer K to k for 1024.
112711         (generate_suffix_backwards): New function.
112712         (human_readable_inexact): Use it.
112713         * lib/xstrtol.c (__xstrtol): If there is no number but there
112714         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
112715         Accept 'K' as well as 'k'.
112717 2001-12-15  Jim Meyering  <meyering@lucent.com>
112719         * lib/regex.h (__restrict_arr): Update from libc.
112721         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
112722         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
112723         (STREQ): Define.
112725 2001-12-14  Jim Meyering  <meyering@lucent.com>
112727         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
112728         Suggestion from Bruno Haible.
112730 2001-12-10  Jim Meyering  <meyering@lucent.com>
112732         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
112733         xrealloc, Instead, include "xalloc.h".
112734         (initbuffer): Don't cast xmalloc return value to char*.
112735         (readline): Reword comment.
112736         Don't cast xrealloc return value to char*
112737         Return NULL, not 0.
112739 2001-12-09  Jim Meyering  <meyering@lucent.com>
112741         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
112742         about `signed and unsigned type in conditional expression'.
112743         * lib/posixtm.c (posix_time_parse): Likewise.
112745         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
112747         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
112748         to avoid a pedantic warning.
112750         * lib/getstr.c: Don't include assert.h.
112751         (getstr): Remove warning-evoking assertions.
112752         Return -1 if offset parameter is out of bounds.
112753         Change the type of a local from int to size_t.
112755         * lib/strftime.c (my_strftime_localtime_r): Include this function
112756         definition in the `#if ! HAVE_TM_GMTOFF' block.
112758         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
112759         Include xalloc.h instead.
112761 2001-12-02  Jim Meyering  <meyering@lucent.com>
112763         * lib/tempname.c: Don't declare getenv, thus reverting the change of
112764         2001-11-18.  It's no longer necessary, now that stdlib.h is always
112765         included.
112767         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
112768         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
112770 2001-11-30  Akim Demaille  <akim@epita.fr>
112772         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
112773         before being defined.
112775 2001-11-27  Paul Eggert  <eggert@twinsun.com>
112777         * lib/quotearg.h (quotearg_n, quotearg_n_style):
112778         First arg is int, not unsigned.
112779         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
112780         (SIZE_MAX, UINT_MAX): New macros.
112781         (quotearg_n_options): Abort if N is negative.
112782         Avoid overflow check on hosts where size_t is 64 bits and int
112783         is 32 bits, as overflow is impossible there.
112784         Fix off-by-one typo that caused unnecessary reallocation.
112786 2001-11-27  Jim Meyering  <meyering@lucent.com>
112788         * lib/tempname.c: Merge with version from libc.
112789         * lib/regex.c: Likewise.
112791         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
112792         systems for which STDC_HEADERS is 0, it was not included, resulting in
112793         a warning about an integer-to-pointer conversion problem with getenv.
112794         Reported by Volker Borchert.
112796 2001-11-26  Jim Meyering  <meyering@lucent.com>
112798         * lib/gtod.h: Remove file.
112799         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
112800         * lib/gettimeofday.c: Don't include gtod.h.
112801         (GTOD_init): Remove function.
112802         (rpl_gettimeofday): Do its job here instead, rather than aborting.
112803         Suggestion from Volker Borchert.
112805 2001-11-23  Jim Meyering  <meyering@lucent.com>
112807         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
112808         it.
112809         * lib/hash.c (struct hash_table): Define it here instead.
112811 2001-11-22  Jim Meyering  <meyering@lucent.com>
112813         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
112815 2001-11-20  Jim Meyering  <meyering@lucent.com>
112817         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
112818         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
112820 2001-11-19  Jim Meyering  <meyering@lucent.com>
112822         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
112823         directory.  Use "conftestXXXXXX" as the template.
112824         Suggestion from Paul Eggert.
112826         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
112827         immediately, so the test doesn't mistakenly hit the max-open-files
112828         limit.
112830 2001-11-18  Paul Eggert  <eggert@twinsun.com>
112832         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
112833         (TEMPORARIES): New macro.
112834         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
112835         removes an artificial limitation (e.g. HP-UX 10.20, where
112836         TMP_MAX is 17576).
112838 2001-11-18  Jim Meyering  <meyering@lucent.com>
112840         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
112842 2001-11-18  Jim Meyering  <meyering@lucent.com>
112844         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
112845         on SunOS 4.
112847         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
112848         files will be created before anything else.
112850 2001-11-17  Paul Eggert  <eggert@twinsun.com>
112852         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
112853         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
112855 2001-11-17  Jim Meyering  <meyering@lucent.com>
112857         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
112858         Prompted by a report from Bob Proulx.
112860         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
112861         Instead, require UTILS_FUNC_MKSTEMP.
112863 2001-11-17  Jim Meyering  <meyering@lucent.com>
112865         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
112866         Now, that's done as part of AC_FUNC_STRTOD.
112868 2001-11-17  Jim Meyering  <meyering@lucent.com>
112870         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
112871         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
112872         rather than group writable.  Patch by Juan F. Codagnone.
112874         * lib/readtokens.c: Remove explicit declarations of xmalloc and
112875         xrealloc, Instead, include "xalloc.h".
112877         * lib/mountlist.c: Include unlocked-io.h after all system headers.
112878         Remove explicit declarations of xmalloc, xrealloc,
112879         and xstrdup.  Instead, include "xalloc.h".
112881         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
112882         unlocked-io.h.
112883         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
112884         Likewise.
112885         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
112887         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
112888         Reported by Padraig Brady.
112890         * lib/mkstemp.c: #undef mkstemp.
112891         Include config.h.
112892         (rpl_mkstemp): Rename from mkstemp.
112893         Protoize.
112895 2001-11-16  Jim Meyering  <meyering@lucent.com>
112897         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
112898         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
112899         determine the amount of total physical memory, use pstat_getstatic.
112900         HPUX-11 doesn't define _SC_PHYS_PAGES.
112901         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
112902         If sysconf couldn't be used to determine the amount of available
112903         physical memory, use both pstat_getstatic and pstat_getdynamic.
112904         Based on a patch from Bob Proulx.
112906 2001-11-10  Jim Meyering  <meyering@lucent.com>
112908         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
112909         (jm_PREREQ): Use it.
112911 2001-11-09  Jim Meyering  <meyering@lucent.com>
112913         * m4/jm-macros.m4: Require autoconf-2.52f.
112914         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
112915         Use these AC_-prefixed names, not the AM_-prefixed ones.
112917         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
112919 2001-11-05  Jim Meyering  <meyering@lucent.com>
112921         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
112923 2001-11-04  Jim Meyering  <meyering@lucent.com>
112925         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
112926         $DEFS.
112928 2001-11-03  Jim Meyering  <meyering@lucent.com>
112930         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
112931         of AC_DEFUN.
112933         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
112934         know the name of the variable in the macro definition.
112936 2001-11-03  Jim Meyering  <meyering@lucent.com>
112938         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
112939         in argmatch_to_argument call.
112941         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
112942         argument.
112944         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
112945         e.g., a fault due to an attempt to free a NULL pointer.
112947 2001-11-01  Jim Meyering  <meyering@lucent.com>
112949         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
112950         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
112952 2001-11-01  Jim Meyering  <meyering@lucent.com>
112954         * lib/dirfd.c, lib/dirfd.h: New files.
112955         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
112957         * lib/hash.c (hash_print) [TESTING]: Clean up.
112959 2001-10-22  Paul Eggert  <eggert@twinsun.com>
112961         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
112962         to avoid a warning if -Wall.
112964 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
112966         * README: New file
112967         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
112968         (per RMS's instructions, this is now the canonical source)
112969         * lgpl/, gpl/: New directories.
112971 2001-10-21  Paul Eggert  <eggert@twinsun.com>
112973         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
112975 2001-10-21  Jim Meyering  <meyering@lucent.com>
112977         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
112978         this code would end up calling gettext even in packages built
112979         with --disable-nls.
112980         * lib/getopt.c (_): Likewise.
112981         * lib/regex.c (_): Likewise.
112983 2001-10-20  Paul Eggert  <eggert@twinsun.com>
112985         * m4/error.m4 (jm_PREREQ_ERROR):
112986         Do not invoke AC_CHECK_FUNCS with strerror_r, as
112987         AC_FUNC_STRERROR_R does that.
112988         Check for strerror declaration.
112990         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
112991         are supposed to have them these days.
112992         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
112993         Merge changes from latest Autoconf CVS.
112994         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
112995         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
112996         POSIX decided to standardize on the int flavor of strerror_r.
112998 2001-10-20  Paul Eggert  <eggert@twinsun.com>
113000         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
113001         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
113002         Use strerror_r that is only a macro, even if it is not a function.
113003         (strerror): Check for HAVE_DECL_STRERROR before declaring.
113004         (private_strerror): Use prototypes, not old-style function definition.
113005         (print_errno_message): New function.
113006         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
113007         char*-flavored one.
113008         (error_tail, error, error_at_line): Use it.
113010 2001-10-11  Jim Meyering  <meyering@lucent.com>
113012         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
113013         and quote_n (1, ... to avoid clobbering a buffer.
113015 2001-10-05  Jim Meyering  <meyering@lucent.com>
113017         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
113018         hash-pjw.h.
113019         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
113020         * lib/hash-pjw.h: New file.
113022 2001-09-30  Jim Meyering  <meyering@lucent.com>
113024         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
113025         `struct fsstat' has the `f_fstypename' member.
113026         Use that to define FS_TYPE, which is now used to make
113027         the getfsstat link test tighter.
113029 2001-09-30  Jim Meyering  <meyering@lucent.com>
113031         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
113032         Include <sys/ucred.h>, for Apple Darwin.
113033         Include sys/mount.h and sys/fs_types.h only if available.
113034         (FS_TYPE): Define.
113035         (read_filesystem_list): Use FS_TYPE.
113037 2001-09-29  Paul Eggert  <eggert@twinsun.com>
113039         * lib/exclude.c (excluded_filename): 0 -> false, since it's
113040         a boolean context.
113042 2001-09-29  Jim Meyering  <meyering@lucent.com>
113044         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
113045         [one-argument getmntent function]): Include stdio.h before mntent.h.
113046         SunOS 4.1.x needs it for the declaration of `FILE'.
113047         Patch by Volker Borchert.
113049         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
113050         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
113051         sys/fs_types.h, and make the link-test for getfsstat guard #include
113052         directives with appropriate #if HAVE_*_H tests so that we can
113053         detect getfsstat on Apple Darwin1.3.7 systems.
113054         Reported by Nelson Beebe.
113055         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
113057 2001-09-28  Paul Eggert  <eggert@twinsun.com>
113059         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
113060         #defines strtoimax.  Also treat the other strto* functions
113061         like strtoimax.
113063         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
113064         Check for strtoul and strtoumax,
113065         as those declarations are made even in the signed case.
113066         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
113067         Likewise, for strtol and strtoimax.
113069 2001-09-28  Paul Eggert  <eggert@twinsun.com>
113071         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
113072         #defines strtoimax.  Also treat the other strto* functions
113073         like strtoimax.
113075         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
113076         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
113077         (strtoimax, strtoumax): Do not declare if already defined as a macro.
113079 2001-09-26  Jim Meyering  <meyering@lucent.com>
113081         Most macros in unlocked-io.h had the wrong number of arguments.
113082         * lib/gen-uio: New script.
113083         (USE_UNLOCKED_IO): Define to 1 if not already defined.
113084         * lib/unlocked-io.hin: Remove file.
113085         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
113086         rather than trying to embed it here.
113087         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
113088         Reported by Padraig Brady.
113090 2001-09-25  Volker Borchert  <bt@teknon.de>
113092         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
113093         `result'.
113095 2001-09-24  Jim Meyering  <meyering@lucent.com>
113097         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
113099 2001-09-23  Jim Meyering  <meyering@lucent.com>
113101         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
113102         instead of the mere test for existence of mntent.h.  The latter
113103         would get a false-positive on AIX 3.4 systems.
113104         In the outer getmntent if-block, don't die if neither of the getmntent
113105         tests succeeds.  Instead, just fall through and continue with the
113106         remaining tests.
113108 2001-09-23  Jim Meyering  <meyering@lucent.com>
113110         * lib/mountlist.c: Remove useless parentheses in #if directives.
113111         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
113112         the deprecated MOUNTED symbol is no longer defined in mntent.h.
113114 2001-09-22  Jim Meyering  <meyering@lucent.com>
113116         * m4/gettext.m4: New file.  From gettext.
113117         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
113118         * m4/progtest.m4: Likewise
113119         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
113120         * m4/glibc21.m4: Likewise.
113122         * m4/libintl.m4: Remove.  No longer used.
113124 2001-09-22  Jim Meyering  <meyering@lucent.com>
113126         * lib/localcharset.c: Update from latest gettext.
113127         * lib/config.charset: Likewise.
113129 2001-09-20  Jim Meyering  <meyering@lucent.com>
113131         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
113132         strtoimax.
113133         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
113134         strtoumax.
113136 2001-09-20  Jim Meyering  <meyering@lucent.com>
113138         * lib/xstrtol.c (strtoimax): Guard declaration with
113139         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
113140         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
113141         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
113142         (strtoumax): Likewise, for completeness (it wasn't necessary).
113144 2001-09-17  Paul Eggert  <eggert@twinsun.com>
113146         * lib/strtoimax.c (HAVE_LONG_LONG):
113147         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
113148         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
113149         to work around bug in IBM C compiler.
113151 2001-09-17  Jim Meyering  <meyering@lucent.com>
113153         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
113154         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
113155         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
113156         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
113157         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
113158         whenever the right hand side need not be expanded by the shell.
113160 2001-09-16  Paul Eggert  <eggert@twinsun.com>
113162         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
113163         library.  It's not correct, as some older glibcs are buggy.
113164         fnmatch wasn't fixed until glibc 2.2.
113166         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
113167         special shell magic here.
113169 2001-09-16  Jim Meyering  <meyering@lucent.com>
113171         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
113172         * m4/jm-macros.m4: Require it.
113174 2001-09-16  Jim Meyering  <meyering@lucent.com>
113176         * lib/mkdir.c: New file.
113178 2001-09-15  Jim Meyering  <meyering@lucent.com>
113180         * m4/jm-macros.m4: Check for help2man.
113182 2001-09-11  Jim Meyering  <meyering@lucent.com>
113184         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
113185         The body, by Paul Eggert, was moved here from configure.in.
113186         * m4/jm-macros.m4: Require UTILS_HOST_OS.
113188 2001-09-04  Paul Eggert  <eggert@twinsun.com>
113190         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
113191         (jm_PREREQ): Use it.
113193 2001-09-04  Paul Eggert  <eggert@twinsun.com>
113195         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
113196         Use ssize_t, not int, to store result of readlink.
113197         Check for ssize_t overflow as well as size_t overflow,
113198         as POSIX says the result of readlink is implementation-defined
113199         when ssize_t overflows.
113200         Remove unnecessary cast to char*.
113201         Use free+malloc instead of realloc, as the storage doesn't need
113202         to be preserved and it's clearer and can be more efficient that way.
113203         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
113204         * lib/xreadlink.h (xreadlink): Update prototype.
113206 2001-09-04  Paul Eggert  <eggert@twinsun.com>
113208         * lib/xgetcwd.c: Revert some of the previous change; intead,
113209         fix the HAVE_GETCWD_NULL code to behave more like the
113210         !HAVE_GETCWD_NULL code used to.
113212         Include "xalloc.h".
113213         (xgetcwd): Do not return NULL when memory is exhausted; instead,
113214         invoke xalloc_die.
113216 2001-09-03  Paul Eggert  <eggert@twinsun.com>
113218         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
113219         sys/param.h, as pathmax.h includes them.
113221 2001-09-03  Paul Eggert  <eggert@twinsun.com>
113223         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
113224         (jm_PREREQ_XGETCWD): New macro.
113226         * m4/getcwd.m4: New file.
113228 2001-09-03  Paul Eggert  <eggert@twinsun.com>
113230         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
113231         like the HAVE_GETCWD_NULL code.
113232         Include pathmax.h if not HAVE_GETCWD.
113233         Do not include xalloc.h.
113234         (INITIAL_BUFFER_SIZE): New symbol.
113235         Do not use xmalloc / xrealloc, since the caller is responsible for
113236         handling errors.  Preserve errno around `free' during failure.
113237         Do not overrun buffer when using getwd.
113239 2001-09-03  Paul Eggert  <eggert@twinsun.com>
113241         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
113242         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
113243         getcwd (NULL, 0).
113245 2001-09-03  Paul Eggert  <eggert@twinsun.com>
113247         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
113248         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
113249         spotted by Jim Meyering.
113251 2001-09-03  Jim Meyering  <meyering@lucent.com>
113253         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
113254         failure.
113256 2001-09-02  Jim Meyering  <meyering@lucent.com>
113258         * lib/error.c: Update from GNU libc.
113260 2001-09-01  Jim Meyering  <meyering@lucent.com>
113262         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
113263         Used by df.
113265 2001-09-01  Jim Meyering  <meyering@lucent.com>
113267         * lib/xreadlink.c: New file.
113268         * lib/xreadlink.h: New file.
113269         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
113270         xreadlink.h.
113272         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
113273         doesn't conflict with sparc Solaris 7's definition in
113274         /usr/include/sys/int_types.h.
113276         * lib/exclude.c: Use `""', not `<>' to #include non-system header
113277         files.
113278         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
113279         and strncasecmp as r-values.  Unixware didn't have declarations.
113281 2001-08-31  Paul Eggert  <eggert@twinsun.com>
113283         * lib/xstrtol.h: Add copyright notice.
113284         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
113285         LONGINT_INVALID_SUFFIX_CHAR.
113287 2001-08-31  Paul Eggert  <eggert@twinsun.com>
113289         * lib/xstrtol.c (strtoimax): New decl.
113291 2001-08-31  Paul Eggert  <eggert@twinsun.com>
113293         * lib/xgetcwd.c: Don't include pathmax.h.
113294         Include stdlib.h and unistd.h if available.
113295         Include xalloc.h.
113296         (xmalloc, xstrdup, free): Remove decls.
113297         (xgetcwd): Don't assume sizes fit in unsigned.
113298         Check for overflow when computing sizes.
113299         Simplify reallocation code.
113301 2001-08-31  Paul Eggert  <eggert@twinsun.com>
113303         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
113304         a directory's st_size can have an arbitrary value, so the old
113305         usage could waste an arbitrary amount of memory.  All uses
113306         changed.
113307         * lib/savedir.h: Update prototype.
113309 2001-08-31  Paul Eggert  <eggert@twinsun.com>
113311         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
113313         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
113314         old strtoimax.c.
113316         Also, make the following further changes to make this file's
113317         configuration more similar to that of strtol.c:
113318         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
113319         (strtoumax, uintmax_t, strtoull, strtol): Remove.
113320         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
113321         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
113322         changed to signed values.
113324         And make the following changes as well:
113325         Fix copyright notice, as 1999 was missing.
113326         (verify): New macro.
113327         (strtoimax): Check sizes at compile-time, not run-time.
113328         Prefer strtol to strtoll if both work.
113329         (main): Remove; it was not that useful and was a pain to maintain.
113331         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
113333 2001-08-31  Jim Meyering  <meyering@lucent.com>
113335         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
113336         Use an initial, malloc'd, buffer of length 128 rather than
113337         a statically allocated one of length 1024.
113339 2001-08-30  Paul Eggert  <eggert@twinsun.com>
113341         Simplify code, partly by assuming autoconf 2.52 semantics.
113343         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
113345         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
113346         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
113347         All uses removed.
113348         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
113349         Move AC_REQUIRE to next-to-top level, to avoid confusion.
113350         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
113351         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
113352         jm_AC_HEADER_INTTYPES_H.
113353         * m4/jm-macros.m4 (jm_MACROS): Likewise.
113355         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
113357         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
113358         Quote first arg of AC_DEFUN.
113359         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
113360         since they are needed to parse the include file even if we need
113361         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
113362         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
113363         but with opposite signedness.
113365 2001-08-30  Paul Eggert  <eggert@twinsun.com>
113367         Merge 'exclude' changes from tar 1.13.22.
113368         This fixes one or two unlikely storage allocation overflow bugs,
113369         but doesn't change user-visible behavior otherwise.
113371 2001-08-30  Paul Eggert  <eggert@twinsun.com>
113373         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
113374         (jm_PREREQ_EXCLUDE): New macro.
113376 2001-08-30  Paul Eggert  <eggert@twinsun.com>
113378         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
113379         tm to be declared.
113381 2001-08-30  Paul Eggert  <eggert@twinsun.com>
113383         * lib/hash.c: Remove '2001' from copyright notice.
113385 2001-08-30  Paul Eggert  <eggert@twinsun.com>
113387         * lib/full-write.h: New file.
113388         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
113389         * lib/full-write.c: Correct credits, as cccp.c no longer
113390         exists and anyway it was so heavily changed from the old cccp
113391         code as to be unrecognizable.  Include full-write.h.
113392         (full_write): Return size_t, with short writes meaning failure.
113393         All callers changed.  This fixes a bug with large buffers
113394         on 64-bit hosts.
113395         * lib/utime.c: Include full-write.h.
113397 2001-08-30  Paul Eggert  <eggert@twinsun.com>
113399         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
113400         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
113401         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
113402         Include if available.
113403         (<xalloc.h>): Include
113404         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
113405         (verify): New macro.  Use it to verify that EXCLUDE macros do not
113406         collide with FNM macros.
113407         (struct patopts): New struct.
113408         (struct exclude): Use it, as exclude patterns now come with options.
113409         (new_exclude): Support above changes.
113410         (new_exclude, add_exclude_file):
113411         Initial size must now be a power of two to simplify overflow checking.
113412         (free_exclude, fnmatch_no_wildcards): New function.
113413         (excluded_filename): No longer requires options arg, as the options
113414         are determined by add_exclude.  Now returns bool, not int.
113415         (excluded_filename, add_exclude):
113416         Add support for the fancy new exclusion options.
113417         (add_exclude, add_exclude_file): Now takes int options arg.
113418         Check for arithmetic overflow when computing sizes.
113419         (add_exclude_file): xrealloc might modify errno, so don't
113420         realloc until after errno might be used.
113422         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
113423         New macros.
113424         (free_exclude): New decl.
113425         (add_exclude, add_exclude_file): Now takes int options arg.
113426         (excluded_filename): No longer requires options arg, as the options
113427         are determined by add_exclude.  Now returns bool, not int.
113429 2001-08-30  Paul Eggert  <eggert@twinsun.com>
113431         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
113433 2001-08-27  Jim Meyering  <meyering@lucent.com>
113435         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
113437         * lib/version-etc.c (N_): Remove definition.
113438         Revert most of last change.
113439         Instead, simply don't mark the `Copyright...' string for translation.
113440         Based on advice from Paul Eggert.
113442         * lib/strtoxmax.c: Tweak comment.
113444 2001-08-26  Jim Meyering  <meyering@lucent.com>
113446         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
113448         * m4/xstrtoimax.m4: New file.
113449         * m4/xstrtoumax.m4: Add comments explaining why we
113450         AC_REPLACE_FUNCS(strtol).
113452 2001-08-26  Jim Meyering  <meyering@lucent.com>
113454         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
113455         of copyright with `%s' so translators don't get an untranslated
113456         message in 2002.
113457         (COPYRIGHT_YEAR): Define.
113458         (version_etc): Use fprintf rather than fputs.
113459         Suggestion from Ulrich Drepper.
113461         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
113463         * lib/strtoll.c: New file, from GNU libc.
113464         * lib/xstrtoimax.c: New file.
113466         * lib/xstrtol.h: Add xstrtoimax.
113467         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
113468         * lib/strtoimax.c: New file.  Likewise, but first define
113469         STRTOUXMAX_SIGNED.
113471         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
113472         ...
113473         * lib/strtoxmax.c: ... then renamed to this.
113475 2001-08-18  Paul Eggert  <eggert@twinsun.com>
113477         * m4/inttypes.m4: Add AC_PREREQ(2.13).
113478         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
113479         (jm_AC_TYPE_INTMAX_T): New macro.
113480         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
113482         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
113484         * m4/longlong.m4: Renamed from ulonglong.m4.
113485         * m4/inttypes.m4: Renamed from inttypes_h.m4.
113486         * m4/uintmax_t.m4: Removed.
113488 2001-08-13  Paul Eggert  <eggert@twinsun.com>
113490         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
113491         Port to Solaris 8, where 'sed' requires a space after the 'r'
113492         command, and where sh dislikes "$/".  Clean up the spacing a bit.
113493         Redirect output to $tmp just once.
113495 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
113497         * lib/addext.c (<errno.h>): Include.
113498         (errno): Declare if not defined.
113499         (addext): Work correctly when pathconf returns -1 and leaves
113500         errno alone because there is no limit.  Also, work even if
113501         pathconf returns a value greater than SIZE_MAX.
113503 2001-08-12  Jim Meyering  <meyering@lucent.com>
113505         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
113506         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
113507         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
113508         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
113509         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
113510         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
113511         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
113512         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
113513         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
113514         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
113515         utime.m4, utimes.m4, xstrtoumax.m4:
113516         Quote the first argument in each use of AC_DEFUN.
113518 2001-08-12  Jim Meyering  <meyering@lucent.com>
113520         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
113521         Simply `return getcwd (NULL, 0);'.
113522         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
113523         Use 1300 as initial value for length, not PATH_MAX.
113525         * lib/pathmax.h: Clean up cpp syntax.
113527 2001-08-12  Jim Meyering  <meyering@lucent.com>
113529         * lib/gettimeofday.c: New file.
113530         * lib/gtod.h: New file.
113531         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
113533 2001-08-05  Jim Meyering  <meyering@lucent.com>
113535         * m4/jm-macros.m4: Require autoconf-2.52.
113537 2001-08-04  Jim Meyering  <meyering@lucent.com>
113539         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
113540         stmt, to get in sync with glibc.
113542 2001-08-03  Paul Eggert  <eggert@twinsun.com>
113544         The following changes are from gettext 0.10.39 as maintained by
113545         Bruno Haible.
113547         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
113548         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
113549         with inverted sense.  All uses changed.
113551         * lib/mbswidth.c: Don't include <limits.h>.
113552         Include <stdlib.h> and <string.h> unconditionally.
113553         (iswcntrl, mbsinit, ISCNTRL): New macros.
113554         (mbsnwidth): Use K&R style function declarations.
113555         Don't bother checking for MB_LEN_MAX == 1, since the compiler
113556         can optimize it when MB_CUR_MAX == 1.
113557         The width of control characters is zero, not 1.
113559 2001-08-03  Paul Eggert  <eggert@twinsun.com>
113561         The following changes are from gettext 0.10.39 as maintained by
113562         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
113564         * m4/codeset.m4: Upgrade to serial AM1.
113565         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
113566         all uses changed.  Quote first arg of AC_DEFUN.
113567         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
113569         * m4/iconv.m4: Upgrade to serial AM2.
113570         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
113571         Add --with-libconv-prefix.
113572         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
113573         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
113574         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
113575         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
113576         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
113578         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
113579         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
113580         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
113581         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
113582         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
113583         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
113584         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
113585         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
113586         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
113588         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
113589         string.h any more.
113591         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
113592         not the default value.
113594         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
113595         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
113596         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
113597         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
113598         Also check for iswcntrl, used for wcwidth fallback.
113599         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
113600         to Autoconf 2.13.
113602 2001-08-03  Jim Meyering  <meyering@lucent.com>
113604         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
113605         as it was in the original.  Reported by Paul Eggert.
113607 2001-07-16  Jim Meyering  <meyering@lucent.com>
113609         * m4/gettimeofday.m4: New file.
113610         Prompted by a report from Bernhard Baehr.
113612 2001-07-15  Jim Meyering  <meyering@lucent.com>
113614         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
113615         stuff. Now it's in ../Makefile.cfg.
113617 2001-07-15  Jim Meyering  <meyering@lucent.com>
113619         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
113620         (BUILT_SOURCES): Add unlocked-io.h.
113621         (io_functions): Define.
113622         (unlocked-io.h): New rule.
113623         (DISTCLEANFILES): Add unlocked-io.h.
113624         (all-local): Depend on unlocked-io.h, to ensure it is created.
113626         * lib/unlocked-io.hin: New file
113628         * lib/regex.c: Update from glibc.
113630 2001-07-05  Jim Meyering  <meyering@lucent.com>
113632         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
113633         recommendation.
113634         (libfetish_a_SOURCES): Put all .h files here instead.
113635         Remove a thus-exposed (better checks in automake) duplicate and
113636         two unnecessary .h files.
113638 2001-07-04  Jim Meyering  <meyering@lucent.com>
113640         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
113641         that generates jm-glibc-io.m4 so that it doesn't trigger any make
113642         distcheck failure.
113644 2001-07-02  Jim Meyering  <meyering@lucent.com>
113646         The following changes were prompted by suggestions from Bruno Haible.
113648         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
113649         is now generated.
113650         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
113651         definition of EXTRA_DIST.
113652         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
113653         ensure that the generated file is created/updated whenever the list
113654         of $(unlocked_functions) is changed.
113655         (jm-glibc-io.m4): New rule.
113656         (unlocked-io.h): New rule -- currently unused.
113658 2001-06-24  Jim Meyering  <meyering@lucent.com>
113660         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
113661         unmatched right bracket, rather than kludging it with an extra,
113662         falsely-matching quote in a comment.  Patch by Akim Demaille.
113664 2001-06-11  Jim Meyering  <meyering@lucent.com>
113666         * lib/regex.c: Update from GNU libc.
113668 2001-05-27  Jim Meyering  <meyering@lucent.com>
113670         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
113671         Check for ut_type in struct utmp.
113673 2001-05-27  Jim Meyering  <meyering@lucent.com>
113675         * lib/readutmp.h (UT_TYPE): Define.
113677 2001-05-24  Jim Meyering  <meyering@lucent.com>
113679         * lib/argmatch.c: Include "quote.h".
113680         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
113681         quote function.  Reported by Göran Uddeborg.
113683 2001-05-22  Jim Meyering  <meyering@lucent.com>
113685         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
113686         now that we use the package-supplied version unconditionally.
113687         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
113689 2001-05-21  Jim Meyering  <meyering@lucent.com>
113691         * m4/regex.m4: Change a couple backticks to single quotes to avoid
113692         shell syntax errors.
113694 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
113696         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
113698 2001-05-20  Paul Eggert  <eggert@twinsun.com>
113700         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
113701         Don't bother to check library strftime, since
113702         we'll be using our own my_strftime function anyway.
113703         Define my_strftime instead of strftime.
113705 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
113707         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
113708         which is not yet declared.
113710 2001-05-15  Jim Meyering  <meyering@lucent.com>
113712         * m4/regex.m4: Use proper quoting so brackets appear in the test
113713         program.
113714         Reported by, and with help from, Bruno Haible.
113716 2001-05-13  Jim Meyering  <meyering@lucent.com>
113718         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
113719         undefined.
113721 2001-05-11  Paul Eggert  <eggert@twinsun.com>
113723         dirname code cleanup.  base_name now behaves more compatibly
113724         with POSIX basename when given file names that have trailing
113725         slashes, and similarly for dir_name.  Add new primitives
113726         base_len and dir_len.  Put the directory-name-related decls
113727         into dirname.h.
113729         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
113730         * lib/backupfile.c (base_name): Likewise.
113731         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
113732         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
113733         * lib/makepath.c (strip_trailing_slashes): Likewise.
113734         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
113735         ISSLASH): Likewise.
113736         * lib/rename.c (strip_trailing_slashes): Likewise.
113737         * lib/same.c (base_name): Likewise.
113738         * lib/stripslash.c (ISSLASH): Likewise.
113740         * lib/addext.c: Include <dirname.h> after size_t is defined.
113741         * lib/backupfile.c: Likewise.
113743         * lib/addext.c (addext): Use base_len to trim redundant
113744         trailing slashes instead of doing it ourselves.
113745         But do not trim the last slash if it is not redundant.
113747         * lib/backupfile.c (find_backup_file_name,
113748         max_backup_version): Use base_len instead of rolling it ourselves.
113749         Handle the case of "" and (on DOS) "C:" correctly.
113751         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
113752         needed. Include <string.h>, <dirname.h>.
113753         (base_name): Allow file names ending in slashes, other than names
113754         that are all slashes.  In this case, return the basename followed
113755         by the slashes.  This is more general, and can be used in places
113756         where the original base_name purposely had an assertion failure.
113757         (base_len): New function.
113759         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
113760         Do not include <assert.h>; no longer needed.
113761         Include xalloc.h.
113762         (memrchr): Remove decl.
113763         (dir_name_r): Remove.
113764         (dir_len): Renamed from dirlen.  All callers changed.
113765         Rewrite in terms of base_name, for simplicity and consistency.
113766         (dir_name): Never return NULL.  All callers changed.
113767         Do not include <stdlib.h> in test program; no longer needed.
113768         return 0; is fine for test program.
113770         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
113771         New macros.
113772         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
113774         * lib/path-concat.c (path_concat): Use base_len to compute
113775         base length, not strlen; this means we cannot rely on memcpy
113776         to null-terminate.
113778         * lib/same.c (STREQ): Remove.
113779         (same_name): Handle the case where the basename ends in trailing '/'.
113781         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
113782         a slash was stripped.  Do not strip the last slash after a
113783         file system prefix.
113785 2001-05-11  Paul Eggert  <eggert@twinsun.com>
113787         * lib/Makefile.am (libfetish_a_SOURCES):
113788         Add strftime.c, since we now compile it on all hosts.
113790         * lib/strftime.c (my_strftime):
113791         Define to nstrftime if emacs, but only if my_strftime is not defined.
113792         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
113793         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
113794         Add one more extra argument: a nanoseconds value.
113795         All uses changed.
113796         (ns): New macro.
113797         (my_strftime function): Add %N format.
113798         (emacs_strftimeu): Renamed from emacs_strftime,
113799         with extra ut argument.
113801 2001-05-09  Paul Eggert  <eggert@twinsun.com>
113803         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
113805 2001-04-21  Jim Meyering  <meyering@lucent.com>
113807         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
113808         doesn't interfere.
113810 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
113812         * m4/ftruncate.m4: Check for chsize.
113813         Link with ftruncate.o unconditionally if ftruncate is missing.
113814         This was required when cross-compiling to i586-mingw32msvc.
113816 2001-04-08  Jim Meyering  <meyering@lucent.com>
113818         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
113819         recomputed; that's necessary when the offset spans a DST transition.
113820         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
113822 2001-04-02  Jim Meyering  <meyering@lucent.com>
113824         * lib/regex.h, regex.c: Update from GNU libc.
113826 2001-03-24  Jim Meyering  <meyering@lucent.com>
113828         * m4/jm-macros.m4: Require autoconf-2.49d.
113830 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
113832         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
113834 2001-03-19  Paul Eggert  <eggert@twinsun.com>
113836         * lib/version-etc.c (version_etc_copyright): Update to 2001.
113838 2001-03-17  Jim Meyering  <meyering@lucent.com>
113840         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
113841         now that the version in autoconf is equivalent.
113842         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
113844         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
113845         Suggestion from Akim Demaille.
113847         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
113848         (jm_PREREQ_TEMPNAME): New function.
113850 2001-03-16  Paul Eggert  <eggert@twinsun.com>
113852         * lib/tempname.c (uint64_t): Define to uintmax_t if
113853         not defined, and if UINT64_MAX is not defined.
113854         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
113855         Reported by John David Anglin.
113857 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
113859         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
113860         resolve alias if codeset is empty.
113861         * lib/config.charset (BeOS): Use wildcard syntax.
113863 2001-03-13  Jim Meyering  <meyering@lucent.com>
113865         * lib/path-concat.c (path_concat)
113866         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
113867         concatenating e.g., `C:' and `foo'.
113868         From Bruno Haible.
113870 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
113872         * lib/localcharset.c (locale_charset): Don't use
113873         setlocale(LC_CTYPE,NULL). Don't return NULL.
113874         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
113876 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
113878         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
113879         support for DOS/DJGPP.
113881 2001-03-01  Paul Eggert  <eggert@twinsun.com>
113883         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
113884         lacks mkstemp.  Compile our own tempname.c if we compile our own
113885         mkstemp.c, as mkstemp relies on tempname.
113887 2001-03-01  Jim Meyering  <meyering@lucent.com>
113889         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
113890         AH_VERBATIM really does output its argument verbatim.
113892 2001-02-28  Paul Eggert  <eggert@twinsun.com>
113894         * lib/Makefile.am (libfetish_a_SOURCES):
113895         Add dup-safer.c, fopen-safer.c.
113896         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
113898         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
113899         * lib/unistd-safer.h: New files.
113901 2001-02-25  Paul Eggert  <eggert@twinsun.com>
113903         The mkstemp replacement is taken from glibc 2.2.2, with some
113904         portability fixes for use outside glibc, as follows:
113906         * lib/tempname.c (struct_stat64): New macro.
113907         (direxists, __gen_tempname): Use it.
113908         This avoids a portability problem with Solaris 8.
113910         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
113911         (<stddef.h>, <stdint.h>, <string.h>):
113912         Include only if STDC_HEADERS || _LIBC.
113913         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
113914         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
113915         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
113916         (__set_errno): Define this macro if <errno.h> doesn't.
113917         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
113918         Define these macros if <stdio.h> doesn't.
113919         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
113920         Define these macros if <sys/stat.h>
113921         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
113922         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
113923         __xstat64): Define if not _LIBC.
113924         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
113925         (__gen_tempname): Invoke gettimeofday only if
113926         HAVE_GETTIMEOFDAY || _LIBC;
113927         otherwise, fall back on plain "time".
113928         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
113930         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
113932         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
113934 2001-02-18  Paul Eggert  <eggert@twinsun.com>
113936         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
113938 2001-02-17  Paul Eggert  <eggert@twinsun.com>
113940         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
113941         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
113942         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
113943         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
113945 2001-02-17  Paul Eggert  <eggert@twinsun.com>
113947         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
113948         Remove workaround macros for hosts that have mbrtowc but not
113949         mbstate_t, as we now insist on proper declarations for both
113950         before using mbrtowc.
113952 2001-02-17  Jim Meyering  <meyering@lucent.com>
113954         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
113955         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
113956         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
113957         UnixWare 7.1.1.
113959         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
113960         rather than AC_CACHE_VAL.
113962 2001-02-17  Jim Meyering  <meyering@lucent.com>
113964         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
113965         around included file name.
113967         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
113969         * lib/strftime.c: Update from GNU libc (the only changes were to
113970         comments).
113972 2001-02-17  Jim Meyering  <meyering@lucent.com>
113974         * lib/regex.c: Update from libc.
113976 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
113978         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
113979         clash.
113981 2001-02-16  Paul Eggert  <eggert@twinsun.com>
113983         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
113984         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
113985         Reported by Mark Hounschell via Paul Eggert.
113987 2001-02-07  Jim Meyering  <meyering@lucent.com>
113989         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
113991 2001-02-05  Jim Meyering  <meyering@lucent.com>
113993         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
113994         it includes the patch required for `large file' support with at least
113995         HP-UX's 10.20 /bin/cc.
113997 2001-02-03  Jim Meyering  <meyering@lucent.com>
113999         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
114000         AS_IF, now that it works once again (mysteriously).
114001         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
114003 2001-01-30  Jim Meyering  <meyering@lucent.com>
114005         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
114006         * m4/chown.m4: Rename conftestchown to conftest.chown.
114007         * m4/rename.m4: s/conftestdir/conftest.d1/ and
114008         s/conftestdir2/conftest.d2/.
114009         * m4/utimes.m4: s/conftestdata/conftest.data/
114010         Inspired by Pavel Roskin's change in autoconf.
114012 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
114014         * lib/config.charset: Update for FreeBSD 4.2.
114016 2001-01-27  Jim Meyering  <meyering@lucent.com>
114018         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
114019         a use of AS_IF.
114020         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
114022 2001-01-26  Jim Meyering  <meyering@lucent.com>
114024         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
114025         quotearg.c includes it.
114027 2001-01-26  Jim Meyering  <meyering@lucent.com>
114029         * lib/quotearg.c: Include stddef.h.
114030         * lib/quote.c: Include stddef.h.
114031         Reported by Axel Kittenberger.
114033         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
114034         line in double quotes so that it evokes a better diagnostic.
114035         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
114036         Reported by Axel Kittenberger.
114038 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
114040         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
114041         as if it was a `charset'.
114043 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
114045         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
114046         has const.
114048 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
114050         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
114051         to avoid a warning.  Add back 'const' to inptr.
114053 2001-01-20  Jim Meyering  <meyering@lucent.com>
114055         Be sure that headers are checked before used in code compiled
114056         for the type checks.
114057         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
114058         In place of that, invoke jm_CHECK_ALL_TYPES.
114059         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
114060         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
114061         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
114062         The check for ssize_t was mistakenly run before the test for unistd.h.
114064         The configure-time check for stdbool.h was missing.
114065         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
114066         (jm_PREREQ_HASH): New function.
114068 2001-01-17  Jim Meyering  <meyering@lucent.com>
114070         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
114071         for autoconf-2.49c.
114072         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
114074 2001-01-16  Jim Meyering  <meyering@lucent.com>
114076         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
114077         From Bruno Haible.
114079 2001-01-14  Jim Meyering  <meyering@lucent.com>
114081         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
114082         foo and bar.  Create conftestdir/ in the script, not in the C code.
114083         Remove directories in the script, not in the C code.
114084         Remove conftestdir{,2} before trying to create the directory.
114085         Make the entire configure script fail if the mkdir fails.
114087 2001-01-14  Jim Meyering  <meyering@lucent.com>
114089         * lib/rename.c: New file.  From Volker Borchert.
114090         Include stdlib.h, string.h or strings.h, and xalloc.h.
114091         Use strip_trailing_slashes rather than open-coding it.
114093 2001-01-03  Paul Eggert  <eggert@twinsun.com>
114095         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
114097 2001-01-03  Jim Meyering  <meyering@lucent.com>
114099         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
114100         of local `inptr' to avoid warning with some system declarations of
114101         iconv.
114103 2001-01-02  Volker Borchert  <bt@teknon.de>
114105         * m4/rename.m4: New file.
114106         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
114108 2001-01-01  Jim Meyering  <meyering@lucent.com>
114110         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
114111         even on systems with utmpx.h.  It's necessary for the declaration of
114112         utmp's ut_user member.  Reported by Andreas Jaeger.
114114         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
114115         available. They are required for the declarations of getgrgid and
114116         getpwuid resp.
114117         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
114118         Reported by Andreas Jaeger.
114120 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
114122         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
114123         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
114124         so `make install' also works in VPATH builds.
114126 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
114128         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
114129         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
114130         can be used in subdirectories.
114132 2000-12-29  Paul Eggert  <eggert@twinsun.com>
114134         * lib/modechange.c: Do not assume that mode_t uses the
114135         traditional octal encoding.  E.g. "chmod 1 FOO" should set
114136         the other-execute bit of FOO even if S_IXOTH != 1.
114138         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
114139         WOTH, XOTH, ALLM): New macros.
114140         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
114141          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
114142         Use them.
114143         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
114144         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
114145         (mode_compile):
114146         No need to use uintmax_t; unsigned long is long enough.
114147         Don't bother to get suffix since we don't use it.
114149 2000-12-26  Jim Meyering  <meyering@lucent.com>
114151         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
114152         better with autoheader.
114154 2000-12-24  Jim Meyering  <meyering@lucent.com>
114156         * lib/hash.c (is_prime): Return explicit boolean values.
114157         (hash_get_first): Return NULL to appease Irix5.6's 89.
114158         Reported by Nelson Beebe.
114160 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
114162         * lib/localcharset.c (locale_charset): Add support for Win32.
114164 2000-12-18  Paul Eggert  <eggert@twinsun.com>
114166         * lib/physmem.h, lib/physmem.c: New files.
114168         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
114169         (noinst_HEADERS): Add physmem.h.
114171         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
114172         't' for compatibility with Solaris 8 sort.
114174 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
114176         * lib/config.charset: Add support for BeOS.
114178 2000-12-17  Jim Meyering  <meyering@lucent.com>
114180         * m4/dos.m4 (jm_AC_DOS): New file and macro.
114181         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
114183 2000-12-16  Jim Meyering  <meyering@lucent.com>
114185         This bug had a serious impact on chown: `chown N:M FILE' (for integer
114186         N and M) would have treated it like `chown N:N FILE'.
114188         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
114190 2000-12-16  Jim Meyering  <meyering@lucent.com>
114192         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
114193         SHELLS_FILE to a file name that's useful on djgpp systems.
114194         Include stdlib.h.
114195         (ADDITIONAL_DEFAULT_SHELLS): Define.
114196         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
114197         Based mostly on a patch from Prashant TR.
114199 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
114201         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
114202         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
114203         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
114205 2000-12-08  Andreas Schwab  <schwab@suse.de>
114207         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
114208         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
114210 2000-12-07  Jim Meyering  <meyering@lucent.com>
114212         * lib/stripslash.c (ISSLASH): Define.
114213         (strip_trailing_slashes): Use ISSLASH rather than comparing against
114214         `/'.
114215         From Prashant TR.
114217         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
114218         (dir_name_r): Declare this function as static.
114219         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
114220         manifest itself on a name containing a mix of slashes and
114221         backslashes.
114222         Make this function work with names starting with a DOS-style
114223         drive letter and colon prefix.
114224         (dir_name): Append `.' if necessary.
114225         Based mostly on patches from Prashant TR and Eli Zaretskii.
114227         * lib/dirname.h (dir_name_r): Remove prototype.
114229 2000-12-06  Paul Eggert  <eggert@twinsun.com>
114231         * m4/off_t-format.m4: Remove this file.
114232         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
114234 2000-12-06  Jim Meyering  <meyering@lucent.com>
114236         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
114237         replacement strtoull, we may well need the replacement strtoul, too.
114238         Check for declarations of strtoul and strtoull.
114239         Check for strtol.  Mainly as a cue to cause automake to include
114240         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
114241         Check for limits.h -- strtol.c needs it.
114243 2000-12-05  Jim Meyering  <meyering@lucent.com>
114245         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
114247 2000-12-04  Jim Meyering  <meyering@lucent.com>
114249         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
114250         Also include memory.h, stdlib.h, unistd.h if appropriate.
114251         Reported by Andreas Jaeger (conflicting declaration of malloc).
114253 2000-12-02  Jim Meyering  <meyering@lucent.com>
114255         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
114256         * m4/jm-macros.m4 (jm_MACROS): require it.
114258 2000-12-02  Jim Meyering  <meyering@lucent.com>
114260         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
114262 2000-12-01  Paul Eggert  <eggert@twinsun.com>
114264         * lib/memrchr.c: Include <config.h> before any system include file.
114266 2000-11-30  Jim Meyering  <meyering@lucent.com>
114268         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
114270 2000-11-30  Jim Meyering  <meyering@lucent.com>
114272         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
114274 2000-11-29  Paul Eggert  <eggert@twinsun.com>
114276         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
114278 2000-11-26  Jim Meyering  <meyering@lucent.com>
114280         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
114282 2000-11-22  Paul Eggert  <eggert@twinsun.com>
114284         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
114285         size of (size_t) -1; it's not portable.
114287 2000-11-17  Jim Meyering  <meyering@lucent.com>
114289         * lib/strstr.c: Update from GNU libc.
114291 2000-11-17  Akim Demaille  <akim@epita.fr>
114293         * lib/obstack.h: Formatting changes.
114294         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
114295         prevent type checking.
114296         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
114297         cast the value to (void *): assigning a `foo *' to a `void *'
114298         variable is valid.
114299         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
114301 2000-11-16  Jim Meyering  <meyering@lucent.com>
114303         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
114305 2000-11-11  Jim Meyering  <meyering@lucent.com>
114307         * lib/error.c: Add a couple #includes, merging from GNU libc version.
114309 2000-11-10  Jim Meyering  <meyering@lucent.com>
114311         * lib/obstack.h: Update from GNU libc.
114312         * lib/obstack.c: Likewise.
114314 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
114316         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
114318 2000-11-06  Paul Eggert  <eggert@twinsun.com>
114320         * lib/getusershell.c (setusershell): Use rewind rather than
114321         fseek/fseeko, to avoid configuration hassles with fseeko.
114322         Don't bother opening SHELLS_FILE if shellstream is NULL;
114323         it's not necessary.
114325 2000-11-05  Jim Meyering  <meyering@lucent.com>
114327         * lib/makepath.h (make_dir): Declare.
114328         * lib/makepath.c (make_dir): Remove `static' attribute.
114329         Tweak a comment.
114331 2000-11-04  Jim Meyering  <meyering@lucent.com>
114333         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
114335 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
114337         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
114338         last one in a bucket, advance to the next bucket.
114340 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
114342         * lib/fnmatch.c: Do not comment out all the code if we are using
114343         the GNU C library, because in some cases we are replacing buggy
114344         code in the GNU C library itself.
114346 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
114348         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
114349         (regex_compile): Catch bogus \(\1\).
114351 2000-10-30  Paul Eggert  <eggert@twinsun.com>
114353         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
114354         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
114355         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
114357 2000-10-30  Paul Eggert  <eggert@twinsun.com>
114359         * lib/error.h, getline.h, modechange.h:
114360         Remove "2000" from Copyright line, as the file hasn't been
114361         changed this year other than in the copyright notice.
114363         * lib/xalloc.h: Add "2000" to Copyright line, as this file
114364         was changed this year.
114366 2000-10-29  Jim Meyering  <meyering@lucent.com>
114368         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
114369         renaming.
114370         * m4/ls-mntd-fs.m4: Likewise
114372 2000-10-29  Jim Meyering  <meyering@lucent.com>
114374         * lib/xstat.in: Fix grammar in comment.
114376 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
114378         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
114379         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
114380         doesn't define __restrict_arr.
114382 2000-10-28  Jim Meyering  <meyering@lucent.com>
114384         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
114385         (jm_PREREQ_MEMCHR): New function.
114387 2000-10-28  Jim Meyering  <meyering@lucent.com>
114389         * lib/memchr.c: Update from libc.
114390         Adjust for portability:
114391         [HAVE_STDLIB_H]: Include stdlib.h.
114392         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
114393         Undef __memchr, too.
114394         [!weak_alias]: Define __memchr to memchr.
114396         * lib/regex.c: Update from libc.
114397         * lib/regex.h: Likewise.
114398         * lib/getopt1.c: Likewise.
114399         * lib/memcmp.c: Likewise.
114401         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
114402         Avoid using fseek, when possible -- it's broken by design.
114403         Patch by Ulrich Drepper.
114405 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
114407         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
114408         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
114409         Giving in to popular pressure to shut up the compiler with casts.
114411 2000-10-26  Jim Meyering  <meyering@lucent.com>
114413         * lib/strftime.c: Update from libc.
114415 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
114417         * regex.c: More `unsigned char' -> `re_char' changes.
114418         Also change several `int' into `re_wchar_t'.
114419         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
114420         (PUSH_FAILURE_POINTER): Don't cast any more.
114421         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
114422         We want GCC to complain, since this piece of code makes
114423         re_match non-reentrant, which *should* be fixed.
114424         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
114425         (EXTEND_BUFFER): Use RETALLOC.
114426         (SET_LIST_BIT): Don't cast.
114427         (re_wchar_t): New type.
114428         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
114429         that those two functions will always properly return.
114430         (IMMEDIATE_QUIT_CHECK): Cast to void.
114431         (analyse_first): Use recursion rather than an explicit stack.
114432         (re_compile_fastmap): Can't fail anymore.
114433         (re_search_2): Don't check re_compile_fastmap for failure.
114434         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
114435         Now also sets the new value (passed in a new argument).
114436         (re_match_2_internal): Use it.
114437         Also, use a new var `reg' of type size_t when looping through regs
114438         rather than reuse the inappropriate `mcnt'.
114440 2000-10-25  Jim Meyering  <meyering@lucent.com>
114442         * lib/obstack.c: Update from libc.
114444 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
114446         * regex.c (regex_compile): Change the way of handling a range from
114447         a char less than 256 to a char not less than 256.
114449 2000-10-24  Andrew Innes  <andrewi@gnu.org>
114451         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
114452         NT-Emacs only.
114453         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
114454         so that re_search functions only quit when callers expect them to.
114456 2000-10-23  Jim Meyering  <meyering@lucent.com>
114458         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
114459         wrong.  That set_locale call must not have any side effects.
114460         From Paul Eggert.
114462 2000-10-22  Jim Meyering  <meyering@lucent.com>
114464         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
114465         [CYCLIC]: Remove now-unused definition.
114467         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
114468         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
114469         Suggestion from Ulrich Drepper.
114471 2000-10-21  Jim Meyering  <meyering@lucent.com>
114473         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
114474         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
114475         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
114477 2000-10-21  Jim Meyering  <meyering@lucent.com>
114479         * lib/dirname.c (memrchr): Declare if necessary.
114480         (dir_name): Remove the restriction that there be no
114481         trailing slashes.  Now, this code skips past them, effectively
114482         ignoring them.
114483         [TEST_DIRNAME] (main): New unit tests.
114485         * lib/memrchr.c: New file from GNU libc.
114486         Undef __memrchr, too.
114487         [!weak_alias]: Define __memrchr to memrchr.
114488         Guard weak_alias use with `#ifdef weak_alias'.
114490 2000-10-21  Jim Meyering  <meyering@lucent.com>
114492         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
114493         (dir_name): Use dir_name_r.
114494         * lib/dirname.h (dir_name_r): Declare it.
114496 2000-10-17  Jim Meyering  <meyering@lucent.com>
114498         * lib/quote.h (PARAMS): Define and use.
114499         Reported by Akim Demaille.
114501         * lib/getopt.c: Update from libc.
114503 2000-10-16  Jim Meyering  <meyering@lucent.com>
114505         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
114506         setlocale.
114507         From Jan Fedak.
114509 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
114511         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
114513 2000-09-25  Jim Meyering  <meyering@lucent.com>
114515         * lib/md5.h (rol): Define (from GnuPG).
114517         * lib/sha.c: Give credit (GnuPG) where due.
114518         (M): Use rol rather than open-coding it.
114519         Add a FIXME comment.
114521 2000-09-21  Jim Meyering  <meyering@lucent.com>
114523         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
114524         Reported by Michael Stone.
114526 2000-09-20  Jim Meyering  <meyering@lucent.com>
114528         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
114529         (noinst_HEADERS): Add sha.h.
114530         Based on code from Scott G. Miller and from GnuPG.
114532 2000-09-18  Jim Meyering  <meyering@lucent.com>
114534         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
114535         LIBS. Otherwise, everyone ends up linking with -lelf for some
114536         configurations.
114537         Reported by Mike Stone.
114539 2000-09-15  Jim Meyering  <meyering@lucent.com>
114541         * lib/regex.c: Update from libc.
114543 2000-09-10  Jim Meyering  <meyering@lucent.com>
114545         * lib/getopt.c (_getopt_internal): Update from glibc.
114547 2000-09-09  Jim Meyering  <meyering@lucent.com>
114549         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
114550         think it should be used as a general replacement for isascii.
114551         * lib/fnmatch.c: Likewise.
114552         * lib/mbswidth.c: Likewise
114553         * lib/regex.c: Likewise.
114555         Don't use atoi.
114556         * lib/userspec.c: Include sys/param.h and limits.h.
114557         Include xstrtol.h.
114558         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
114559         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
114560         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
114561         UID, GID.  Check range.
114563 2000-09-06  Jim Meyering  <meyering@lucent.com>
114565         * lib/getopt.c (_getopt_internal): Update from glibc.
114567 2000-08-30  Jim Meyering  <meyering@lucent.com>
114569         * lib/strftime.c: Merge in changes from GNU libc.
114571 2000-08-26  Jim Meyering  <meyering@lucent.com>
114573         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
114574         * m4/fpending.m4: New file.
114576 2000-08-26  Jim Meyering  <meyering@lucent.com>
114578         * lib/closeout.c: Include "__fpending.h".
114579         (close_stdout_status): Return right away if there's nothing to flush.
114581         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
114582         * lib/__fpending.c: New file.
114583         * lib/__fpending.h: New file.
114585 2000-08-20  Jim Meyering  <meyering@lucent.com>
114587         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
114588         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
114589         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
114591 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
114593         Improve fileutils installation on systems where running
114594         programs (like install) can't be unlinked.
114595         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
114596         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
114598 2000-08-07  Paul Eggert  <eggert@twinsun.com>
114600         Standardize on "memory exhausted" instead of "Memory exhausted"
114601         or "virtual memory exhausted".
114602         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
114603         "virtual memory exhausted".
114604         * lib/same.c (same_name): Invoke xalloc_die instead of printing
114605         our own message.
114606         * lib/userspec.c (parse_user_spec): Likewise.
114607         * lib/bumpalloc.h: comment fix
114608         * lib/same.c, userspec.c: Include xalloc.h.
114610         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
114611         not char *const and pointing to a constant array.
114612         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
114613         (xrealloc): Comment fix.
114615         * lib/userspec.c (parse_user_spec):
114616         Don't translate a message until just before returning,
114617         to avoid unnecessary translation.
114619 2000-08-07  Jim Meyering  <meyering@lucent.com>
114621         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
114622         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
114623         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
114624         getgroups.c, gethostname.c, getopt.h, group-member.c,
114625         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
114626         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
114627         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
114628         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
114629         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
114630         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
114631         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
114632         yesno.c: Back out Copyright date changes for each file with no change
114633         this year.  This eases coordination with other programs using the same
114634         source code modules.  From Paul Eggert.
114636 2000-08-06  Paul Eggert  <eggert@twinsun.com>
114638         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
114639         not char, for compatibility with glibc 2.1.3 strftime.c.
114641 2000-08-03  Greg McGary  <greg@mcgary.org>
114643         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
114644         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
114645         (EXTEND_BUFFER): Use them.
114647 2000-08-01  Jim Meyering  <meyering@lucent.com>
114649         * lib/dirname.c (ISSLASH): Define.
114650         (BACKSLASH_IS_PATH_SEPARATOR): Define.
114651         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
114652         both `\' and `/' may be use as path separators.
114653         Based on a patch from Prashant TR.
114655 2000-07-31  Paul Eggert  <eggert@twinsun.com>
114657         * lib/quotearg.c (quotearg_n_options): Don't make the initial
114658         slot vector a constant, since it might get modified.
114660 2000-07-31  Jim Meyering  <meyering@lucent.com>
114662         * lib/xmalloc.c: Use `virtual memory exhausted', not
114663         `Memory exhausted'.
114664         * lib/obstack.c (print_and_abort): Likewise.
114666 2000-07-30  Paul Eggert  <eggert@twinsun.com>
114668         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
114669         buffer, so that the caller can always quote one small
114670         component of a "memory exhausted" message in slot 0.
114671         From a suggestion by Jim Meyering.
114673 2000-07-30  Jim Meyering  <meyering@lucent.com>
114675         * lib/makepath.c (make_path): Quote the other instance, too.
114677         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
114678         (STATIC_BUF_SIZE): Define.
114679         (quotearg_n_options): Use only statically allocated storage when
114680         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
114681         than STATIC_BUF_SIZE.
114683 2000-07-29  Jim Meyering  <meyering@lucent.com>
114685         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
114686         * lib/dirname.c (dir_name): Likewise.
114688         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
114689         `/'.
114691         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
114692         (dir_name): Assert that there are no trailing slashes.
114694 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
114696         * lib/mbswidth.h (mbswidth): Add a flags argument.
114697         (mbswidth): New declaration.
114698         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
114699         * lib/mbswidth.c (mbswidth): Add a flags argument.
114700         (mbsnwidth): New function.
114702 2000-07-24  Jim Meyering  <meyering@lucent.com>
114704         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
114706 2000-07-23  Paul Eggert  <eggert@twinsun.com>
114708         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
114710 2000-07-23  Paul Eggert  <eggert@twinsun.com>
114712         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
114713         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
114714         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
114715         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
114716         invoke multibyte primitives.
114718 2000-07-23  Paul Eggert  <eggert@twinsun.com>
114720         * lib/quotearg.c:
114721         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
114722         so that mbstate_t is always defined.
114724         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
114725         be 1 in at least one GCC installation, and this configuration
114726         error is likely to be common.  Ignoring MB_LEN_MAX hurts
114727         performance on hosts that have mbrtowc but have only unibyte
114728         locales, but I assume these hosts are rare.
114730 2000-07-23  Paul Eggert  <eggert@twinsun.com>
114732         * lib/mbswidth.c (_XOPEN_SOURCE):
114733         Don't define; this causes problems on Solaris 7.
114734         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
114736 2000-07-23  Jim Meyering  <meyering@lucent.com>
114738         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
114739         too: getgrgid, getpwuid, getuid.
114741 2000-07-23  Jim Meyering  <meyering@lucent.com>
114743         * lib/basename.c (base_name): Add an assertion.
114745 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
114747         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
114748         shadow its mbsinit function.
114750 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
114752         * lib/mbswidth.h: New file.
114753         * lib/mbswidth.c: New file.
114754         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
114755         (noinst_HEADERS): Add mbswidth.h.
114757 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
114759         * lib/config.charset: Add support for FreeBSD. Improve support for
114760         HP-UX and IRIX 6.
114762 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
114764         * m4/mbswidth.m4: New file.
114765         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
114767 2000-07-15  Jim Meyering  <meyering@lucent.com>
114769         * lib/makepath.c: Include quote.h.
114770         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
114771         corresponding argument in a `quote (...)' call.
114772         Give better diagnostics.
114774         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
114775         (noinst_HEADERS): Add quote.h.
114777         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
114778         from tar's src/misc.c.
114779         * lib/quote.h: New file.  Prototypes for same.
114781 2000-07-14  Paul Eggert  <eggert@twinsun.com>
114783         From a suggestion by Bruno Haible.
114784         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
114785         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
114786         to decide whether to define the BeOS workaround macro;
114787         this adjusts to the change to AC_MBSTATE_T.
114789 2000-07-14  Jim Meyering  <meyering@lucent.com>
114791         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
114792         jm_AC_TYPE_UINTMAX_T.
114794 2000-07-13  Paul Eggert  <eggert@twinsun.com>
114796         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
114798         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
114799         quotearg_buffer_restyled): Add support for
114800         clocale_quoting_style.  Undo previous change to
114801         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
114802         and "{RIGHT QUOTATION MARK}" msgids.
114804 2000-07-10  Paul Eggert  <eggert@twinsun.com>
114806         From a suggestion by Bruno Haible.
114807         * m4/mbstate_t.m4 (AC_MBSTATE_T):
114808         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
114809         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
114810         and mbstate_t, to a single-part test that simply defines mbstate_t.
114811         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
114812         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
114814 2000-07-10  Jim Meyering  <meyering@lucent.com>
114816         * m4/strerror_r.m4: Mirror the correction made in autoconf.
114818         * m4/gnu-source.m4: Output to confdefs.h directly.
114819         Suggestion from Akim Demaille.
114821 2000-07-09  Paul Eggert  <eggert@twinsun.com>
114823         The old behavior of quoting `like this' doesn't look good with
114824         newer, ISO-style fonts.  See:
114825         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
114827         Instead, quote "like this" by default.  Let the translator
114828         tailor the locale-specific quoting behavior by providing
114829         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
114831         * lib/quotearg.c (N_): New macro.
114832         (gettext_default): New function.
114833         (quotearg_buffer_restyled): Use
114834         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
114835         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
114837 2000-07-09  Jim Meyering  <meyering@lucent.com>
114839         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
114840         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
114842         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
114843         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
114845 2000-07-09  Jim Meyering  <meyering@lucent.com>
114847         * lib/Most files: Update copyright dates to include 2000.
114849 2000-07-08  Jim Meyering  <meyering@lucent.com>
114851         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
114852         if not defined.
114853         (xgethostname): Remove now-unnecessary #ifdef.
114854         Move declaration of `err' into loop where it's used.
114856 2000-07-05  Paul Eggert  <eggert@twinsun.com>
114857         and Bruno Haible  <haible@clisp.cons.org>
114859         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
114860         only if the test for an object-type mbstate_t fails.  This
114861         prevents us from mistakenly reporting that mbstate_t is a
114862         system object type after we "#define mbstate_t int" to work
114863         around its lack.
114865 2000-07-05  Paul Eggert  <eggert@twinsun.com>
114866         and Bruno Haible  <haible@clisp.cons.org>
114868         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
114870 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
114872         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
114873         to strerror_r.
114874         Include <ctype.h> for use of isalpha.
114876 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
114878         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
114879         by allocating a larger buffer. Test the gethostname return value for
114880         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
114881         returns an error and ENAMETOOLONG isn't defined.
114883 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
114885         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
114886         dimension.
114888 2000-07-04  Jim Meyering  <meyering@lucent.com>
114890         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
114891         of the deprecated AC_CHECKING.
114893 2000-07-04  Jim Meyering  <meyering@lucent.com>
114895         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
114896         Reported by Bruno Haible.
114898 2000-07-04  Jim Meyering  <meyering@lucent.com>
114900         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
114901         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
114902         lacks mbrtowc.
114904 2000-07-03  Paul Eggert  <eggert@twinsun.com>
114906         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
114907         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
114909 2000-07-03  Paul Eggert  <eggert@twinsun.com>
114910         and Bruno Haible  <haible@clisp.cons.org>
114912         * lib/quotearg.c (mbrtowc):
114913         Assign to *pwc, and return 1 only if result is nonzero.
114914         (iswprint): Use ISPRINT when substituting our own mbrtowc.
114916 2000-07-03  Jim Meyering  <meyering@lucent.com>
114918         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
114920 2000-07-03  Jim Meyering  <meyering@lucent.com>
114922         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
114923         This is necessary to get a definition of e.g., UTMP_FILE on
114924         HP-UX 10.20.
114925         From Bob Proulx.
114927 2000-07-02  Jim Meyering  <meyering@lucent.com>
114929         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
114931         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
114932         AC_LIBOBJ(function_name).
114933         * m4/chown.m4: Likewise.
114934         * m4/fnmatch.m4: Likewise.
114935         * m4/ftruncate.m4: Likewise.
114936         * m4/getgroups.m4: Likewise.
114937         * m4/getline.m4: Likewise.
114938         * m4/group-member.m4: Likewise.
114939         * m4/jm-macros.m4: Likewise.
114940         * m4/lstat.m4: Likewise.
114941         * m4/malloc.m4: Likewise.
114942         * m4/memcmp.m4: Likewise.
114943         * m4/nanosleep.m4: Likewise.
114944         * m4/putenv.m4: Likewise.
114945         * m4/realloc.m4: Likewise.
114946         * m4/regex.m4: Likewise.
114947         * m4/stat.m4: Likewise.
114948         * m4/strftime.m4: Likewise.
114950 2000-07-02  Jim Meyering  <meyering@lucent.com>
114952         * lib/quotearg.c (mbstate_t): Don't define here.
114954 2000-07-02  Jim Meyering  <meyering@lucent.com>
114956         * lib/nanosleep.c (SIGCONT): Define if not already defined.
114958 2000-07-01  Jim Meyering  <meyering@lucent.com>
114960         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
114962 2000-07-01  Jim Meyering  <meyering@lucent.com>
114964         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
114965         problem.
114967 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
114969         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
114970         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
114972 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
114974         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
114975         per change in ../m4/ls-mntd-fs.m4.
114976         (read_filesystem_list): Ignore symbolic links.
114978 2000-06-29  Jim Meyering  <meyering@lucent.com>
114980         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
114981         for declaration of strcmp.
114983         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
114985         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
114986         Avoid warning by casting result to `char *' to remove `const'.
114988 2000-06-28  Jim Meyering  <meyering@lucent.com>
114990         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
114991         included by quotearg.c, for which we perform this test.  From
114992         Bruno Haible.
114994 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
114996         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
114997         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
114998         <utmpx.h> exists, put readutmp.o into LIBOBJS.
115000 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
115002         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
115004 2000-06-26  Paul Eggert  <eggert@twinsun.com>
115006         savedir now sets errno on failure and invokes xmalloc to get memory.
115007         Fix a couple of other minor bugs while we're at it.
115009         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
115010         (NAMLEN): Remove macro.
115011         (malloc, realloc): Remove decls.
115012         (stpcpy): Likewise.
115013         ("xalloc.h"): Include.
115014         (NAME_SIZE_DEFAULT): New macro.
115015         (savedir): Use xmalloc / xrealloc to allocate memory.
115016         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
115017         Skip "" directory entries.
115018         Use strlen to calculate directory entry length, since the old method
115019         is rarely used these days and isn't worth supporting.
115020         Don't use a pointer after freeing it.
115021         Check for integer overflow when calculating allocation size.
115022         Use memcpy to copy entries, instead of stpcpy.
115023         Set errno properly when returning NULL.
115024         Check for readdir error.
115026 2000-06-26  Jim Meyering  <meyering@lucent.com>
115028         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
115030 2000-06-25  Jim Meyering  <meyering@lucent.com>
115032         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
115033         Linux header bug when _XOPEN_SOURCE is defined to 500.
115035 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
115037         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
115038         deficiency.
115040 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
115042         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
115043         Include xalloc.h.
115044         Don't include <stdlib.h>.  Don't declare malloc, realloc.
115046 2000-06-24  Jim Meyering  <meyering@lucent.com>
115048         * m4/strerror_r.m4: Revive this file -- to try out an experimental
115049         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
115050         for which strerror does return char*, but which lacks a conveniently
115051         accessible declaration of the function.  If the compile-test says
115052         strerror_r doesn't work, then resort to a `run'-test that works on
115053         BeOS and segfaults on DEC Unix.
115055 2000-06-24  Jim Meyering  <meyering@lucent.com>
115057         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
115059 2000-06-23  Paul Eggert  <eggert@twinsun.com>
115061         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
115062         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
115064 2000-06-23  Paul Eggert  <eggert@twinsun.com>
115066         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
115067         (mbrtowc, mbstate_t): Define substitutes if
115068         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
115069         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
115070         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
115072 2000-06-23  Jim Meyering  <meyering@lucent.com>
115074         * m4/afs.m4: Add missing AC_MSG_RESULT.
115075         Reported by Bruno Haible.
115077         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
115078         Suggestion from Bruno Haible.
115080 2000-06-23  Jim Meyering  <meyering@lucent.com>
115082         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
115084 2000-06-21  Jim Meyering  <meyering@lucent.com>
115086         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
115088 2000-06-21  Jim Meyering  <meyering@lucent.com>
115090         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
115091         (noinst_HEADERS): Add getstr.h.
115093         * lib/getline.c (getstr): Move into a separate file.
115094         * lib/getstr.c (getstr): New file, extracted from getline.c, with
115095         the following changes: new parameter, delim2; both delim[12]
115096         parameters have type `int', not `char'.  The latter would lose
115097         with 8-bit delimiters.
115098         * lib/getstr.h: New file.
115100 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
115102         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
115103         than 1024, return a memory chunk of least possible size, instead
115104         of size PATH_MAX + 2. In the loop, increment the size proportionally.
115105         Use free/xmalloc instead of xrealloc to avoid copying for very long
115106         paths.
115108 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
115110         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
115111         the empty string.
115113 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
115115         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
115116         address, not strdup.  Include <stdlib.h> and don't declare free().
115118 2000-06-19  Jim Meyering  <meyering@lucent.com>
115120         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
115122 2000-06-18  Jim Meyering  <meyering@lucent.com>
115124         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
115126         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
115127         `checking whether...' message to be consistent with that of the
115128         lstat test.
115130 2000-06-18  Jim Meyering  <meyering@lucent.com>
115132         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
115133         Besides, these days every porting target provides a mkdir function.
115135         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
115136         needed. (this snippet comes from src/system.h).
115138 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
115140         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
115142 2000-06-15  Paul Eggert  <eggert@twinsun.com>
115144         * lib/human.c (adjust_value): New function.
115145         (human_readable_inexact): Apply rounding style even when
115146         printing approximate values.
115148 2000-06-14  Paul Eggert  <eggert@twinsun.com>
115150         * lib/human.c (human_readable_inexact): Allow an input block
115151         size that is not a multiple of the output block size, and vice versa.
115152         Reported by Piergiorgio Sartor.
115154 2000-06-14  Paul Eggert  <eggert@twinsun.com>
115156         * lib/getdate.y (get_date): Apply relative times after time
115157         zone indicator, not before.  Reported by Todd A. Jacobs.
115159 2000-06-13  Jim Meyering  <meyering@lucent.com>
115161         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
115163         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
115165 2000-06-12  Paul Eggert  <eggert@twinsun.com>
115167         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
115169 2000-06-12  Jim Meyering  <meyering@lucent.com>
115171         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
115172         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
115173         optional argument.
115174         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
115175         the optional argument, `lib'.
115177 2000-06-08  Jim Meyering  <meyering@lucent.com>
115179         * m4/largefile.m4: Remove file (now that it's part of autoconf).
115181 2000-06-04  Paul Eggert  <eggert@twinsun.com>
115183         Rewrite largefile configuration so that we don't need to run
115184         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
115185         AC_CANONICAL_HOST in configure.in -- jmm]
115187         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
115188         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
115189         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
115190         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
115191         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
115192         All uses changed.
115193         Instead of inspecting the output of getconf, try to compile the
115194         test program without and with the macro definition.
115195         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
115196         for getconf.  Instead, check for the needed flags by compiling
115197         test programs.
115199 2000-06-04  Paul Eggert  <eggert@twinsun.com>
115201         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
115203 2000-06-04  Jim Meyering  <meyering@lucent.com>
115205         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
115206         SunOS 4.1.4 for which gid_t is an unsigned type.
115208 2000-06-03  Jim Meyering  <meyering@lucent.com>
115210         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
115211         now that autoconf requires that.
115213         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
115214         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
115215         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
115217 2000-06-03  Jim Meyering  <meyering@lucent.com>
115219         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
115221 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
115223         * m4/glibc21.m4: New file.
115224         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
115226 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
115228         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
115229         newer, don't install charset.alias.
115230         * lib/config.charset: Change the Linux/glibc rules so they become empty
115231         on glibc-2.1 or newer.
115233 2000-06-02  Jim Meyering  <meyering@lucent.com>
115235         * lib/mountlist.c: Back out last change.  Instead, do this...
115236         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
115237         me_dummy member using the same `ignore'-testing code.
115238         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
115239         fs_type strings.
115240         From Mark D. Roth.
115242 2000-05-29  Jim Meyering  <meyering@lucent.com>
115244         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
115245         mounts with the `ignore' attribute.  Based on a patch from
115246         Mark D. Roth.
115248 2000-05-28  Jim Meyering  <meyering@lucent.com>
115250         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
115251         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
115252         * m4/stat.m4: Likewise.
115253         * m4/lstat.m4: Likewise.
115254         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
115256         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
115257         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
115259 2000-05-26  Jim Meyering  <meyering@lucent.com>
115261         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
115263 2000-05-24  Jim Meyering  <meyering@lucent.com>
115265         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
115266         autoconf requires that.
115267         * m4/lib-check.m4: Likewise.
115268         * m4/jm-macros.m4: Likewise.
115269         * m4/strftime.m4: Likewise.
115271         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
115272         AC_CHECK_DECLS, now that autoconf requires that.
115274 2000-05-22  Jim Meyering  <meyering@lucent.com>
115276         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
115277         * m4/lstat.m4: Likewise.
115279 2000-05-22  Jim Meyering  <meyering@lucent.com>
115281         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
115283 2000-05-20  Jim Meyering  <meyering@lucent.com>
115285         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
115286         (jm_PREREQ): Use it.
115288 2000-05-18  Jim Meyering  <meyering@lucent.com>
115290         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
115291         back, too, since it may have been modified by allocate_entry.
115292         (hash_delete): Rewrite to use neither the assignment operator
115293         nor the comma operator in an if-expression.
115295 2000-05-15  Paul Eggert  <eggert@twinsun.com>
115297         * lib/closeout.c:
115298         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
115299         Remove; no longer needed.
115300         "quotearg.h": Add include.
115301         (file_name): Do not bother to explicitly initialize to NULL; it's less
115302         efficient on some hosts.
115303         (close_stdout_status): Remove test as to whether stdout was already
115304         closed; it breaks for the case "echo x | sort >&-".
115305         Quote file name colons.
115306         Do not assume that _("write error") lacks format strings.
115308 2000-05-15  Jim Meyering  <meyering@lucent.com>
115310         * lib/version-etc.c (version_etc_copyright): Update the copyright
115311         string used in all --version output.
115313 2000-05-14  Jim Meyering  <meyering@lucent.com>
115315         * lib/closeout.c (close_stdout_set_file_name): New function.
115316         (close_stdout_status): Use new file-scoped global.
115317         Return right away if fstat says the stdout file descriptor is invalid.
115318         * lib/closeout.h (close_stdout_set_file_name): Declare.
115320 2000-05-10  Jim Meyering  <meyering@lucent.com>
115322         * lib/closeout.c [default_exit_status]: New file-scoped variable.
115323         (close_stdout_set_status): New function.
115324         * lib/closeout.h (close_stdout_set_status): Declare.
115326 2000-05-09  Jim Meyering  <meyering@lucent.com>
115328         * m4/gettext.m4: Rename this...
115329         * m4/libintl.m4: ...to this.
115331 2000-05-08  Jim Meyering  <meyering@lucent.com>
115333         * lib/long-options.c: Don't include closeout.h.
115334         (parse_long_options): Don't call close_stdout for --version.
115336 2000-05-06  Paul Eggert  <eggert@twinsun.com>
115338         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
115339         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
115340         2.1.3 bug.  This avoids a clash when files like regex.c define
115341         _GNU_SOURCE.
115343 2000-05-06  Jim Meyering  <meyering@lucent.com>
115345         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
115346         (AC_REPLACE_FUNCS): Add strnlen.
115348         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
115349         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
115351         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
115352         AC_SEARCH_LIBS call for nanosleep.
115353         (LIB_NANOSLEEP): Set and AC_SUBST.
115355 2000-05-06  Jim Meyering  <meyering@lucent.com>
115357         * lib/strnlen.c: Undefine __strnlen and strnlen.
115358         [!weak_alias]: Define __strnlen to strnlen.
115360         * lib/atexit.c: New file, from libiberty.
115362 2000-05-06  Jim Meyering  <meyering@lucent.com>
115364         * lib/closeout.c (close_stdout_status): Also check for errors on the
115365         stderr stream.
115367 2000-05-05  Jim Meyering  <meyering@lucent.com>
115369         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
115370         AC_SEARCH_LIBS call for clock_gettime.
115371         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
115373         * m4/search-libs.m4: Update from autoconf.
115375         su doesn't work on Solaris 2.6.
115376         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
115377         <shadow.h>.  Reported by Dragos Harabor.
115379 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
115381         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
115382         memcpy instead of xmalloc, xrealloc, path_concat.
115383         (locale_charset): Treat empty environment variables as absent.
115384         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
115386 2000-05-04  Jim Meyering  <meyering@lucent.com>
115388         * lib/getopt.c: Update from glibc.
115389         * lib/obstack.c: Likewise.
115390         * lib/obstack.h: Likewise.
115391         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
115392         file
115394         * lib/regex.h: Likewise.
115395         * lib/strndup.c: Likewise.
115396         * lib/strnlen.c: New file, from glibc.
115398 2000-05-03  Jim Meyering  <meyering@lucent.com>
115400         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
115402 2000-05-02  Paul Eggert  <eggert@twinsun.com>
115404         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
115405         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
115406         compile-time test, rather than inspecting host and OS, to
115407         decide whether to define _LARGEFILE_SOURCE.
115409 2000-05-01  Jim Meyering  <meyering@lucent.com>
115411         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
115413         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
115414         Based on a patch from Bruno Haible.
115416 2000-05-01  Jim Meyering  <meyering@lucent.com>
115418         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
115420 2000-04-29  Jim Meyering  <meyering@lucent.com>
115422         * lib/path-concat.c: Declare strdup only if it's not defined.
115423         * lib/canon-host.c: Likewise.
115425 2000-04-28  Jim Meyering  <meyering@lucent.com>
115427         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
115428         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
115429         is included first, then limits.h is included by locale.h by libintl.h.
115430         From John David Anglin.
115432 2000-04-25  Jim Meyering  <meyering@lucent.com>
115434         * lib/makepath.c (S_IRWXUGO): Define.
115435         (make_path): Always perform explicit chmod if MODE specifies any
115436         of the `special' permission bits.  Prompted by a bug report against
115437         install from Mate Wierdl and Joost van Baal.
115439 2000-04-18  Jim Meyering  <meyering@lucent.com>
115441         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
115442         (jm_PREREQ): Use it.
115444 2000-04-18  Jim Meyering  <meyering@lucent.com>
115446         * lib/README: New file.
115448         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
115449         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
115451 2000-04-17  Jim Meyering  <meyering@lucent.com>
115453         Get it right :-)
115454         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
115455         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
115456         Suggestion from Akim Demaille.
115458 2000-04-17  Jim Meyering  <meyering@lucent.com>
115460         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
115461         the definition of it to rpl_strftime also defined-away the system's
115462         declaration.
115464 2000-04-15  Jim Meyering  <meyering@lucent.com>
115466         Use `C' to denote so-called `contiguous' files, the same way
115467         that tar does.
115468         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
115469         (ftypelet): Use S_ISCTG.
115470         From Michael Deutschmann.
115472 2000-04-14  Jim Meyering  <meyering@lucent.com>
115474         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
115475         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
115476         clobbered.
115478 2000-04-14  Jim Meyering  <meyering@lucent.com>
115480         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
115482 2000-04-13  Jim Meyering  <meyering@lucent.com>
115484         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
115485         AH_VERBATIM to insert required #ifndef into config.h.in.
115486         Suggestion from Akim Demaille.
115488 2000-04-12  Jim Meyering  <meyering@lucent.com>
115490         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
115491         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
115492         Christian Krackowizer.
115494         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
115495         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
115496         (AC_SYS_LARGEFILE): Require.
115497         (AM_C_PROTOTYPES): Require.
115499 2000-04-08  Jim Meyering  <meyering@lucent.com>
115501         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
115502         names don't conflict.  Reported by Eli Zaretskii.
115504 2000-04-07  Jim Meyering  <meyering@lucent.com>
115506         * lib/putenv.c: Move inclusion of errno.h so it follows that of
115507         sys/types.h, to work around system header problems on AIX 3.2.5.
115508         From Bruno Haible.
115510 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
115512         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
115513         bug.  Deal with the different error behavior of Irix iconv.
115515 2000-04-05  Paul Eggert  <eggert@twinsun.com>
115517         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
115518         IRIX if the installer said otherwise.
115520 2000-04-05  Jim Meyering  <meyering@lucent.com>
115522         Portability tweaks required for ultrix4.3.
115523         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
115524         (jm_CHECK_DECLS): Add getutent to the list of functions.
115525         (_jm_DECL_HEADERS): Add utmpx.h.
115526         From John David Anglin.
115528         * m4/strftime.m4: Back out the 2000-04-02 change.
115529         Instead of that change, simply undefine putenv in the test program.
115531 2000-04-05  Jim Meyering  <meyering@lucent.com>
115533         Portability tweaks required for ultrix4.3.
115534         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
115535         getutent.
115536         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
115537         * lib/canon-host.c: Declare strdup.
115538         * lib/path-concat.c: Likewise.
115539         From John David Anglin.
115541 2000-04-04  Jim Meyering  <meyering@lucent.com>
115543         Be more DOS 8.3-friendly.
115544         * lib/ref-add.sin: Renamed from ref-add.sed.in.
115545         * lib/ref-del.sin: Renamed from ref-del.sed.in.
115546         * lib/Makefile.am: Reflect renaming.
115547         Reported by Eli Zaretskii.
115549         Use a temporary file name that won't clash with `charset.alias'
115550         in the DOS 8.3 name space.
115551         * lib/Makefile.am (charset_tmp): Define.
115552         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
115553         (uninstall-local): Likewise.
115554         Reported by Eli Zaretskii.
115556 2000-04-03  Jim Meyering  <meyering@lucent.com>
115558         * m4/gettext.m4: Fix typo in comment.
115560         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
115561         textutils/configure.in).  Suggestion from Paul Eggert.
115562         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
115564 2000-04-02  Paul Eggert  <eggert@twinsun.com>
115566         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
115567         variable in the shell rather than using putenv, which isn't
115568         portable.  This avoids the configure-time inter-test dependency
115569         on the potentially-renamed putenv function.
115571 2000-03-30  Paul Eggert  <eggert@twinsun.com>
115573         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
115574         before checking struct stat.st_blksize, so that
115575         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
115577 2000-03-29  Paul Eggert  <eggert@twinsun.com>
115579         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
115580         since strftime.c uses HAVE_STRFTIME to decide whether to use
115581         the underlying strftime.
115583 2000-03-29  Paul Eggert  <eggert@twinsun.com>
115585         * lib/time/strftime.c (my_strftime): Make sure we call the system
115586         strftime, not ourselves, when invoking the underlying strftime.
115588 2000-03-24  Jim Meyering  <meyering@lucent.com>
115590         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
115591         (charset_alias): Define.
115592         (install-exec-local): Factor out common code.
115593         (uninstall-local): Split lines longer than 80.
115594         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
115595         (SUFFIXES): Define.
115596         (.sed.in.sed): New rule.  Don't redirect directly to $@.
115597         (CLEANFILES): Add ref-add.sed and ref-del.sed.
115599 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
115601         * lib/config.charset: Output a line containing "Packages using this
115602         file".
115603         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
115604         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
115605         ref-del.sed): New rules.
115607 2000-03-17  Jim Meyering  <meyering@lucent.com>
115609         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
115610         Otherwise, include <strings.h>
115612 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
115614         * lib/unicodeio.c (utf8_wctomb): New function.
115615         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
115616         format instead of in UCS-4 with platform dependent endianness.
115618 2000-03-10  Jim Meyering  <meyering@lucent.com>
115620         * m4/lib-check.m4: Look for getspnam in -lgen, too.
115621         From Marco Franzen.
115623 2000-03-07  Paul Eggert  <eggert@twinsun.com>
115625         * lib/savedir.c (savedir): Work even if directory size is
115626         negative; this can happen with some screwy NFS configurations.
115628 2000-03-06  Jim Meyering  <meyering@lucent.com>
115630         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
115631         if it's NULL (because we ran out of memory).  From Bruno Haible.
115633 2000-03-05  Jim Meyering  <meyering@lucent.com>
115635         * lib/localcharset.c ("path-concat.h"): Include.
115636         (get_charset_aliases): Use path_concat instead of ANSI string
115637         concatenation.
115639         * lib/unicodeio.h (PARAMS): Define.
115640         Use it to guard prototype.
115642 2000-03-04  Jim Meyering  <meyering@lucent.com>
115644         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
115645         for lib/localcharset.c.
115647 2000-03-04  Jim Meyering  <meyering@lucent.com>
115649         * lib/Makefile.am (install-exec-local): Create $(libdir) before
115650         installing into it.
115651         (uninstall-local): Uncomment this rule so `make distcheck' works
115652         once again.
115654         * lib/unicodeio.c (<errno.h>): Include it.
115655         (errno): Declare if not defined.
115657         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
115659         * lib/config.charset: New version, incorporating remarks from a linux
115660         i18n mailing list.  From Bruno Haible.
115662 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
115664         * m4/codeset.m4: New file.
115665         * m4/iconv.m4: New file.
115666         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
115668 2000-03-03  Jim Meyering  <meyering@lucent.com>
115670         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
115672 2000-03-02  Jim Meyering  <meyering@lucent.com>
115674         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
115675         the messages come out on separate lines.
115677         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
115678         rather than jm_CHECK_DECLARATIONS.
115679         * m4/decl.m4: Remove now-unused file.
115681         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
115682         geteuid.
115684 2000-03-02  Jim Meyering  <meyering@lucent.com>
115686         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
115688 2000-03-01  Jim Meyering  <meyering@lucent.com>
115690         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
115691         * lib/unicodeio.c: Likewise.
115693 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
115695         * lib/config.charset: New file.
115696         * lib/localcharset.c: New file.
115697         * lib/unicodeio.h, lib/unicodeio.c: New files.
115698         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
115699         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
115700         (noinst_HEADERS): Add unicodeio.h.
115701         (all-local, install-exec-local, charset.alias): New targets.
115703 2000-02-28  Paul Eggert  <eggert@twinsun.com>
115705         * lib/quotearg.c (ALERT_CHAR): New macro.
115706         (quotearg_buffer_restyled): Use it.
115708 2000-02-27  Jim Meyering  <meyering@lucent.com>
115710         * m4/check-decl.m4: Add getenv to the list.
115712 2000-02-27  Jim Meyering  <meyering@lucent.com>
115714         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
115715         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
115717         * lib/backupfile.c: Guard inclusion of stdlib.h with
115718         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
115719         Declare malloc if needed.
115721         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
115722         `#ifndef HAVE_DECL..'
115723         now that autoconf always defines the HAVE_DECL_ symbols.
115724         * lib/human.c: Likewise.
115725         * lib/same.c: Likewise.
115726         * lib/strtoumax.c: Likewise.
115728         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
115729         declaration check was not run.
115730         * lib/hash.c: Likewise.
115731         * lib/human.c: Likewise.
115732         * lib/same.c: Likewise.
115733         * lib/strtoumax.c: Likewise.
115735         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
115736         `.', then first look up the entire `.'-containing string as a login
115737         name.
115739 2000-02-23  Jim Meyering  <meyering@lucent.com>
115741         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
115742         in place of my hack.
115744 2000-02-18  Paul Eggert  <eggert@twinsun.com>
115746         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
115747         (textint): New typedef.
115748         (parser_control): Member year changed from int to textint.
115749         All uses changed.
115750         (YYSTYPE): Removed; replaced by %union with int and textint members.
115751         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
115752         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
115753         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
115754         (tSNUMBER, tUNUMBER): Now of type <textintval>.
115755         (date, number, to_year): Use width of number in digits, not its value,
115756         to determine whether it's a 2-digit year, or a 2-digit time.
115757         (yylex): Store number of digits of numeric tokens.
115758         Reported by John Kendall.
115760         (parser_control): Changed from struct parser_control to typedef (for
115761         consistency).  All uses changed.
115763         (tID): Removed; not used.
115764         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
115766 2000-02-14  Paul Eggert  <eggert@twinsun.com>
115768         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
115769         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
115771 2000-02-12  Jim Meyering  <meyering@lucent.com>
115773         * lib/userspec.c (ISDIGIT): Define it.
115774         (isdigit): Remove definition.
115775         (is_number): Use ISDIGIT, not isdigit.
115776         <libintl.h>: Include.
115777         (_ and N_): Define.
115778         (parse_user_spec): Mark translatable strings.
115780 2000-02-10  Jim Meyering  <meyering@lucent.com>
115782         With these changes, nanosleep.[ch] are finally enough like the other
115783         lib/* replacement files to compile on a few more losing systems.
115785         * lib/nanosleep.h: Don't include config.h.
115786         Remove prototype from declaration of nanosleep.
115787         (PARAMS): Remove now-unneeded definition.
115788         * lib/nanosleep.c: #undef nanosleep.
115789         (rpl_nanosleep): Rename from nanosleep.
115791 2000-02-10  Jim Meyering  <meyering@lucent.com>
115793         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
115794         gnu_nanosleep to rpl_nanosleep.
115796 2000-02-09  Jim Meyering  <meyering@lucent.com>
115798         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
115799         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
115801 2000-02-08  Akim Demaille  <akim@epita.fr>
115803         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
115804         `[' and `]' and remove uses of `changequote'.
115805         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
115806         (AC_SYS_LARGEFILE): Likewise.
115807         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
115808         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
115809         of changequote.
115810         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
115811         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
115812         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
115813         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
115815 2000-02-05  Jim Meyering  <meyering@lucent.com>
115817         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
115818         Remove explicit use of AC_HEADER_TIME.  It is required by
115819         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
115820         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
115821         in autoconf whereby the expansion of the latter ended up preceding
115822         the expansion of its prerequisite, AC_HEADER_TIME.
115823         Reported by Volker Borchert.
115825 2000-02-03  Jim Meyering  <meyering@lucent.com>
115827         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
115829 2000-02-03  Jim Meyering  <meyering@lucent.com>
115831         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
115832         rather than with `#if HAVE_UTMPNAME'.
115834 2000-02-02  Jim Meyering  <meyering@lucent.com>
115836         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
115837         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
115838         Reported by Eli Zaretskii.
115840 2000-02-01  Jim Meyering  <meyering@lucent.com>
115842         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
115844 2000-01-31  Jim Meyering  <meyering@lucent.com>
115846         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
115847         functions.  Add the time.h and sys/time.h headers along with the
115848         AC_REQUIRE'ment of AC_HEADER_TIME.
115850 2000-01-31  Jim Meyering  <meyering@lucent.com>
115852         * lib/nanosleep.h (nanosleep): Guard declaration with
115853         `#if ! HAVE_DECL_NANOSLEEP'.
115854         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
115855         the declaration in that vendor's sys/timers.h.
115856         Reported by Christian Krackowizer.
115858         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
115859         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
115860         (ISPRINT): Likewise.
115861         Reported by Tom Tromey.
115863 2000-01-30  Jim Meyering  <meyering@lucent.com>
115865         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
115867         * m4/prereq.m4 (utmp_includes): Define.
115868         Check for ut_user and ut_name members in both struct utmpx
115869         and struct utmp.
115871 2000-01-30  Jim Meyering  <meyering@lucent.com>
115873         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
115874         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
115875         header files where only utmpx.ut_user is declared.
115877         * lib/readutmp.h (UT_USER): Define.
115879 2000-01-29  Jim Meyering  <meyering@lucent.com>
115881         * m4/lib-check.m4: New file containing library-related checks from
115882         fileutils and sh-utils (textutils had none).
115884 2000-01-28  Jim Meyering  <meyering@lucent.com>
115886         * m4/perl.m4: Change format of warning message to look more like that
115887         from the missing script.  Suggestion from François Pinard.
115889 2000-01-25  Jim Meyering  <meyering@lucent.com>
115891         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
115892         well as time.h in the compile check.
115893         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
115894         Fix typo in cross-compiling case: s/yes/no/.
115896 2000-01-23  Jim Meyering  <meyering@lucent.com>
115898         * m4/jm-macros.m4: Move df-related tests here from
115899         fileutils/configure.in
115901         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
115902         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
115904         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
115905         s/space/ac_fsusage_space/.
115906         (jm_FILE_SYSTEM_USAGE): Take two parameters.
115908         * m4/ftruncate.m4: New file (derived from part of
115909         fileutils/configure.in).
115910         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
115911         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
115913         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
115914         AC_SUBST these here, rather than just in sh-util/configure.in, so
115915         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
115916         all the same.
115917         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
115918         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
115919         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
115920         (AC_SUBST(POW_LIBM)): Likewise.
115921         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
115923 2000-01-23  Jim Meyering  <meyering@lucent.com>
115925         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
115926         obstack.c.
115928 2000-01-22  Jim Meyering  <meyering@lucent.com>
115930         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
115932         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
115934         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
115935         configure.in
115936         (AC_CHECK_HEADERS): Likewise for sh-utils.
115937         (AC_CHECK_HEADERS): Likewise for textutils.
115938         Merge the three lists of headers.
115940         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
115941         from fileutils' configure.in.
115943         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
115944         code. Moved tests into their own function (_jm_DECL_HEADERS) in
115945         check-decl.m4.
115947         * m4/check-decl.m4: Use #if rather than #ifdef.
115948         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
115949         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
115950         (_jm_DECL_HEADERS): Define new function.
115951         (jm_CHECK_DECLARATIONS): Require it.
115953 2000-01-22  Jim Meyering  <meyering@lucent.com>
115955         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
115956         [! HAVE_DECL_STRTOULL]: Declare strtoull.
115957         Required for some AIX systems.  Reported by Christian Krackowizer.
115958         [TESTING] (main): New function.
115960         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
115961         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
115962         letters.
115964         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
115965         iswprint.
115967         * lib/strverscmp.c (ISDIGIT): Define.
115968         (strverscmp): Use ISDIGIT, not isdigit.
115970 2000-01-19  Jim Meyering  <meyering@lucent.com>
115972         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
115973         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
115974         defines `struct timespec' in <sys/time.h>
115976         * m4/c-bs-a.m4: Remove uses of changequote altogether.
115977         Thanks to Akim for explaining.
115979 2000-01-17  Paul Eggert  <eggert@twinsun.com>
115981         * lib/nanosleep.c (nanosleep):
115982         Don't use SA_INTERRUPT to decide whether to call sigaction, as
115983         POSIX.1 doesn't require SA_INTERRUPT and some systems
115984         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
115985         it's been part of POSIX.1 since day 1 (in 1988).
115987 2000-01-17  Jim Meyering  <meyering@lucent.com>
115989         * lib/interlock: Remove unused file.  Reported by François Pinard.
115991 2000-01-16  Paul Eggert  <eggert@twinsun.com>
115993         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
115994         alert, backslash, formfeed, and vertical tab unnecessarily in
115995         shell quoting style.
115997 2000-01-16  Jim Meyering  <meyering@lucent.com>
115999         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
116000         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
116001         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
116002         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
116004 2000-01-16  Jim Meyering  <meyering@lucent.com>
116006         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
116007         because the latter didn't work.
116009 2000-01-15  Jim Meyering  <meyering@lucent.com>
116011         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
116012         (AC_REPLACE_FUNCS): Add memcpy and memset.
116013         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
116014         Add strpbrk.
116015         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
116017 2000-01-12  Jim Meyering  <meyering@lucent.com>
116019         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
116020         (jm_PREREQ): Use it.
116021         (jm_PREREQ_READUTMP): New macro.
116022         (jm_PREREQ): Use it.
116024 2000-01-11  Paul Eggert  <eggert@twinsun.com>
116026         Quote multibyte characters correctly.
116027         * m4/c-bs-a.m4: New file.
116028         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
116029         (jm_PREREQ): Use it.
116031 2000-01-11  Paul Eggert  <eggert@twinsun.com>
116033         * m4/uintmax_t.m4: Port to autoconf 2.13.
116035 2000-01-08  Jim Meyering  <meyering@ascend.com>
116037         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
116038         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
116040 2000-01-04  Jim Meyering  <meyering@ascend.com>
116042         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
116043         jm_STRUCT_DIRENT_D_TYPE.
116044         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
116045         jm_STRUCT_DIRENT_D_INO.
116046         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
116047         jm_STRUCT_UTIMBUF.
116048         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
116049         renamings.
116050         * m4/utime.m4: Likewise.
116052         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
116053         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
116055 2000-01-03  Paul Eggert  <eggert@twinsun.com>
116057         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
116058         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
116060 2000-01-02  Jim Meyering  <meyering@ascend.com>
116062         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
116063         remember if this is necessary.
116065 1999-12-26  Jim Meyering  <meyering@ascend.com>
116067         * m4/jm-macros.m4: Use it here.
116068         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
116070 1999-12-23  Jim Meyering  <meyering@ascend.com>
116072         * m4/jm-macros.m4: Check for clock_gettime (moved from
116073         fileutils/configure.in)
116074         Check for gettimeofday.
116076 1999-12-20  Jim Meyering  <meyering@ascend.com>
116078         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
116079         autoconf-2.14a-1999-12-20.
116081 1999-12-19  Jim Meyering  <meyering@ascend.com>
116083         * m4/lstat-slash.m4: New file.
116084         * m4/jm-macros.m4: Use the new macro:
116085         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116087 1999-12-07  Jim Meyering  <meyering@ascend.com>
116089         * m4/perl.m4: Require that File::Compare be available, too.
116090         Too many systems seem to lack it.
116092         * m4/strftime.m4: Add checks for most of the cpp macros tested in
116093         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
116095 1999-11-18  Paul Eggert  <eggert@twinsun.com>
116097         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
116098         problem with the QNX 4.25 shell, which doesn't propagate exit
116099         status of failed commands inside shell assignments.
116101 1999-11-17  Jim Meyering  <meyering@ascend.com>
116103         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
116105 1999-11-07  Jim Meyering  <meyering@ascend.com>
116107         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
116109 1999-11-06  Jim Meyering  <meyering@ascend.com>
116111         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
116112         * m4/jm-macros.m4 (jm_MACROS): Use it here.
116114 1999-11-05  Jim Meyering  <meyering@ascend.com>
116116         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
116117         configure.in of textutils, fileutils, and sh-utils into this one
116118         (shared between those packages) file.
116119         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
116120         AC_STRUCT_ST_BLKSIZE.
116122 1999-11-03  Jim Meyering  <meyering@ascend.com>
116124         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
116125         of AC_CHECK_TYPE checks includes unistd.h.
116126         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
116127         Suggestion from Akim Demaille.
116129 1999-10-30  Jim Meyering  <meyering@ascend.com>
116131         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
116132         m4-quoted string.
116133         * m4/ls-mntd-fs.m4: Likewise.
116134         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
116135         * m4/jm-winsz1.m4: Likewise.
116137         * m4/const.m4: Remove file, since the fix made it into the experimental
116138         version of autoconf.
116139         * m4/mktime.m4: Likewise.
116141         * m4/check-type.m4: Remove file, now that the latest version of
116142         AC_CHECK_TYPE takes a third arg to specify additional #includes.
116144         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
116145         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
116146         AC_CHECK_TYPE.
116148 1999-10-04  Jim Meyering  <meyering@ascend.com>
116150         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
116152 1999-09-22  Paul Eggert  <eggert@twinsun.com>
116154         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
116155         2.95.1 bug with HP-UX 10.20.
116157 1999-09-17  Jim Meyering  <meyering@ascend.com>
116159         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
116160         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
116161         due to missing strdup (against sh-utils-2.0).
116163 1999-08-29  Jim Meyering  <meyering@ascend.com>
116165         * m4/jm-macros.m4: Require jm_BISON.
116166         * m4/bison.m4: New file.
116168 1999-08-17  Paul Eggert  <eggert@twinsun.com>
116170         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
116171         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
116173 1999-08-05  Jim Meyering  <meyering@ascend.com>
116175         * m4/getline.m4: Rename test file from conftestdata to conftest.data
116176         to avoid conflicts with `conftest' on 8+3 filesystems.
116177         Suggestion from Eli Zaretskii.
116179 1999-08-04  Jim Meyering  <meyering@ascend.com>
116181         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
116182         fileutils and sh-utils (textutils's getline test was inadequate).
116183         (AM_FUNC_GETLINE): Run this test.
116184         (AC_CHECK_FUNCS): Check for getdelim.
116185         Reported by Bob Proulx.
116187 1999-08-02  Jim Meyering  <meyering@ascend.com>
116189         * m4/jm-macros.m4: Add a comment.
116191 1999-08-01  Paul Eggert  <eggert@twinsun.com>
116193         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
116194         <inttypes.h> defines strtoumax as a macro (and not as a
116195         function).
116197 1999-08-01  Paul Eggert  <eggert@twinsun.com>
116199         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
116200         that we can shift, multiply and divide unsigned long long
116201         values; Ultrix cc can't do it.
116203 1999-08-01  Paul Eggert  <eggert@twinsun.com>
116205         * m4/mktime.m4: New file, which is a preview of what should appear
116206         in the next public autoconf release.
116208 1999-08-01  Paul Eggert  <eggert@twinsun.com>
116210         * m4/lfs.m4: Remove this file.
116211         * m4/largefile.m4: New file.  It contains the old contents of
116212         lfs.m4, except that all names with prefix AC_LFS have been
116213         changed to use the prefix AC_SYS_LARGEFILE instead, to be
116214         compatible with future autoconf versions.  Also, some minor m4
116215         quoting problems have been fixed.
116217 1999-08-01  Paul Eggert  <eggert@twinsun.com>
116219         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
116220         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
116221         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
116222         and simplify the shell code.
116224 1999-08-01  Jim Meyering  <meyering@ascend.com>
116226         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
116227         m4.
116229 1999-07-20  Jim Meyering  <meyering@ascend.com>
116231         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
116233 1999-07-15  Jim Meyering  <meyering@ascend.com>
116235         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
116237 1999-05-22  Jim Meyering  <meyering@ascend.com>
116239         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
116241 1999-05-20  Jim Meyering  <meyering@ascend.com>
116243         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
116244         Add a colon after each `then' in case $4 is empty.
116246 1999-05-16  Jim Meyering  <meyering@ascend.com>
116248         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
116250 1999-05-10  Jim Meyering  <meyering@ascend.com>
116252         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
116254         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
116255         AC_FUNC_MKTIME.
116257 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
116259         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
116261 1999-05-04  Paul Eggert  <eggert@twinsun.com>
116263         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
116264         not CPPFLAGS, so that linking works correctly in IRIX.
116266 1999-04-30  Paul Eggert  <eggert@twinsun.com>
116268         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
116270 1999-04-20  Paul Eggert  <eggert@twinsun.com>
116272         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
116273         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
116274         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
116275         jm_AC_TYPE_UNSIGNED_LONG_LONG.
116276         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
116278         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
116280 1999-04-20  Jim Meyering  <meyering@ascend.com>
116282         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
116283         AC_REPLACE xstroull if necessary.  From Paul Eggert.
116284         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
116286 1999-04-18  Jim Meyering  <meyering@ascend.com>
116288         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
116289         * m4/jm-macros.m4: Use it.
116291 1999-04-06  Jim Meyering  <meyering@ascend.com>
116293         * m4/strftime.m4: Remove test for %f.
116295 1999-03-29  Jim Meyering  <meyering@ascend.com>
116297         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
116298         superset of the AC_TYPE_* checks in the textutils, fileutils,
116299         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
116300         AC_TYPE_PID_T.
116302 1999-03-28  Jim Meyering  <meyering@ascend.com>
116304         * m4/jm-macros.m4: Define GNU_PACKAGE here.
116305         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
116306         replaced e.g., in the *.sh files of the sh-utils.
116308 1999-03-20  Jim Meyering  <meyering@ascend.com>
116310         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
116311         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
116312         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
116314 1999-03-19  Jim Meyering  <meyering@ascend.com>
116316         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
116318 1999-03-12  Jim Meyering  <meyering@ascend.com>
116320         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
116322 1999-03-07  Jim Meyering  <meyering@ascend.com>
116324         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
116325         declared.
116327 1999-02-17  Jim Meyering  <meyering@ascend.com>
116329         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
116330         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
116332 1999-02-07  Jim Meyering  <meyering@ascend.com>
116334         * m4/group-member.m4: New file -- extracted from sh-utils'
116335         configure.in.
116337         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
116338         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
116340 1999-02-06  Jim Meyering  <meyering@ascend.com>
116342         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
116343         * m4/fnmatch.m4: Likewise.
116344         * m4/getgroups.m4: Likewise.
116345         * m4/lstat.m4: Likewise.
116346         * m4/malloc.m4: Likewise.
116347         * m4/putenv.m4: Likewise.
116348         * m4/realloc.m4: Likewise.
116349         * m4/regex.m4: Likewise.
116350         * m4/stat.m4: Likewise.
116351         * m4/strftime.m4: Likewise.
116352         Suggestion from Alain Magloire.
116354         * m4/chown.m4: Use `.$ac_objext', not `.o'.
116355         * m4/fnmatch.m4: Likewise.
116356         * m4/getgroups.m4: Likewise.
116357         * m4/getline.m4: Likewise.
116358         * m4/lstat.m4: Likewise.
116359         * m4/malloc.m4: Likewise.
116360         * m4/memcmp.m4: Likewise.
116361         * m4/putenv.m4: Likewise.
116362         * m4/realloc.m4: Likewise.
116363         * m4/regex.m4: Likewise.
116364         * m4/stat.m4: Likewise.
116365         * m4/strftime.m4: Likewise.
116366         Suggestion from Alain Magloire.
116368         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
116369         an argument.
116371         * m4/regex.m4: Add a run-time Test for proper operation of
116372         re_compile_pattern.
116374 1999-01-31  Jim Meyering  <meyering@ascend.com>
116376         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
116378 1999-01-30  Jim Meyering  <meyering@ascend.com>
116380         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
116382         * m4/jm-mktime.m4: Make this a wrapper around the official
116383         AM_FUNC_MKTIME rather than my private copy, now that the official one
116384         is up to date.
116385         * m4/mktime.m4: Remove file.
116387         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
116388         * m4/uptime.m4: Likewise.
116389         * m4/uintmax_t.m4: Likewise.
116391 1999-01-28  Jim Meyering  <meyering@ascend.com>
116393         * m4/jm-macros.m4: Use jm_AFS.
116394         * m4/afs.m4: New file (from fileutils' configure.in).
116396         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
116397         * m4/chown.m4: Likewise.
116398         * m4/d-ino.m4: Likewise.
116399         * m4/d-type.m4: Likewise.
116400         * m4/fnmatch.m4: Likewise.
116401         * m4/getgroups.m4: Likewise.
116402         * m4/gettext.m4: Likewise.
116403         * m4/jm-mktime.m4: Likewise.
116404         * m4/jm-winsz2.m4: Likewise.
116405         * m4/lcmessage.m4: Likewise.
116406         * m4/ls-mntd-fs.m4: Likewise.
116407         * m4/malloc.m4: Likewise.
116408         * m4/memcmp.m4: Likewise.
116409         * m4/putenv.m4: Likewise.
116410         * m4/realloc.m4: Likewise.
116411         * m4/st_mtim.m4: Likewise.
116412         * m4/strftime.m4: Likewise.
116414 1999-01-16  Jim Meyering  <meyering@ascend.com>
116416         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
116417         (ARGMATCH_DIE_DECL): Define.
116419 1999-01-12  Jim Meyering  <meyering@ascend.com>
116421         * m4/Makefile.am.in: Rewrite to avoid using fmt.
116422         Reported by Lars Hecking.
116424 1999-01-10  Jim Meyering  <meyering@ascend.com>
116426         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
116427         gross kludge.
116428         * m4/inttypes_h.m4: Likewise.
116429         * m4/lstat.m4: Likewise.
116430         * m4/malloc.m4: Likewise.
116431         * m4/readdir.m4: Likewise.
116432         * m4/realloc.m4: Likewise.
116433         * m4/st_dm_mode.m4: Likewise.
116434         * m4/stat.m4: Likewise.
116435         * m4/utimbuf.m4: Likewise.
116436         * m4/utimes.m4: Likewise.
116438         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
116439         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
116440         comments in config.h.in are meaningful.
116442         * m4/jm-macros.m4: Require autoconf-2.13 here.
116444         * m4/regex.m4: By default, don't use the included regex.c on systems
116445         with glibc 2.  Suggestion from Uli Drepper.
116447 1999-01-02  Jim Meyering  <meyering@ascend.com>
116449         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
116451 1998-12-18  Jim Meyering  <meyering@ascend.com>
116453         * m4/Makefile.am.in (Makefile.am): Simplify rule.
116454         Based on a suggestion from Lars Hecking.
116456 1998-11-16  Paul Eggert  <eggert@twinsun.com>
116458         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
116460 1998-11-16  Jim Meyering  <meyering@ascend.com>
116462         * m4/lfs.m4: Double-quote the `uname...` expression.
116464 1998-11-14  Jim Meyering  <meyering@ascend.com>
116466         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
116467         * m4/stat.m4: Likewise.
116469 1998-11-03  Jim Meyering  <meyering@ascend.com>
116471         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
116472         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
116474 1998-10-18  Jim Meyering  <meyering@ascend.com>
116476         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
116478 1998-10-17  Jim Meyering  <meyering@ascend.com>
116480         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
116481         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
116482         calls for those previously hard-coded headers.  Instead, take a new
116483         parameter.
116484         (jm_CHECK_DECLARATIONS): Reflect interface change.
116485         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
116486         (jm_CHECK_DECL_LOCALTIME_R): New macro.
116488         * m4/mktime.m4: Test for spring-forward gap before long-running test.
116490 1998-10-14  Jim Meyering  <meyering@ascend.com>
116492         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
116493         instead of "TZ=America/Vancouver".  From Paul Eggert.
116495 1998-10-11  Jim Meyering  <meyering@ascend.com>
116497         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
116498         This adds a test for a recently added compatibility fix for mktime.c.
116499         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
116501 1998-09-27  Jim Meyering  <meyering@ascend.com>
116503         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
116505         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
116506         ../configure.in, including a change from Gordon Matzigkeit to allow
116507         cross-compiling for the Hurd.
116509         * m4/glibc.m4: New file/macro to test for the GNU C Library
116510         versions 1 and 2.  From Gordon Matzigkeit.
116511         Indent.
116513 1998-09-21  Jim Meyering  <meyering@ascend.com>
116515         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
116517 1998-08-18  Paul Eggert  <eggert@twinsun.com>
116519         Port nanosecond-resolution times to UnixWare 2.1.2 and
116520         pedantic Solaris 2.6.
116522         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
116523         AC_STRUCT_ST_MTIM.
116524         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
116525         Generate name of ns member, instead of just 1 or undef.
116526         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
116528 1998-08-15  Jim Meyering  <meyering@ascend.com>
116530         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
116531         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
116532         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
116533         instead of jm_TYPE_SSIZE_T.
116535 1998-08-12  Jim Meyering  <meyering@ascend.com>
116537         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
116539 1998-08-02  Jim Meyering  <meyering@ascend.com>
116541         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
116542         in acconfig.h manually.
116544 1998-07-31  Paul Eggert  <eggert@twinsun.com>
116546         * m4/st_mtim.m4: New file.
116548 1998-07-28  Jim Meyering  <meyering@ascend.com>
116550         * m4/utimes.m4: Undef stat.
116552 1998-07-25  Jim Meyering  <meyering@ascend.com>
116554         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
116555         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
116557 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
116559         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
116560         uid and gid actually remain unchanged.
116562 1998-07-07  Jim Meyering  <meyering@ascend.com>
116564         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
116566 1998-07-04  Jim Meyering  <meyering@ascend.com>
116568         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
116569         to prove that this macro can be used in packages without regex.c.
116571 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
116573         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
116574         is to be used.
116576 1998-07-03  Jim Meyering  <meyering@ascend.com>
116578         * m4/gettext.m4: Add -lintl if it's found to be necessary.
116580         * m4/gettext.m4: New file -- from gettext-0.10.35.
116581         * m4/lcmessage.m4: Likewise.
116582         * m4/progtest.m4: Likewise.
116584         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
116585         * m4/jm-macros.m4: Require the new macro.
116587 1998-06-29  Jim Meyering  <meyering@ascend.com>
116589         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
116590         for the definition of NGROUPS (used in a system header included
116591         by sys/mount.h).
116593 1998-06-28  Jim Meyering  <meyering@ascend.com>
116595         * m4/ls-mntd-fs.m4: New file.
116596         * m4/fstypename.m4: New file.
116598         * m4/jm-macros.m4: Require the new macro.
116599         * m4/jm-glibc-io.m4: New file.
116601 1998-05-19  Jim Meyering  <meyering@ascend.com>
116603         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
116604         * m4/lchown.m4: New file.
116606         * m4/Makefile.am.in: New file.
116607         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
116609 1998-05-14  Jim Meyering  <meyering@ascend.com>
116611         * m4/Makefile.am (EXTRA_DIST): Add them.
116612         * m4/jm-macros.m4: New file.
116613         * m4/utimbuf.m4: New file.
116615 1998-05-12  Jim Meyering  <meyering@ascend.com>
116617         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
116619 1998-05-11  Jim Meyering  <meyering@ascend.com>
116621         * m4/isc-posix.m4: New file.
116623 1998-05-10  Jim Meyering  <meyering@ascend.com>
116625         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
116627 1998-05-09  Jim Meyering  <meyering@ascend.com>
116629         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
116630         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
116631         with automake.
116633         * m4/ssize_t.m4: New file.
116634         * m4/mktime.m4: Remove file -- the new automake has this now.
116636 1998-04-26  Jim Meyering  <meyering@ascend.com>
116638         * m4/assert.m4: New file.
116639         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
116641 1998-04-05  Jim Meyering  <meyering@ascend.com>
116643         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
116644         (jm_PREREQ): Use it here.
116646 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
116648         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
116649         in acconfig.h.
116651 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
116653         * m4/prereq.m4: New file.
116654         * m4/error.m4: New file.
116655         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
116657 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
116659         * m4/getline.m4: Don't set am_cv_func_working_getline before the
116660         cache-check for the same variable -- that defeated the purpose of
116661         the test; the test program was never run.  This was a problem only
116662         on systems with losing getline functions -- HP-UX 10.20 is one.
116663         Reported by Bjorn Helgaas.
116665 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
116667         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
116669 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
116671         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
116673         * m4/const.m4: New file.  Use an initializer in this declaration
116674         typedef int charset[2]; const charset x;
116675         Reported by Bob Glickstein.
116677 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
116679         * m4/chown.m4: Fix reversed types on -1 args to chown.
116680         From Kaveh Ghazi.
116682 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
116684         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
116685         Add lseek and memchr.
116687         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
116688         T.E.Dickey <dickey@clark.net> said that some older preprocessors
116689         have a 20-character limit on names.
116691 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
116693         * m4/inttypes_h.m4: New file.
116694         * m4/uintmax_t.m4: New file.
116695         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
116698         -----
116700         Local Variables:
116701         coding: utf-8
116702         End:
116704         Copyright (C) 1997-2018 Free Software Foundation, Inc.
116706         Copying and distribution of this file, with or without
116707         modification, are permitted provided the copyright notice
116708         and this notice are preserved.