The beginnings of syntax-related checks for gnulib.
[gnulib.git] / ChangeLog
index 9f6725f..def7c47 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,305 @@
+2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * MODULES.html.sh (File system functions): Add openat.
+
+       * lib/openat.h (rpl_fstatat): New macro, if
+       [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
+       (fstatat): Define to rpl_fstatat under the same conditions,
+       unless COMPILING_FSTATAT.
+       * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
+       seems to have the bug.
+       * lib/fstatat.c: New file.
+       * modules/openat (Files): Add it.
+
+2006-11-20  Bruno Haible  <bruno@clisp.org>
+
+       * Makefile: New file.
+
+2006-11-20  Jim Meyering  <jim@meyering.net>
+
+       The beginnings of syntax-related checks for gnulib.
+       * lib/Makefile: New file.
+       * lib/t-idcache: New script.  Ensure that the two halves of
+       idcache.c stay in sync.
+
+       * lib/idcache.c: Adjust comments in user- and group- portions to
+       be more accurate, and to be consistent with one another.
+
+2006-11-20  Andreas Schwab  <schwab@suse.de>  (tiny change)
+
+       Avoid syntax error in test program.
+       * m4/gettext.m4 (AM_GNU_GETTEXT): When inside a [...] context,
+       quote with "[...]", not "[[...]]".
+
+2006-11-20  Jim Meyering  <jim@meyering.net>
+
+       * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
+       continue using the flexible array member (thus, this module performs
+       half as many malloc calls), with the addition that...
+       (getgroup, getuser): Consistently record a non-match via an empty
+       "name" string, and map an empty string match to a NULL return value.
+       * modules/idcache (Depends-on): Re-add flexmember.
+
+       * lib/idcache.c (getuser): Remove all uses of the register keyword.
+       (getuidbyname, getgroup, getgidbyname): Likewise.
+
+       Use cleaner syntax: NULL rather than 0.
+       * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
+
+2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
+       It mishandled the case where the group was missing.
+       Problem reported by Greg Schafer.
+       * modules/idcache: Likewise.
+
+2006-11-18  Jim Meyering  <jim@meyering.net>
+
+       * check-module (%exempt_header): Add exception for some
+       conditionally-included headers.
+
+       * modules/i-ring (Depends-on): Add verify.
+       (License): Change to LGPL.
+
+2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
+       * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
+       and inttostr.h.  Use snprintf rather than uinttostr, so that
+       LGPLed code doesn't depend on GPLed.
+
+2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * modules/inline (License): Change from GPL to LGPL.
+
+2006-11-17  Jim Meyering  <jim@meyering.net>
+
+       * modules/d-type (License): Switch to LGPL.
+
+2006-11-15  Bruno Haible  <bruno@clisp.org>
+
+       * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
+
+2006-11-15  Eric Blake  <ebb9@byu.net>
+
+       * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
+       the module dependency.
+
+2006-11-15  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
+            Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_create_testdir): Add license consistency check.
+
+2006-11-15  Eric Blake  <ebb9@byu.net>
+
+       * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
+       random "(cached)" in configure output.
+
+2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
+       test for conforming inttypes.h is both announced and cached.
+
+       * MODULES.html.sh (seen_modules, seen_files): New variables.
+       (func_module): Rewrite to use a few less gnulib-tool and sed
+       invocations.  Avoid a couple of quadratic algorithms for ...
+       (missed_modules, missed_files): ... these, with ...
+       (func_append, func_tmpdir): ... these new functions, from
+       gnulib-tool.  Analogously, install traps for cleanup.
+
+       * tests/test-gc.c (main): Remove unused variables.
+       * tests/test-read-file.c: Include stdlib.h, for 'free'.
+
+2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * modules/inttostr (License): Change to LGPL.
+
+2006-11-14  Eric Blake  <ebb9@byu.net>
+
+       * modules/tempname (License): Change to LGPL.
+
+2006-11-14  Eric Blake  <ebb9@byu.net>
+
+       * doc/functions.texi (Function Portability): *printf functions on
+       Cygwin now understand all POSIX size specifiers.
+
+2006-11-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/c-ctype (License): Change to LGPL.
+
+2006-11-12  Bruno Haible  <bruno@clisp.org>
+
+       * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
+       AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
+       for GNOME libraries, for which the include files are installed in
+       subdirectories of $prefix/include.
+
+2006-11-12  Bruno Haible  <bruno@clisp.org>
+
+       * m4/lib-link.m4: Require at least autoconf-2.54.
+       (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
+       name to underscores for the --with option.
+
+2006-11-13  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
+       the tests directory.
+       Reported by Ralf Wildenhues.
+
+2006-11-13  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
+       (func_emit_initmacro_end): Undo the override here.
+       (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
+       Works around the famous automake error in coreutils.
+
+2006-11-13  Eric Blake  <ebb9@byu.net>
+
+       * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
+       element, not its node.
+
+2006-11-12  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
+       '$(top_srcdir)/build-aux/', taking into account the real auxdir.
+
+2006-11-12  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool: New option --local-symlink.
+       (func_usage): Document it.
+       (lsymbolic): New variable.
+       (func_import, func_create_testdir): If --symlink was not specified,
+       test whether --local-symlink was specified and the file comes from
+       the local_gnulib_dir.
+
+2006-11-12  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_ln): New function.
+       (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
+
+2006-11-12  Bruno Haible  <bruno@clisp.org>
+
+       Finish support for source files in subdirectories.
+       * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
+       are in subdirectories, set uses_subdirs and add 'subdir-objects' to
+       AUTOMAKE_OPTIONS.
+       (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
+
+2006-11-12  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_get_automake_snippet): Synthesize also an
+       EXTRA_lib_SOURCES augmentation.
+       (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
+
+2006-11-12  Jim Meyering  <jim@meyering.net>
+
+       Make fts (in FTS_CWDFD mode) more efficient by caching a few open
+       file descriptors.  This also averts a failure on systems with
+       native openat support when a traversed directory lacks "x" access.
+       * lib/fts_.h: Include "i-ring.h"
+       (struct FTS) [fts_fd_ring]: New member.
+       * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
+       (FCHDIR): Add parentheses.
+       (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
+       (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
+       When descending, rather than simply closing the previous
+       fts_cwd_fd value, push that file descriptor onto the ring.
+       (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
+       (fts_open): Initialize the new fd_ring member.
+       (fts_close): Clear the ring.
+       (fts_safe_changedir): When possible, use our new fd_ring to skip
+       the diropen and fstat and dev/ino comparison that would normally
+       accompany a virtual `chdir ("..")'.
+
+       * modules/fts (Depends-on): Add i-ring.
+       * modules/i-ring: New module.
+       * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
+       * m4/i-ring.m4: New file.
+
+2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gnulib-tool (func_create_testdir): Fix replacement of
+       `build-aux' in configure.ac.  Run autotools in gltests
+       subdirectory.
+       (func_create_testdir, func_create_megatestdir, test): There is
+       no need for '--force' in most autotool invocations in a new
+       tree.  Actually fail the whole test if any of the tools, or the
+       configure or make stages fail.
+
+       Sync from Automake.
+       * build-aux/gnupload: Revert last change.  Add pointer to upload
+       instructions of the GNU Maintenance Instructions.
+       Suggestion by Karl Berry.
+
+2006-11-10  Jim Meyering  <jim@meyering.net>
+
+       * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
+
+2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
+       (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
+       (bind_textdomain_codeset) [! ENABLE_NLS]:
+       Evaluate all the arguments.  That way, callers get compatible behavior
+       if the arguments have side effects.  Also, it avoids some GCC
+       diagnostics in some cases; Joel E. Denny reported problems when Bison
+       was configured with --enable-gcc-warnigs.
+
+2006-11-10  Jim Meyering  <jim@meyering.net>
+
+       * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
+       relevant options in CFLAGS (like -O, -fno-inline) are taken into
+       account.
+
+2006-11-10  Jim Meyering  <jim@meyering.net>
+
+       * modules/inline: New file/module.
+       * modules/xalloc (Files): Remove m4/inline.m4.
+       (Depends-on): Add inline, instead.
+       * modules/oset: Likewise.
+       * modules/list: Likewise.
+
+2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
+       Problem reported by Matthew Woehlke.
+
+2006-11-09  Bruno Haible  <bruno@clisp.org>
+
+       * lib/tempname.c (gen_tempname): Remove variant that invokes
+       __gen_tempname.
+       * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
+       __gen_tempname.
+
+2006-11-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
+       to 'yes' instead of 'cross-compiling'.
+
+2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lib/quotearg.h (quotearg_free): New decl.
+       * lib/quotearg.c (quotearg_free): New function.
+       (slot0, nslots, slotvec0, slotvec):
+       Now file-scope so that quotearg_free can get at them.
+
+2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       Sync from Automake.
+       * build-aux/gnupload: Add missing 'gnu' to example URL.
+       Report by Karl Berry.
+
+2006-11-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
+       Suggested by Paul Eggert.
+
+2006-11-08  Jim Meyering  <jim@meyering.net>
+
+       * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
+       It's already included if !_LIBC.
+       (fts_safe_changedir): Add a comment.
+
 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
 
        * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in