obstack-printf-posix: ensure declaration
[gnulib.git] / ChangeLog
index 17ad81d..928d846 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,339 @@
+2010-02-09  Eric Blake  <ebb9@byu.net>
+       and Bruno Haible  <bruno@clisp.org>
+
+       obstack-printf-posix: ensure declaration
+       * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
+       extracted from gl_FUNC_OBSTACK_PRINTF.
+       (gl_FUNC_OBSTACK_PRINTF): Invoke it.
+       * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
+       Likewise.
+       * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
+       if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
+       0.
+
+2010-02-08  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix typo in 2010-02-07 commit.
+       * gnulib-tool (func_get_dependencies): Fix typo in last commit.
+       Reported by Eric Blake.
+
+2010-02-07  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix up caching patches.
+       * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
+       option --no-cache. Use associative arrays when supported by the shell.
+       (sed_comments): New variable.
+       (modcache): Renamed from do_cache.
+       (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
+       abbreviate unnecessarily.
+       (have_associative): New variable.
+       (func_cache_var): Define correctly for bash 1.x. Define in an optimized
+       way also for ksh and zsh.
+       (func_init_sed_convert_to_cache_statements): New function, extracted
+       from func_cache_lookup_module. Add support for associative arrays.
+       Don't set the c_MODULE_cached variable here. Ignore all lines before
+       the first field header. Remove only the final newline, not all trailing
+       newlines. Support empty fields correctly. Limit the use of 'eval' to
+       assignments.
+       (func_get_description, func_get_status, func_get_notice,
+       func_get_applicability, func_get_filelist, func_get_dependencies,
+       func_get_autoconf_early_snippet, func_get_autoconf_snippet,
+       func_get_automake_snippet, func_get_include_directive,
+       func_get_link_directive, func_get_license, func_get_maintainer):
+       Update documentation. List the unoptimized code first. Add support for
+       associative arrays. Limit the use of 'eval' to assignments.
+       (func_get_applicability): Undo stylistic pessimisations.
+       (func_get_automake_snippet, func_get_include_directive): Reduce code
+       duplication.
+       (func_modules_transitive_closure, func_modules_add_dummy,
+       func_modules_notice, func_modules_to_filelist, func_add_file,
+       func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
+       func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
+       func_create_testdir, func_create_megatestdir): Update documentation.
+
+2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gnulib-tool (func_cache_lookup_module): Store the module name
+       belonging to the cache variable; error out if two different
+       module names map to the same cache variable name.
+
+2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       gnulib-tool: Make caching optional.
+       * gnulib-tool: Accept option --no-cache, turning off $do_cache.
+       Update matching short versions of --no-changelog.
+       (func_usage): Update.
+       (sed_extract_cache_prog): Renamed from ...
+       (sed_extract_prog): ... this; revert to old extraction script.
+       (func_get_description, func_get_status)
+       (func_get_notice, func_get_applicability, func_get_filelist)
+       (func_get_dependencies, func_get_autoconf_early_snippet)
+       (func_get_autoconf_snippet, func_get_automake_snippet)
+       (func_get_include_directive, func_get_link_directive)
+       (func_get_license, func_get_maintainer): If $do_cache is false,
+       use old, non-caching extraction scripts.
+       Suggestion by Bruno Haible.
+
+2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       gnulib-tool: cache module metainformation.
+       * gnulib-tool (sed_extract_prog): Match newline before each
+       header, and rewrite header to a shell variable suffix.
+       (func_cache_var, func_cache_lookup_module): New functions,
+       to turn a module name into a cache variable prefix, and to
+       look up and cache module metainformation.
+       (func_get_description, func_get_status)
+       (func_get_notice, func_get_applicability, func_get_filelist)
+       (func_get_dependencies, func_get_autoconf_early_snippet)
+       (func_get_autoconf_snippet, func_get_automake_snippet)
+       (func_get_include_directive, func_get_link_directive)
+       (func_get_license, func_get_maintainer): Use
+       func_cache_lookup_module.
+
+2010-02-07  Bruno Haible  <bruno@clisp.org>
+
+       fnctl: Fix missing dependency.
+       * modules/fcntl (Depends-on): Add getdtablesize.
+       Reported by John W. Eaton <jwe@gnu.org>.
+
+2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Argp: fix recognition of short alias options.
+
+       * lib/argp-parse.c (convert_options): Fix improper use of
+       `|' between character values.
+       * tests/test-argp.c (group1_option): New alias option
+       --read (-r).
+       (group1_parser): Special handling for 'r'.
+       (test15): New test case.
+       (test_fun): Add test15.
+       * tests/test-argp-2.sh: Update expected --help and --usage
+       outputs.
+
+2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * tests/test-argp.c: Fix indentation.
+
+2010-02-04  Eric Blake  <ebb9@byu.net>
+
+       gettimeofday: expose type of second argument
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
+       of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
+       * tests/test-gettimeofday.c: Use it to silence warning.
+       * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
+       the issue.
+
+2010-02-03  Jim Meyering  <meyering@redhat.com>
+
+       regcomp.c: avoid the sole warning from gcc's -Wtype-limits
+       * lib/regcomp.c (TYPE_SIGNED): Define.
+       (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
+
+       regcomp.c: avoid a new -Wshadow warning
+       * lib/regcomp.c (create_initial_state): Do not shadow local "err".
+
+2010-02-01  Jim Meyering  <meyering@redhat.com>
+
+       removing useless parentheses in cpp #define directives
+       For motivation, see commit c0221df4, "define STREQ(a,b)
+       consistently, removing useless parentheses"
+       * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
+       * lib/mountlist.c (MNT_IGNORE): Likewise.
+       * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
+
+2010-02-01  Eric Blake  <ebb9@byu.net>
+
+       sys_time: use link-warning
+       * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
+       (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
+       (gl_SYS_TIME_MODULE_INDICATOR): New macro.
+       * modules/sys_time (Depends-on): Add warn-on-use.
+       (Makefile.am): Always build replacement.
+       (configure.ac): Update substitutions.
+       * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
+       (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
+       bother with SYS_TIME_H.
+       * modules/gettimeofday (configure.ac): Declare indicator.
+       * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
+       in use.
+
+       closein-tests: silence compiler warning
+       * tests/test-closein.c (main): Ignore fread result.
+       * modules/closein-tests (Depends-on): Add ignore-value.
+
+       tests: silence warning about system return
+       * tests/test-areadlink-with-size.c (main): Ignore system result.
+       * tests/test-areadlink.c (main): Likewise.
+       * tests/test-areadlinkat-with-size.c (main): Likewise.
+       * tests/test-areadlinkat.c (main): Likewise.
+       * tests/test-canonicalize-lgpl.c (main): Likewise.
+       * tests/test-canonicalize.c (main): Likewise.
+       * tests/test-chown.c (main): Likewise.
+       * tests/test-fchownat.c (main): Likewise.
+       * tests/test-fdutimensat.c (main): Likewise.
+       * tests/test-fstatat.c (main): Likewise.
+       * tests/test-futimens.c (main): Likewise.
+       * tests/test-lchown.c (main): Likewise.
+       * tests/test-link.c (main): Likewise.
+       * tests/test-linkat.c (main): Likewise.
+       * tests/test-lstat.c (main): Likewise.
+       * tests/test-mkdir.c (main): Likewise.
+       * tests/test-mkdirat.c (main): Likewise.
+       * tests/test-mkfifo.c (main): Likewise.
+       * tests/test-mkfifoat.c (main): Likewise.
+       * tests/test-mknod.c (main): Likewise.
+       * tests/test-readlink.c (main): Likewise.
+       * tests/test-remove.c (main): Likewise.
+       * tests/test-rename.c (main): Likewise.
+       * tests/test-renameat.c (main): Likewise.
+       * tests/test-rmdir.c (main): Likewise.
+       * tests/test-symlink.c (main): Likewise.
+       * tests/test-symlinkat.c (main): Likewise.
+       * tests/test-unlink.c (main): Likewise.
+       * tests/test-unlinkat.c (main): Likewise.
+       * tests/test-utimens.c (main): Likewise.
+       * tests/test-utimensat.c (main): Likewise.
+       * modules/areadlink-tests (Depends-on): Add ignore-value.
+       * modules/areadlink-with-size-tests (Depends-on): Likewise.
+       * modules/areadlinkat-tests (Depends-on): Likewise.
+       * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
+       * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
+       * modules/canonicalize-tests (Depends-on): Likewise.
+       * modules/chown-tests (Depends-on): Likewise.
+       * modules/fdutimensat-tests (Depends-on): Likewise.
+       * modules/futimens-tests (Depends-on): Likewise.
+       * modules/lchown-tests (Depends-on): Likewise.
+       * modules/link-tests (Depends-on): Likewise.
+       * modules/linkat-tests (Depends-on): Likewise.
+       * modules/lstat-tests (Depends-on): Likewise.
+       * modules/mkdir-tests (Depends-on): Likewise.
+       * modules/mkfifo-tests (Depends-on): Likewise.
+       * modules/mkfifoat-tests (Depends-on): Likewise.
+       * modules/mknod-tests (Depends-on): Likewise.
+       * modules/openat-tests (Depends-on): Likewise.
+       * modules/readlink-tests (Depends-on): Likewise.
+       * modules/remove-tests (Depends-on): Likewise.
+       * modules/rename-tests (Depends-on): Likewise.
+       * modules/renameat-tests (Depends-on): Likewise.
+       * modules/rmdir-tests (Depends-on): Likewise.
+       * modules/symlink-tests (Depends-on): Likewise.
+       * modules/symlinkat-tests (Depends-on): Likewise.
+       * modules/unlink-tests (Depends-on): Likewise.
+       * modules/utimens-tests (Depends-on): Likewise.
+       * modules/utimensat-tests (Depends-on): Likewise.
+
+2010-01-31  Bruno Haible  <bruno@clisp.org>
+
+       Perform the same test for many <math.h> functions.
+       * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
+       gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
+       * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
+       of gl_MATHFUNC.
+       * modules/acos (configure.ac): Likewise.
+       * modules/asin (configure.ac): Likewise.
+       * modules/atan (configure.ac): Likewise.
+       * modules/atan2 (configure.ac): Likewise.
+       * modules/cbrt (configure.ac): Likewise.
+       * modules/copysign (configure.ac): Likewise.
+       * modules/cos (configure.ac): Likewise.
+       * modules/cosh (configure.ac): Likewise.
+       * modules/erf (configure.ac): Likewise.
+       * modules/erfc (configure.ac): Likewise.
+       * modules/exp (configure.ac): Likewise.
+       * modules/fmod (configure.ac): Likewise.
+       * modules/hypot (configure.ac): Likewise.
+       * modules/j0 (configure.ac): Likewise.
+       * modules/j1 (configure.ac): Likewise.
+       * modules/jn (configure.ac): Likewise.
+       * modules/lgamma (configure.ac): Likewise.
+       * modules/log (configure.ac): Likewise.
+       * modules/log10 (configure.ac): Likewise.
+       * modules/log1p (configure.ac): Likewise.
+       * modules/pow (configure.ac): Likewise.
+       * modules/remainder (configure.ac): Likewise.
+       * modules/sin (configure.ac): Likewise.
+       * modules/sinh (configure.ac): Likewise.
+       * modules/tan (configure.ac): Likewise.
+       * modules/tanh (configure.ac): Likewise.
+       * modules/y0 (configure.ac): Likewise.
+       * modules/y1 (configure.ac): Likewise.
+       * modules/yn (configure.ac): Likewise.
+       Suggested by Paolo Bonzini.
+
+2010-01-31  Bruno Haible  <bruno@clisp.org>
+
+       * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
+
+2010-01-31  Bruno Haible  <bruno@clisp.org>
+
+       Work around getdelim() bug on FreeBSD 8.0.
+       * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
+       initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
+       not work.
+       * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
+       is 1.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
+       * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
+       * tests/test-getdelim.c (main): Also test result for a NULL buffer and
+       a non-zero size.
+       * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
+
+2010-01-31  Bruno Haible  <bruno@clisp.org>
+
+       Work around getline() bug on FreeBSD 8.0.
+       * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
+       and a non-zero size.
+       * tests/test-getline.c (main): Likewise.
+       * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
+       Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
+
+2010-01-28  Eric Blake  <ebb9@byu.net>
+
+       regex: fix build failure
+       * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
+       platforms.
+
+2010-01-28  Jim Meyering  <meyering@redhat.com>
+
+       regex: do not ignore memory allocation failure
+       * lib/regex_internal.c (create_cd_newstate): Detect
+       re_node_set_init_copy failure.   Extracted from glibc commit
+       2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
+
+       regex: sync more white-space changes from libc
+       * lib/regex_internal.c: White-space only changes.
+       * lib/regexec.c: Likewise.
+
+       regex: add many uses of __attribute_warn_unused_result__
+       * lib/regex_internal.c: Use __attribute_warn_unused_result__.
+       * lib/regexec.c: Likewise.
+       Extracted from a messy glibc commit.
+
+       regcomp.c: spelling and merge-artifact from glibc
+       * lib/regcomp.c: Merge remainder of glibc's
+       2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
+
+       regcomp.c: sync white-space changes from glibc
+       * lib/regcomp.c: Merge to accommodate white space
+       changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
+
+       regcomp.c: do not ignore internal return values
+       * lib/regcomp.c: Do not ignore internal return values.
+       This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
+       but without its white-space changes and spelling fixes.
+
+       regex_internal.h: define __attribute_warn_unused_result__
+       * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
+
+       maint: add a syntax-check rule to check for vulnerable Makefile.in
+       * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
+
+2010-01-27  Jim Meyering  <meyering@redhat.com>
+
+       ncftpput-ftp: clean up spaces
+       * build-aux/ncftpput-ftp: Make Copyright line consistent.
+       Remove trailing blanks.
+
 2010-01-27  Simon Josefsson  <simon@josefsson.org>
 
        * build-aux/git-version-gen: Fix copyright statement.
        * tests/test-strchrnul.c: Likewise.
        * tests/test-strstr.c: Likewise.
        * tests/test-strtod.c: Likewise.
+       * build-aux/ncftpput-ftp: Likewise.
 
 2010-01-26  Eric Blake  <ebb9@byu.net>
 
        * tests/test-xalloc-die.sh: Use $EXEEXT.
 
 2010-01-12  Simon Josefsson  <simon@josefsson.org>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        getlogin, getlogin_r: Avoid test failure.
        * tests/test-getlogin.c: Include <stdio.h>.