+2011-02-25 Eric Blake <eblake@redhat.com>
+
+ strstr: expand test coverage
+ * tests/test-strstr.c (main): Add much shorter trigger. Fix C89
+ compilation.
+ * tests/test-memmem.c (main): Duplicate tests.
+ * tests/test-strcasestr.c (main): Likewise.
+ * tests/test-c-strcasestr.c (main): Likewise.
+
+2011-02-25 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: detect missing-NL-at-EOF, too
+ * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
+ it also detects when a file lacks a newline at EOF.
+ (require_exactly_one_NL_at_EOF_): Renamed from
+ detect_empty_lines_at_EOF_. I opted not to rename the rule,
+ since people may well have .x-sc_... file names tied to the
+ existing name. Suggested by Eric Blake.
+
+2011-02-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ dirname: move m4/dos.m4 functionality into lib/dosname.h
+
+ m4/dos.m4 needs to go. It laboriously invokes the C compiler, and
+ extracts symbols from it, puts them into config.h; but it's much
+ easier to use the symbols directly. filename.h already does this,
+ but it disagrees with dos.m4 in some respects. This patch
+ introduces a different include file dosname.h that packages up
+ dos.m4, and then later we can work on merging filename.h and
+ dosname.h. Applications that need only the easy-to-configure
+ symbols should consider including dosname.h rather than dirname.h.
+ * NEWS: Mention incompatible changes.
+ * m4/dos.m4: Remove.
+ * lib/dosname.h, modules/dosname: New files.
+ * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
+ (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
+ (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
+ * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
+ Include dosname.h, not dirname.h.
+ * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
+ Include dosname.h, for definitions of symbols like ISSLASH
+ that used to be in config.h.
+ * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
+ * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
+ * m4/stat.m4 (gl_FUNC_STAT): Likewise.
+ * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
+ * modules/dirname-lgpl (Files): Omit m4/dos.m4.
+ * modules/rmdir (Files): Likewise.
+ * modules/stat (Files): Likewise.
+ * modules/unlink (Files): Likewise.
+ * modules/dirname-lgpl (Depends-on): Add dosname.
+ * modules/lstat (Depends-on): Likewise.
+ * modules/openat (Depends-on): Likewise.
+ * modules/rmdir (Depends-on): Likewise.
+ * modules/savewd (Depends-on): Likewise.
+ * modules/stat (Depends-on): Likewise.
+ * modules/unlink (Depends-on): Likewise.
+ * modules/openat (Depends-on): Remove dirname-lgpl.
+ * modules/savewd (Depends-on): Likewise.
+ * tests/test-dirname.c: Do not use removed symbols like
+ FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR. Instead, use
+ the remaining symbols, e.g., ISSLASH ('\\').
+
+2011-02-25 Eric Blake <eblake@redhat.com>
+
+ strstr: revert patches that introduced bug and pessimization
+ * lib/str-two-way.h: Add another reference.
+ (two_way_short_needle, two_way_long_needle): Revert changes from
+ 2011-02-24; they pessimize search speed.
+ (critical_factorization): Partially revert changes from
+ 2010-06-22; they violate the requirement that the left half of the
+ needle be smaller than the period of the needle.
+
+2011-02-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ filenamecat: remove unnecessary dependency on dirname-lgpl
+ * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
+ is no direct dependency, just an indirect one via filenamecat-lgpl.
+
+ remove: remove unnecessary use of m4/dos.m4
+ * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
+ * modules/remove (FILES): Remove m4/dos.m4.
+
+ * lib/openat-proc.c: Don't include dirname.h; not needed.
+
+ backupfile: remove unnecessary use of m4/dos.m4
+ * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
+ of its symbols are used by the backupfile code. backupfile.c does
+ use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
+ for the rare case of programs that want all their backup file
+ names to live within 8+3 limits, and dos.m4 doesn't address that.
+ * modules/backupfile (Files): Remove m4/dos.m4.
+
+2011-02-24 Jim Meyering <meyering@redhat.com>
+
+ strstr: fix a bug whereby strstr would mistakenly return NULL
+ * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
+ in period calculation.
+ (two_way_long_needle): Likewise.
+ The original problem was reported by Mike Stump in
+ http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
+ Ralf Wildenhues provided the short needle and haystack.
+ * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
+ Add a more involved test to trigger the bug in two_way_long_needle.
+
+2011-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
+
+ gnulib-tool: remove use of bold display in help screen
+ * gnulib-tool (func_usage): Do not use bold display anymore in the
+ help screen. That was just meant to be a temporary emphasis for a
+ backward-incompatible change.
+
+2011-02-23 Bruno Haible <bruno@clisp.org>
+
+ Fix misindentation of preprocessor directives.
+ * lib/argp-namefrob.h: Reindent preprocessor directives.
+ * lib/getopt_int.h (struct _getopt_data): Likewise.
+ * lib/progreloc.c (maybe_executable, find_executable): Likewise.
+ * lib/vasnprintf.c (decode_long_double): Likewise.
+ * tests/test-argmatch.c: Insert blank lines, for clarity.
+ * tests/test-exclude.c: Likewise.
+
+2011-02-22 Bruno Haible <bruno@clisp.org>
+
+ ioctl: Fix for MacOS X in 64-bit mode.
+ * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
+ value.
+ Suggested by Eric Blake.
+ Reported by Markus Gothe <nietzsche@lysator.liu.se>.
+
+2011-02-22 Jim Meyering <meyering@redhat.com>
+
+ maint: sc_cpp_indent_check: remove the "only in lib/" restriction
+ * Makefile (sc_cpp_indent_check): Don't limit the check to files
+ in lib/.
+
+2011-02-22 Eric Blake <eblake@redhat.com>
+
+ maint: avoid any CDPATH issue
+ * Makefile (sc_cpp_indent_check): Anchor cd argument.
+
+ maint: adjust cpp indentation for my modules, as well
+ * Makefile (sc_cpp_indent_check): Add my name.
+ * lib/fbufmode.c: Filter through cppi.
+ * lib/fpurge.c: Likewise.
+ * lib/freadable.c: Likewise.
+ * lib/freading.c: Likewise.
+ * lib/fwritable.c: Likewise.
+ * lib/fwriting.c: Likewise.
+ * lib/sigaction.c: Likewise.
+
+2011-02-22 Jim Meyering <meyering@redhat.com>
+
+ maint: adjust cpp indentation to reflect nesting depth
+ I.e., in a block of code that begins with an unnested "#if",
+ put one space between the "#" in column 1 and following token.
+ For example,
+ -#include <sys/vfs.h>
+ +# include <sys/vfs.h>
+ Do this only in .c files that are part of a module I maintain.
+ * lib/linkat.c: Filter through cppi.
+ * lib/nanosleep.c: Likewise.
+ * lib/openat.c: Likewise.
+ * lib/openat-die.c: Likewise.
+ * lib/dup3.c: Likewise.
+ * lib/fchownat.c: Likewise.
+ * lib/flock.c: Likewise.
+ * lib/fsync.c: Likewise.
+ * lib/fts.c: Likewise.
+ * lib/getpass.c: Likewise.
+ * lib/gettimeofday.c: Likewise.
+ * lib/userspec.c: Likewise.
+ * Makefile (sc_cpp_indent_check): New rule, to check this.
+
+2011-02-22 Bruno Haible <bruno@clisp.org>
+
+ New module 'wctomb'.
+ * lib/stdlib.in.h (wctomb): New declaration.
+ * lib/wctomb.c: New file.
+ * lib/wctomb-impl.h: New file.
+ * m4/wctomb.m4: New file.
+ * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
+ REPLACE_WCTOMB.
+ * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
+ REPLACE_WCTOMB.
+ * modules/wctomb: New file.
+ * tests/test-stdlib-c++.cc: Test signature of wctomb.
+ * doc/posix-functions/wctomb.texi: Mention the new module.
+ * modules/wctob (Depends-on): Add wctomb.
+
+2011-02-22 Bruno Haible <bruno@clisp.org>
+
+ New module 'mbtowc'.
+ * lib/stdlib.in.h (mbtowc): New declaration.
+ * lib/mbtowc.c: New file.
+ * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
+ * m4/mbtowc.m4: New file.
+ * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
+ REPLACE_MBTOWC.
+ * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
+ REPLACE_MBTOWC.
+ * modules/mbtowc: New file.
+ * tests/test-stdlib-c++.cc: Test signature of mbtowc.
+ * doc/posix-functions/mbtowc.texi: Mention the new module.
+ * modules/btowc (Depends-on): Add mbtowc.
+
+2011-02-22 Bruno Haible <bruno@clisp.org>
+
+ wcrtomb: Add more tests for native Windows platforms.
+ * tests/test-wcrtomb-w32-1.sh: New file.
+ * tests/test-wcrtomb-w32-2.sh: New file.
+ * tests/test-wcrtomb-w32-3.sh: New file.
+ * tests/test-wcrtomb-w32-4.sh: New file.
+ * tests/test-wcrtomb-w32-5.sh: New file.
+ * tests/test-wcrtomb-w32.c: New file.
+ * modules/wcrtomb-tests (Files): Add them.
+ (Makefile.am): Arrange to run these tests.
+ * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
+ * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
+
+2011-02-20 Bruno Haible <bruno@clisp.org>
+
+ wcrtomb: Enhance test.
+ * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
+
+2011-02-20 Bruno Haible <bruno@clisp.org>
+
+ mbrtowc: Tiny optimization.
+ * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
+
+2011-02-20 Jim Meyering <meyering@redhat.com>
+
+ test-exclude.c: remove unmatched #endif
+ * tests/test-exclude.c: Remove stray #endif, left over from
+ the change of a week ago.
+
+2011-02-19 Jim Meyering <meyering@redhat.com>
+
+ git-version-gen: skip "-dirty" check when appropriate
+ * build-aux/git-version-gen: Don't run any git commands when the
+ version string comes from .tarball-version. Prior to this, we
+ would run git update-index --refresh even from a just-unpacked
+ tarball directory, and that could affect a .git/ directory in a
+ parent of the build directory. Reported by Mike Frysinger.
+
+2011-02-19 Bruno Haible <bruno@clisp.org>
+
+ unictype/property-byname: Reduce the size of the 'data' segment.
+ * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
+
+2011-02-19 Bruno Haible <bruno@clisp.org>
+
+ unictype/scripts: Reduce the size of the 'data' segment.
+ * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
+ '%pic'.
+ * lib/unictype/scripts_byname.gperf: Regenerated.
+
+2011-02-19 Bruno Haible <bruno@clisp.org>
+
+ stdint: Update documentation.
+ * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
+
+2011-02-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdint: omit redundant check for wchar.h
+ * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
+ always tests whether wchar.h exists, so remove the now-redundant test.
+
+2011-02-18 Bruno Haible <bruno@clisp.org>
+
+ stdint: Cut dependency to module 'wchar'.
+ * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
+ include the necessary prerequisites.
+ * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
+ * modules/stdint (Depends-on): Remove wchar.
+ (Makefile.am): Substitute HAVE_WCHAR_H.
+ This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
+
+2011-02-18 Eric Blake <eblake@redhat.com>
+
+ longlong: skip, rather than fail, on cross-compilation
+ * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
+ when cross-compiling; regression from 2011-02-16.
+
+2011-02-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Mention 2011-02-08 change to stdlib.
+
+2011-02-17 Bruno Haible <bruno@clisp.org>
+
+ getloadavg: Add comments about platforms.
+ * m4/getloadavg.m4: Add comment.
+ * lib/getloadavg.c: Likewise.
+
+2011-02-17 Bruno Haible <bruno@clisp.org>
+
+ getloadavg: Fix link error on Solaris 2.6.
+ * modules/getloadavg (Link): New section.
+ * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
+ linking test-getloadavg.
+ * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
+ getloadavg.
+
+2011-02-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
+ It was 'int', but this doesn't match the IRIX 6.5 manual.
+ Suggested by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
+
+2011-02-17 Bruno Haible <bruno@clisp.org>
+
+ havelib: Fix comments.
+ * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
+ change.
+
+2011-02-17 Bruno Haible <bruno@clisp.org>
+
+ havelib: Update config.rpath.
+ * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
+
+2011-02-17 Bruno Haible <bruno@clisp.org>
+
+ getloadavg test: Add some plausibility checks.
+ * tests/test-getloadavg.c (check_avg): Print a warning when the value
+ is improbable.
+
+2011-02-16 Eric Blake <eblake@redhat.com>
+
+ maintainer-makefile: make syntax-check a no-op from tarballs
+ * top/maint.mk (no-vc-detected): New rule.
+ (local-checks-available): Use it to avoid hanging if someone tries
+ 'make syntax-check' from a tarball. Also append to any non-syntax
+ checks already defined in cfg.mk.
+
+2011-02-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ longlong: tune, particularly for common case of c99
+
+ * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
+ or running anything if c99, or if unsigned long long int does not
+ work. In either case, we know the answer without further tests.
+ Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice. Instead, compile
+ it at most once, and use its results for both long long int and
+ unsigned long long int. This is more likely to be efficient in
+ the common case where the program wants to check for both long
+ long int and unsigned long long int.
+ (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
+ since the answer is already known.
+
+2011-02-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ getloadavg: set errno
+ * lib/getloadavg.c: Set errno when returning -1. If no other
+ error number looks appropriate, set it to ENOSYS if the getloadavg
+ looks like it can't possibly ever work, ENOTSUP otherwise.
+ Suggested by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
+
+ getloadavg: trim unused parts and speed up 'configure'
+ * NEWS: Document this.
+ * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
+ always compiled if getloadavg is absent.
+ Move test code to ...
+ * tests/test-getloadavg.c: New file, containing previous
+ contents of test from lib/getloadavg.c. It also contains
+ suggestions by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
+ * modules/getloadavg-tests: New file.
+ * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
+ Do tests in the same order as they're needed for getloadavg.c.
+ Omit setgid-related tests that generate symbols KMEM_GROUP,
+ NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
+ Do only the tests that are needed to see whether the system has
+ getloadavg, moving the other tests into ...
+ (gl_PREREQ_GETLOADAVG): ... here. Do not define obsolete symbol
+ NLIST_NAME_UNION; nobody should be using it. Do not define
+ symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
+ relevant, as the user of this module shouldn't care how getloadavg
+ is implemented.
+
+ getloadavg: omit unused var
+ * lib/getloadavg.c (getloadavg): Omit unused local variable.
+
+2011-02-15 Jim Meyering <meyering@redhat.com>
+
+ doc: update users.txt
+ * users.txt: Update iwhd's URL.
+
+2011-02-13 Bruno Haible <bruno@clisp.org>
+
+ Consistent macro naming for macros that use GCC __attribute__.
+ * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
+ _ATTRIBUTE_NONNULL_.
+ * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
+ * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
+ * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
+ ATTRIBUTE_DEPRECATED.
+ * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
+ ATTRIBUTE_NORETURN.
+ * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+ * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+ * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+ * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+ (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
+ (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
+ * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
+ ATTRIBUTE_SENTINEL.
+ * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
+ ATTRIBUTE_RETURN_CHECK.
+ * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
+ * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
+ ATTRIBUTE_NORETURN.
+ * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
+ Reported by Paul Eggert.
+
2011-02-13 Bruno Haible <bruno@clisp.org>
Don't interfere with a program's definition of __attribute__.